:root{--react-pdf-annotation-layer: 1;--annotation-unfocused-field-background: url("data:image/svg+xml;charset=UTF-8,<svg width='1px' height='1px' xmlns='http://www.w3.org/2000/svg'><rect width='100%' height='100%' style='fill:rgba(0, 54, 255, 0.13);'/></svg>");--input-focus-border-color: Highlight;--input-focus-outline: 1px solid Canvas;--input-unfocused-border-color: transparent;--input-disabled-border-color: transparent;--input-hover-border-color: black;--link-outline: none}@media screen and (forced-colors:active){:root{--input-focus-border-color: CanvasText;--input-unfocused-border-color: ActiveText;--input-disabled-border-color: GrayText;--input-hover-border-color: Highlight;--link-outline: 1.5px solid LinkText}.annotationLayer .textWidgetAnnotation :is(input,textarea):required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:required{outline:1.5px solid selectedItem}.annotationLayer .linkAnnotation:hover{-webkit-backdrop-filter:invert(100%);backdrop-filter:invert(100%)}}.annotationLayer{position:absolute;top:0;left:0;pointer-events:none;transform-origin:0 0;z-index:3}.annotationLayer[data-main-rotation="90"] .norotate{transform:rotate(270deg) translate(-100%)}.annotationLayer[data-main-rotation="180"] .norotate{transform:rotate(180deg) translate(-100%,-100%)}.annotationLayer[data-main-rotation="270"] .norotate{transform:rotate(90deg) translateY(-100%)}.annotationLayer canvas{position:absolute;width:100%;height:100%}.annotationLayer section{position:absolute;text-align:initial;pointer-events:auto;box-sizing:border-box;margin:0;transform-origin:0 0}.annotationLayer .linkAnnotation{outline:var(--link-outline)}.textLayer.selecting~.annotationLayer section{pointer-events:none}.annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton)>a{position:absolute;font-size:1em;top:0;left:0;width:100%;height:100%}.annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton)>a:hover{opacity:.2;background:#ff0;box-shadow:0 2px 10px #ff0}.annotationLayer .textAnnotation img{position:absolute;cursor:pointer;width:100%;height:100%;top:0;left:0}.annotationLayer .textWidgetAnnotation :is(input,textarea),.annotationLayer .choiceWidgetAnnotation select,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input{background-image:var(--annotation-unfocused-field-background);border:2px solid var(--input-unfocused-border-color);box-sizing:border-box;font:calc(9px * var(--total-scale-factor)) sans-serif;height:100%;margin:0;vertical-align:top;width:100%}.annotationLayer .textWidgetAnnotation :is(input,textarea):required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:required{outline:1.5px solid red}.annotationLayer .choiceWidgetAnnotation select option{padding:0}.annotationLayer .buttonWidgetAnnotation.radioButton input{border-radius:50%}.annotationLayer .textWidgetAnnotation textarea{resize:none}.annotationLayer .textWidgetAnnotation :is(input,textarea)[disabled],.annotationLayer .choiceWidgetAnnotation select[disabled],.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input[disabled]{background:none;border:2px solid var(--input-disabled-border-color);cursor:not-allowed}.annotationLayer .textWidgetAnnotation :is(input,textarea):hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:hover{border:2px solid var(--input-hover-border-color)}.annotationLayer .textWidgetAnnotation :is(input,textarea):hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .buttonWidgetAnnotation.checkBox input:hover{border-radius:2px}.annotationLayer .textWidgetAnnotation :is(input,textarea):focus,.annotationLayer .choiceWidgetAnnotation select:focus{background:none;border:2px solid var(--input-focus-border-color);border-radius:2px;outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) :focus{background-image:none;background-color:transparent}.annotationLayer .buttonWidgetAnnotation.checkBox :focus{border:2px solid var(--input-focus-border-color);border-radius:2px;outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation.radioButton :focus{border:2px solid var(--input-focus-border-color);outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after,.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{background-color:CanvasText;content:"";display:block;position:absolute}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{height:80%;left:45%;width:1px}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before{transform:rotate(45deg)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{transform:rotate(-45deg)}.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{border-radius:50%;height:50%;left:30%;top:20%;width:50%}.annotationLayer .textWidgetAnnotation input.comb{font-family:monospace;padding-left:2px;padding-right:0}.annotationLayer .textWidgetAnnotation input.comb:focus{width:103%}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input{-webkit-appearance:none;-moz-appearance:none;appearance:none}.annotationLayer .popupTriggerArea{height:100%;width:100%}.annotationLayer .fileAttachmentAnnotation .popupTriggerArea{position:absolute}.annotationLayer .popupWrapper{position:absolute;font-size:calc(9px * var(--total-scale-factor));width:100%;min-width:calc(180px * var(--total-scale-factor));pointer-events:none}.annotationLayer .popup{position:absolute;max-width:calc(180px * var(--total-scale-factor));background-color:#ff9;box-shadow:0 calc(2px * var(--total-scale-factor)) calc(5px * var(--total-scale-factor)) #888;border-radius:calc(2px * var(--total-scale-factor));padding:calc(6px * var(--total-scale-factor));margin-left:calc(5px * var(--total-scale-factor));cursor:pointer;font:message-box;white-space:normal;word-wrap:break-word;pointer-events:auto}.annotationLayer .popup>*{font-size:calc(9px * var(--total-scale-factor))}.annotationLayer .popup h1{display:inline-block}.annotationLayer .popupDate{display:inline-block;margin-left:calc(5px * var(--total-scale-factor))}.annotationLayer .popupContent{border-top:1px solid rgba(51,51,51,1);margin-top:calc(2px * var(--total-scale-factor));padding-top:calc(2px * var(--total-scale-factor))}.annotationLayer .richText>*{white-space:pre-wrap;font-size:calc(9px * var(--total-scale-factor))}.annotationLayer .highlightAnnotation,.annotationLayer .underlineAnnotation,.annotationLayer .squigglyAnnotation,.annotationLayer .strikeoutAnnotation,.annotationLayer .freeTextAnnotation,.annotationLayer .lineAnnotation svg line,.annotationLayer .squareAnnotation svg rect,.annotationLayer .circleAnnotation svg ellipse,.annotationLayer .polylineAnnotation svg polyline,.annotationLayer .polygonAnnotation svg polygon,.annotationLayer .caretAnnotation,.annotationLayer .inkAnnotation svg polyline,.annotationLayer .stampAnnotation,.annotationLayer .fileAttachmentAnnotation{cursor:pointer}.annotationLayer section svg{position:absolute;width:100%;height:100%;top:0;left:0}.annotationLayer .annotationTextContent{position:absolute;width:100%;height:100%;opacity:0;color:transparent;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none}.annotationLayer .annotationTextContent span{width:100%;display:inline-block}:root{--react-pdf-text-layer: 1;--highlight-bg-color: rgba(180, 0, 170, 1);--highlight-selected-bg-color: rgba(0, 100, 0, 1)}@media screen and (forced-colors:active){:root{--highlight-bg-color: Highlight;--highlight-selected-bg-color: ButtonText}}[data-main-rotation="90"]{transform:rotate(90deg) translateY(-100%)}[data-main-rotation="180"]{transform:rotate(180deg) translate(-100%,-100%)}[data-main-rotation="270"]{transform:rotate(270deg) translate(-100%)}.textLayer{position:absolute;text-align:initial;top:0;right:0;bottom:0;left:0;overflow:hidden;line-height:1;-webkit-text-size-adjust:none;-moz-text-size-adjust:none;text-size-adjust:none;forced-color-adjust:none;transform-origin:0 0;z-index:2}.textLayer :is(span,br){color:transparent;position:absolute;white-space:pre;cursor:text;margin:0;transform-origin:0 0}.textLayer span.markedContent{top:0;height:0}.textLayer .highlight{margin:-1px;padding:1px;background-color:var(--highlight-bg-color);border-radius:4px}.textLayer .highlight.appended{position:initial}.textLayer .highlight.begin{border-radius:4px 0 0 4px}.textLayer .highlight.end{border-radius:0 4px 4px 0}.textLayer .highlight.middle{border-radius:0}.textLayer .highlight.selected{background-color:var(--highlight-selected-bg-color)}.textLayer br::-moz-selection{background:transparent}.textLayer br::selection{background:transparent}.textLayer .endOfContent{display:block;position:absolute;top:100%;right:0;bottom:0;left:0;z-index:-1;cursor:default;-webkit-user-select:none;-moz-user-select:none;user-select:none}.textLayer.selecting .endOfContent{top:0}.hiddenCanvasElement{position:absolute;top:0;left:0;width:0;height:0;display:none}:root{color-scheme:light;font-family:Segoe UI,Aptos,system-ui,sans-serif;line-height:1.6;font-weight:400;color:#1f2328;background:#fafafa;--paper: #ffffff;--paper-soft: #ffffff;--paper-strong: #ffffff;--app-bg: #fafafa;--hover: #f4f4f5;--selected: #e4e4e7;--line: rgba(0, 0, 0, .08);--line-strong: rgba(0, 0, 0, .14);--divider: rgba(0, 0, 0, .05);--text: #1f2328;--text-soft: #52525b;--text-faint: #a1a1aa;--accent: #1f2328;--accent-soft: #52525b;--highlight: #fef3c7;--highlight-text: #b45309;--danger: #e03e3e;--danger-bg: #fbe4e4;--shadow: 0 4px 16px rgba(0, 0, 0, .08);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .06)}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;min-width:320px;min-height:100vh}a{color:var(--accent)}button,input,textarea,select{font:inherit}button{cursor:pointer}input,textarea,select{width:100%;border:1px solid var(--line-strong);border-radius:6px;padding:7px 10px;color:var(--text);background:var(--paper);font-size:.875rem;transition:border-color .12s ease,box-shadow .12s ease}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--text-faint);box-shadow:0 0 0 2px #37352f14}textarea{resize:vertical}.app-loading{min-height:100vh;display:grid;place-items:center;color:var(--text-soft)}.button{border:0;border-radius:6px;padding:0 .75rem;height:2rem;font-weight:500;font-size:.875rem;display:inline-flex;align-items:center;gap:.4rem;transition:background .12s ease,color .12s ease,opacity .12s ease}.button:disabled{opacity:.45;cursor:not-allowed}.button.primary{background:var(--text);color:#fff}.button.primary:hover{background:#111110}.button.ghost{background:transparent;color:var(--text-soft);border:1px solid var(--line-strong)}.button.ghost:hover,.button.subtle{background:var(--hover);color:var(--text)}.button.subtle:hover{background:var(--selected)}.button.danger{background:var(--danger-bg);color:var(--danger)}.eyebrow{margin:0;text-transform:uppercase;letter-spacing:.1em;font-size:.72rem;font-weight:600;color:var(--text-faint)}.muted{color:var(--text-soft)}.form-error{color:var(--danger)}.toast-stack{position:fixed;left:50%;bottom:1.25rem;transform:translate(-50%);z-index:80;display:flex;flex-direction:column;align-items:center;gap:.5rem;width:-moz-max-content;width:max-content;max-width:min(30rem,calc(100vw - 2rem));pointer-events:none}.toast{pointer-events:auto;width:100%;display:flex;align-items:flex-start;gap:.5rem;padding:.6rem .5rem .6rem .8rem;border-radius:8px;background:var(--text);color:var(--paper);font-size:.875rem;line-height:1.4;box-shadow:var(--shadow);animation:toast-in .16s ease-out}.toast__icon{flex:none;margin-top:.15rem;color:#f6a5a5}.toast__message{flex:1;overflow-wrap:anywhere}.toast__close{flex:none;display:inline-flex;padding:.15rem;margin:-.1rem 0 0;border:0;border-radius:4px;background:transparent;color:inherit;opacity:.65;cursor:pointer}.toast__close:hover,.toast__close:focus-visible{opacity:1;background:#ffffff1f;outline:none}@keyframes toast-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.toast{animation:none}}.panel{padding:1rem;border-radius:8px;border:1px solid var(--line);background:var(--paper)}.auth-page{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(380px,.9fr);gap:1.5rem;padding:1.25rem}.auth-preview-shell,.auth-entry-shell{border-radius:12px;border:1px solid var(--line);background:var(--paper);box-shadow:var(--shadow)}.auth-preview-shell{padding:1.25rem;display:grid;gap:.9rem;align-content:start;background:var(--app-bg)}.auth-brand{display:inline-flex;align-items:center;gap:.7rem;width:-moz-fit-content;width:fit-content;text-decoration:none;color:inherit}.auth-brand__mark{width:2rem;height:2rem;display:grid;place-items:center;border-radius:7px;background:var(--text);color:#fff}.auth-brand__text strong{display:block;font-size:.97rem}.auth-brand__text span{font-size:.8rem;color:var(--text-faint)}.auth-preview-page{overflow:hidden;border-radius:8px;border:1px solid var(--line);background:var(--paper)}.auth-preview-page__cover{height:96px;background:var(--selected)}.auth-preview-page__body{padding:1.1rem}.auth-preview-page__body h1{margin:.3rem 0 .55rem;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:clamp(1.9rem,4vw,3.1rem);line-height:.96;letter-spacing:-.04em;max-width:11ch}.auth-preview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;margin:1rem 0}.auth-preview-card{padding:.75rem;border-radius:6px;border:1px solid var(--line);background:var(--paper)}.auth-preview-card__label{display:inline-flex;align-items:center;gap:.3rem;margin-bottom:.35rem;color:var(--text-faint);font-size:.76rem}.auth-preview-card strong{display:block;margin-bottom:.12rem;font-size:.93rem}.auth-preview-card span{color:var(--text-soft);font-size:.85rem}.auth-preview-table{border-top:1px solid var(--line);margin-top:.65rem;padding-top:.65rem}.auth-preview-table__header,.auth-preview-table__row{display:grid;grid-template-columns:minmax(0,1.6fr) .8fr .8fr;gap:.7rem;padding:.45rem 0;font-size:.88rem}.auth-preview-table__header{color:var(--text-faint);text-transform:uppercase;letter-spacing:.08em;font-size:.7rem}.auth-preview-table__row{border-top:1px solid rgba(54,60,53,.06)}.auth-entry-shell{display:grid;place-items:center;padding:1.5rem;background:var(--app-bg)}.auth-entry-card{width:min(100%,26rem);padding:1.5rem;border-radius:8px;border:1px solid var(--line);background:var(--paper);box-shadow:var(--shadow)}.auth-page--access{grid-template-columns:minmax(18rem,.7fr) minmax(380px,1fr)}.auth-access-preview{min-height:calc(100vh - 2.5rem)}.auth-access-preview__message{align-self:center;display:grid;gap:.5rem;max-width:24rem;padding:1rem}.auth-access-preview__mark{width:3rem;height:3rem;display:grid;place-items:center;margin-bottom:.3rem;border-radius:8px;border:1px solid var(--line);background:var(--paper)}.auth-access-preview__message strong{font-size:1.2rem}.auth-access-preview__message span,.auth-form__hint{color:var(--text-soft);font-size:.84rem;font-weight:400}.auth-access-status{display:grid;gap:.3rem;color:var(--text-soft)}.auth-access-status strong{color:var(--text)}.auth-access-actions{display:flex;flex-wrap:wrap;gap:.55rem}.auth-invitation-list,.auth-invitation{display:grid;gap:.65rem}.auth-invitation{padding:.9rem;border:1px solid var(--line);border-radius:8px;background:var(--paper)}.auth-invitation span{color:var(--text-soft);font-size:.84rem}.auth-switch--forgot{margin-top:.65rem}.auth-switch--standalone{margin-top:0}.auth-panel__header{margin-bottom:1.1rem}.auth-panel__header h2{margin:.3rem 0 .28rem;font-size:1.75rem}.auth-form,.inline-form,.stack{display:grid;gap:.85rem}.auth-form label,.inline-form label{display:grid;gap:.28rem;font-weight:600;font-size:.86rem;color:var(--text)}.auth-form__submit{margin-top:.2rem}.auth-switch{margin-top:.9rem;color:var(--text-soft);font-size:.91rem}.app-shell{display:grid;grid-template-columns:232px 1fr;min-height:100vh}.sidebar{padding:10px 8px 8px;border-right:1px solid var(--line);background:var(--app-bg);display:flex;flex-direction:column;gap:2px;position:sticky;top:0;height:100vh;overflow-y:auto}.sidebar__brand{display:flex;align-items:center;gap:.55rem;padding:.2rem .5rem .7rem}.sidebar__brand-mark{width:1.5rem;height:1.5rem;flex:0 0 auto;display:grid;place-items:center;border-radius:6px;background:var(--text);color:#fff}.sidebar__brand strong{display:block;font-size:.92rem;letter-spacing:-.01em}.nav-list{display:grid;gap:1px;padding:0 0 4px}.sidebar__label{margin:.5rem 0 .2rem .55rem;color:var(--text-faint);text-transform:uppercase;letter-spacing:.08em;font-size:.66rem;font-weight:600}.nav-link{position:relative;display:inline-flex;align-items:center;gap:.55rem;padding:5px 10px 5px 12px;border-radius:5px;text-decoration:none;color:var(--text-soft);font-weight:400;font-size:.875rem;width:100%;border:0;background:transparent;transition:background .1s ease,color .1s ease}.nav-link svg{color:var(--text-faint);transition:color .1s ease;flex:0 0 auto}.nav-link:hover:not(.active){background:var(--hover);color:var(--text)}.nav-link:hover:not(.active) svg{color:var(--text-soft)}.nav-link.active{background:var(--hover);color:var(--text);font-weight:500}.nav-link.active:before{content:"";position:absolute;left:3px;top:6px;bottom:6px;width:2px;border-radius:2px;background:var(--text)}.nav-link.active svg{color:var(--text)}.nav-link__label{min-width:0}.nav-link__badge{min-width:1.25rem;margin-left:auto;padding:.05rem .35rem;border-radius:999px;background:var(--danger);color:var(--paper);font-size:.66rem;font-weight:700;line-height:1.25rem;text-align:center}.sidebar__profile{margin-top:auto;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.55rem;align-items:center;padding:.55rem .5rem;border-top:1px solid var(--line)}.sidebar__avatar{width:1.75rem;height:1.75rem;flex:0 0 auto;border-radius:50%;display:grid;place-items:center;background:var(--selected);color:var(--text);font-weight:600;font-size:.74rem}.sidebar__profile-meta{min-width:0;display:grid;gap:1px}.sidebar__name{font-size:.84rem;font-weight:600;line-height:1.25;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar__role-line{display:inline-flex;align-items:center;gap:.25rem;font-size:.72rem;color:var(--text-faint);line-height:1.2}.sidebar__signout{flex:0 0 auto;display:grid;place-items:center;width:1.75rem;height:1.75rem;padding:0;border-radius:5px;border:0;background:transparent;color:var(--text-faint);cursor:pointer;transition:background .1s ease,color .1s ease}.sidebar__signout:hover{background:var(--hover);color:var(--text)}.sidebar__language{padding:.4rem .5rem .3rem;border-top:1px solid var(--line)}.sidebar__language-error{margin-top:.3rem;font-size:.7rem;color:var(--danger)}.language-picker{display:grid;gap:.3rem}.language-picker__label{display:inline-flex;align-items:center;gap:.3rem;font-size:.74rem;color:var(--text-faint)}.language-picker__trigger--compact{width:100%;font-size:.78rem;padding:.32rem .5rem;background:transparent}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:1rem;padding:.6rem 1.5rem;border-bottom:1px solid var(--line);background:var(--paper)}.topbar__workspace{font-size:.8rem;color:var(--text-faint);font-weight:500;letter-spacing:.01em}.topbar__pill{display:inline-flex;align-items:center;gap:.4rem;padding:2px 10px;border-radius:999px;background:var(--hover);color:var(--text);font-size:.78rem;font-weight:500}.topbar__brand{display:flex;align-items:center;gap:.5rem}.topbar__brand-mark{width:1.6rem!important;height:1.6rem!important;border-radius:9px!important}.topbar__name{font-weight:700;font-size:.92rem}.topbar__actions{display:flex;align-items:center;gap:.55rem;margin-left:auto}.topbar__avatar{width:2.35rem!important;height:2.35rem!important}.main-content{padding:2.5rem 4rem 3rem}.page{display:grid;gap:1.4rem;max-width:1120px;margin:0 auto;width:100%}.page--reading{max-width:760px}.app-shell>div:has(>.main-content>.page--full){display:flex;flex-direction:column;height:100vh;min-height:0}.main-content:has(>.page--full){flex:1;min-height:0;display:flex;flex-direction:column;padding:0}.page--full{flex:1;min-height:0;max-width:none;display:flex;flex-direction:column;gap:0}.schedule-page__error{margin:.75rem 1rem 0}.summary-strip{display:grid;gap:.85rem;grid-template-columns:repeat(4,minmax(0,1fr))}.summary-chip{padding:.75rem 1rem;border-radius:8px;border:1px solid var(--line);background:var(--paper);display:flex;align-items:center;gap:.5rem;color:var(--text-soft);font-size:.875rem}.summary-chip strong{color:var(--text)}.overview-grid{display:grid;gap:.65rem;grid-template-columns:repeat(3,minmax(0,1fr))}.overview-card{padding:.8rem .9rem;border-radius:11px;border:1px solid var(--line);background:#ffffff94}.overview-card__label{display:inline-flex;align-items:center;gap:.3rem;margin-bottom:.35rem;font-size:.76rem;color:var(--text-faint)}.overview-card strong{display:block;margin-bottom:.2rem;font-size:.95rem}.overview-card p{margin:0;color:var(--text-soft);font-size:.85rem}.page-callout{display:grid;grid-template-columns:auto 1fr;gap:.875rem;padding:.875rem 1rem;border-radius:6px;background:var(--highlight);border-left:3px solid var(--highlight-text)}.page-callout__icon{width:1.75rem;height:1.75rem;display:grid;place-items:center;border-radius:4px;background:#c57b1e26;color:var(--highlight-text);flex:0 0 auto}.page-callout__content{display:grid;gap:.75rem}.page-section{display:grid;gap:1rem}.section-title h3,.section-title h4{margin:0}.section-title p{margin:.25rem 0 0;color:var(--text-soft)}.path-board{gap:.5rem}.path-composer{padding-bottom:.75rem;border-bottom:1px solid var(--line)}.composer__trigger{display:inline-flex;align-items:center;gap:.4rem;height:2rem;padding:0 .75rem;margin:0;border:1px solid var(--line-strong);border-radius:6px;background:var(--paper);color:var(--text);font:inherit;font-size:.875rem;font-weight:500;line-height:1;box-shadow:var(--shadow-sm);transition:background .1s ease,border-color .1s ease}.composer__trigger:hover:not(:disabled){background:var(--hover);border-color:var(--text-faint)}.composer__trigger:disabled{opacity:.5;cursor:not-allowed}.composer{display:grid;gap:.25rem;width:100%;padding:.8rem 1rem .7rem;background:var(--paper);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow-sm);transition:border-color .12s ease}.composer:focus-within{border-color:var(--line-strong)}.composer__field{width:100%;margin:0;padding:.15rem 0;border:0;border-radius:0;background:transparent;color:var(--text);font:inherit;line-height:1.45;box-shadow:none}.composer__field:focus{outline:none;border:0;box-shadow:none}.composer__field::-moz-placeholder{color:var(--text-faint)}.composer__field::placeholder{color:var(--text-faint)}.composer__field--title{font-size:1.05rem;font-weight:600}.composer__field--secondary{font-size:.9rem;color:var(--text-soft)}textarea.composer__field{resize:none;min-height:2.6rem;field-sizing:content}.composer__note{margin:.15rem 0 0;font-size:.8rem;color:var(--text-soft)}.composer__note--error{color:var(--danger)}.composer__actions{display:flex;justify-content:flex-end;align-items:center;gap:.35rem;margin-top:.45rem}.composer__actions .button{height:1.75rem;padding:0 .7rem;font-size:.8125rem}.composer__actions .button.ghost{border-color:transparent}.composer__actions .button.ghost:hover:not(:disabled){background:var(--hover)}.composer__actions .button.primary:disabled{opacity:1;background:var(--hover);color:var(--text-faint)}.class-list{display:grid;gap:0}.class-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.75rem;align-items:start;padding:.7rem .5rem;margin:0 -.5rem;border-radius:4px;border-bottom:1px solid var(--line);background:transparent;color:inherit;text-decoration:none;transition:background .1s ease}.class-row:last-child{border-bottom:none}.class-row:hover{background:var(--hover)}.class-row__icon{width:1.5rem;height:1.5rem;display:grid;place-items:center;color:var(--text-faint);margin-top:1px}.class-row__content{min-width:0;display:grid;gap:.18rem}.class-row__title{margin:0;font-size:.98rem;font-weight:600;color:var(--text)}.class-row__description{margin:0;color:var(--text-soft);font-size:.88rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.class-row__meta{margin:.1rem 0 0;display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;color:var(--text-faint);font-size:.78rem}.class-row__arrow{color:var(--text-faint);margin-top:4px;opacity:0;transition:opacity .1s ease}.class-row:hover .class-row__arrow{opacity:1}.workspace-layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(300px,.78fr);gap:1.25rem}.workspace-main,.workspace-rail{display:grid;gap:1rem;align-content:start}.page-section-block,.page-inline-panel{padding:1rem;border-radius:8px;border:1px solid var(--line);background:var(--paper)}.page-inline-panel{background:var(--paper)}.resource-library{gap:.95rem}.resource-library__header{display:flex;justify-content:space-between;gap:1rem;align-items:end}.resource-library__summary{text-align:right;color:var(--text-soft)}.resource-library__summary strong{display:block;font-size:1.2rem;color:var(--text)}.resource-library__controls{display:grid;gap:.65rem}.resource-filter-row{display:flex;flex-wrap:wrap;gap:.38rem}.resource-filter{border:1px solid var(--line-strong);border-radius:6px;padding:3px 10px;background:var(--paper);color:var(--text-soft);font-weight:400;font-size:.875rem;cursor:pointer;transition:background .1s ease}.resource-filter.active{background:var(--text);border-color:var(--text);color:#fff}.resource-search{display:flex!important;align-items:center;gap:.48rem;border:1px solid var(--line);border-radius:8px;background:#ffffff9e;padding:0 .72rem}.resource-search input{border:0;background:transparent;box-shadow:none;padding-left:0}.resource-library__empty{padding:.8rem 0;border-top:1px solid var(--line)}.resource-library__empty h4{margin:0 0 .25rem;font-size:.92rem}.resource-library__empty p{margin:0;color:var(--text-soft);font-size:.85rem}.resource-kind-list{display:grid;gap:1.15rem}.resource-kind-section{display:grid;gap:.8rem;padding-top:.85rem;border-top:1px solid var(--line)}.resource-kind-section:first-child{padding-top:0;border-top:0}.resource-kind-section__header{display:flex;justify-content:space-between;gap:1rem;align-items:center}.resource-kind-section__title{display:flex;gap:.6rem;align-items:start}.resource-kind-section__title h4{margin:0;font-size:.92rem}.resource-kind-section__title p{margin:.1rem 0 0;color:var(--text-soft);font-size:.83rem}.resource-kind-section__icon{width:1.75rem;height:1.75rem;display:grid;place-items:center;border-radius:6px;background:var(--selected);color:var(--text-soft)}.resource-kind-section__count{color:var(--text-faint);font-size:.83rem}.resource-kind-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.resource-card{display:grid;gap:.75rem;padding:.875rem;border-radius:8px;border:1px solid var(--line);background:var(--paper)}.resource-card--quote{background:var(--highlight);border-color:var(--line)}.resource-card__top{display:flex;justify-content:space-between;gap:.65rem}.resource-card__title h5{margin:.28rem 0 0;font-size:.92rem}.resource-card__badge{display:inline-flex;align-items:center;gap:.28rem;color:var(--text-faint);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}.resource-card__delete{width:1.75rem;height:1.75rem;flex:0 0 auto;display:grid;place-items:center;border:0;border-radius:6px;background:var(--danger-bg);color:var(--danger);cursor:pointer;transition:background .1s ease}.resource-card__delete:hover{background:#e03e3e33}.resource-card__description{margin:0;color:var(--text-soft);font-size:.85rem}.resource-card__quote{margin:0;padding:.75rem .875rem;border-radius:4px;background:#c57b1e1a;border-left:3px solid var(--highlight-text);color:var(--text);font-size:.9rem;line-height:1.6}.resource-card__video-frame{position:relative;width:100%;padding-top:56.25%;overflow:hidden;border-radius:9px;background:#ddd8cb}.resource-card__video-frame iframe{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:0}.resource-card__video-placeholder,.resource-card__file,.resource-card__link-preview{display:flex;gap:.6rem;align-items:center;padding:.7rem .8rem;border-radius:9px;background:#363c350a}.resource-card__file-extension{min-width:2.9rem;padding:.32rem .48rem;border-radius:7px;background:#4954491a;color:var(--accent);text-align:center;font-size:.76rem;font-weight:700}.resource-card__file p,.resource-card__link-preview p{margin:.1rem 0 0;color:var(--text-soft);font-size:.83rem;word-break:break-word}.resource-card__footer{display:flex;justify-content:space-between;gap:.6rem;align-items:center;color:var(--text-faint);font-size:.78rem}.resource-card__action{display:inline-flex;align-items:center;gap:.26rem;text-decoration:none}.lesson-sheet{padding:1rem;border-radius:8px;border:1px solid var(--line);background:var(--paper);display:grid;gap:.875rem}.status-pill{display:inline-flex;align-items:center;gap:.3rem;padding:2px 10px;border-radius:999px;background:var(--hover);color:var(--text);font-size:.75rem;font-weight:500;white-space:nowrap}.status-pill--muted{background:var(--hover);color:var(--text-faint)}.path-appointments{display:grid;gap:.6rem;padding:.85rem 0 .4rem}.path-appointments__head{display:flex;justify-content:space-between;align-items:center;gap:.6rem}.path-appointments__head h3{margin:0;font-size:.85rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-faint)}.path-appointments__list{list-style:none;margin:0;padding:0;display:grid;gap:.4rem}.path-appointments__past{margin-top:.4rem}.path-appointments__past summary{cursor:pointer;color:var(--text-faint);font-size:.8rem;padding:.2rem 0}.path-appointments__past[open] summary{margin-bottom:.4rem}.path-appointment{display:grid;grid-template-columns:minmax(11rem,auto) 1fr auto auto;align-items:center;gap:.6rem;padding:.55rem .75rem;border:1px solid var(--border);border-radius:8px;background:var(--surface);font-size:.85rem}.path-appointment.is-cancelled{opacity:.55;text-decoration:line-through;text-decoration-color:var(--text-faint)}.path-appointment__when{display:inline-flex;align-items:center;gap:.35rem;color:var(--text)}.path-appointment__lesson{font-weight:500;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.path-appointment__meta{display:inline-flex;align-items:center;gap:.4rem}.path-appointment__actions{display:inline-flex;gap:.3rem}.path-appointment.is-openable{padding:0}.path-appointment__link{display:grid;grid-template-columns:minmax(11rem,auto) 1fr auto;align-items:center;gap:.6rem;padding:.55rem .75rem;width:100%;text-decoration:none;color:inherit;border-radius:inherit;transition:background .12s}.path-appointment__link:hover{background:var(--hover)}.path-inline-form__inline{display:inline-flex;align-items:center;gap:.4rem;font-size:.85rem;color:var(--text-faint)}@media(max-width:640px){.path-appointment{grid-template-columns:1fr;gap:.3rem}.path-appointment__actions{justify-content:flex-end}}.lesson-card__header,.resource-card__header,.block-card__header,.student-item{display:flex;justify-content:space-between;gap:.6rem;align-items:flex-start}.lesson-card__header h4{margin:.12rem 0 0;font-size:.98rem}.lesson-actions{display:flex;gap:.35rem;flex-wrap:wrap;flex:0 0 auto}.stack.compact{gap:.55rem}.block-card{padding:.75rem .875rem;border-radius:6px;border:1px solid var(--line);background:var(--paper)}.lesson-block-form{padding-top:.72rem;border-top:1px solid rgba(54,60,53,.08)}.resource-note{padding:.8rem 0;border-top:1px solid rgba(54,60,53,.08)}.resource-note:first-of-type{padding-top:.2rem;border-top:0}.resource-note__description{margin:.28rem 0 .55rem;color:var(--text-soft)}.tag-list{display:flex;flex-wrap:wrap;gap:.35rem}.tag{padding:.22rem .5rem;border-radius:999px;background:#363c350d;color:var(--text-soft);font-size:.76rem}.student-list{display:grid;gap:.45rem;margin-top:.7rem}.student-item{align-items:center;padding:5px 10px;border-radius:6px;background:transparent}.student-item--button{width:100%;border:1px solid transparent;text-align:left;cursor:pointer;transition:background .1s ease}.student-item--button:hover{background:var(--hover)}.student-item--button.active{border-color:var(--line-strong);background:var(--selected)}.checkbox{display:flex!important;align-items:center;gap:.38rem}.checkbox input{width:auto}.empty-state{text-align:center}.empty-state h3,.empty-state h4{margin:0 0 .25rem;color:var(--text-soft);font-weight:600}.empty-state p{margin:0;color:var(--text-faint);font-size:.9rem}.back-link{display:inline-flex;align-items:center;gap:.28rem;margin-bottom:.6rem;text-decoration:none;font-size:.85rem;color:var(--text-faint);transition:color .11s ease}.back-link:hover{color:var(--text-soft)}.video-wrapper{position:relative;width:100%;padding-top:56.25%}.video-wrapper iframe{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:0;border-radius:9px}blockquote{margin:0;padding-left:.8rem;border-left:2px solid rgba(54,60,53,.15);color:var(--text-soft)}.inline-form--grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end}.inline-form__action{display:flex;align-items:end}.lesson-row{display:flex;align-items:flex-start;gap:.6rem;padding:.6rem .7rem;border-radius:6px;border:1px solid var(--line);background:var(--paper);transition:background .1s ease,border-color .1s ease}.lesson-row:hover{background:var(--hover)}.lesson-row--draggable{cursor:grab}.lesson-row--draggable.is-dragging{opacity:.55}.lesson-row--draggable.is-drop-target{border-color:var(--accent);background:var(--selected)}.lesson-row__drag-handle{width:1.5rem;height:1.5rem;display:grid;place-items:center;margin-top:1px;border:0;border-radius:6px;background:transparent;color:var(--text-faint);cursor:grab;flex:0 0 auto}.lesson-row__drag-handle:hover{background:var(--hover)}.lesson-row__order{min-width:1.4rem;color:var(--text-faint);font-weight:600;font-size:.82rem;padding-top:2px}.lesson-row__body{flex:1;min-width:0}.lesson-row__title{margin:0;font-size:.9rem;font-weight:600;color:var(--text)}.lesson-row__title-link{display:block;font-size:.9rem;font-weight:600;color:var(--text);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .1s ease}.lesson-row__title-link:hover{border-bottom-color:var(--line-strong)}.lesson-page{gap:1.5rem;padding:1rem .25rem 4rem}.lesson-page__view-toggle{display:inline-flex;border:1px solid var(--line);border-radius:6px;padding:2px;background:var(--paper)}.lesson-page__view-toggle-btn{display:inline-flex;align-items:center;gap:.3rem;border:0;background:transparent;color:var(--text-soft);font-size:.78rem;font-weight:500;padding:.3rem .6rem;border-radius:4px;cursor:pointer}.lesson-page__view-toggle-btn:hover{color:var(--text)}.lesson-page__view-toggle-btn.is-active{background:var(--selected);color:var(--text)}.lesson-page__view-toggle-btn:disabled{cursor:not-allowed;opacity:.5}.lesson-page__toolbar{display:inline-flex;align-items:center;gap:.6rem}.lesson-page__save-status{display:inline-flex;align-items:center;gap:.3rem;font-size:.72rem;color:var(--muted);min-width:4.5rem;transition:opacity .12s ease}.lesson-page__save-status.is-saving{color:var(--muted)}.lesson-page__save-status.is-saved{color:var(--success, #2f9e6b)}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.lesson-page__preview-banner{display:inline-flex;align-items:center;gap:.35rem;margin:.5rem 0 0;padding:.3rem .55rem;font-size:.78rem;color:var(--highlight-text);background:var(--highlight-bg);border-radius:4px;width:-moz-fit-content;width:fit-content}.lesson-page__preview-pill{display:inline-flex;align-items:center;gap:.3rem;padding:2px 8px;border-radius:999px;background:var(--highlight, #fef3c7);color:var(--highlight-text, #b45309);font-size:.72rem;font-weight:600;letter-spacing:.02em}.page-header{overflow:hidden;border-radius:14px;border:1px solid var(--line);background:var(--paper);box-shadow:0 1px #00000005,0 12px 32px -18px #0000002e}.page-header__art{position:relative;height:220px;background:linear-gradient(135deg,#fef3c7,#fde68a,#f5d0a9);overflow:hidden}.page-header__art:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 18% 28%,#ffffff8c,#fff0 42%),radial-gradient(circle at 82% 72%,#0000001a,#0000 50%);pointer-events:none;z-index:1}.page-header__art:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:2;opacity:.55}.page-header__art--pattern-gradient:after{display:none}.page-header__art--pattern-dots:after{background-image:radial-gradient(rgba(0,0,0,.18) 1.4px,transparent 1.6px);background-size:18px 18px}.page-header__art--pattern-grid:after{background-image:linear-gradient(rgba(0,0,0,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,.12) 1px,transparent 1px);background-size:26px 26px}.page-header__art--pattern-diagonal:after{background-image:repeating-linear-gradient(45deg,rgba(0,0,0,.1) 0,rgba(0,0,0,.1) 1.5px,transparent 1.5px,transparent 14px)}.page-header__art--pattern-waves:after{background-image:radial-gradient(circle at 0 50%,transparent 12px,rgba(0,0,0,.1) 12px,rgba(0,0,0,.1) 14px,transparent 14px),radial-gradient(circle at 32px 50%,transparent 12px,rgba(0,0,0,.1) 12px,rgba(0,0,0,.1) 14px,transparent 14px);background-size:32px 28px}.page-header__glyph{position:absolute;right:1.4rem;bottom:-2.8rem;z-index:3;font-family:Georgia,Times New Roman,serif;font-size:14rem;font-weight:700;line-height:1;color:#ffffffad;text-shadow:0 2px 28px rgba(0,0,0,.08);pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.page-header__glyph.is-emoji{font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",system-ui,sans-serif;font-size:9rem;bottom:.6rem;right:1.6rem;color:initial;text-shadow:0 4px 14px rgba(0,0,0,.12)}.page-header__cover-action{position:absolute;top:.85rem;right:.85rem;z-index:4}.page-header__cover-action>button{display:inline-flex;align-items:center;gap:.35rem;padding:5px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.5);background:#ffffffd9;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);color:var(--text);font-size:.74rem;font-weight:500;cursor:pointer;transition:background .1s ease,transform .1s ease}.page-header__cover-action>button:hover{background:#fff;transform:translateY(-1px)}.page-header--no-cover .page-header__art{display:none}.page-header--no-cover .page-header__body{padding:1.4rem 1.7rem 1.6rem}.page-header--compact{border:0;border-radius:0;background:transparent;box-shadow:none}.page-header--compact .page-header__body{padding:.2rem 0 .6rem}.page-header--compact .page-header__title{margin:.2rem 0 .3rem;font-size:1.9rem}.page-header--compact .page-header__description{font-size:.92rem}.page-header--compact .page-header__meta{margin-top:.4rem;padding-top:0;border-top:0}.page-breadcrumb{display:flex;align-items:center;justify-content:space-between;gap:.75rem;font-size:.82rem}.page-breadcrumb a{display:inline-flex;align-items:center;gap:.35rem;color:var(--text-soft);text-decoration:none;padding:.25rem .45rem;border-radius:4px}.page-breadcrumb a:hover{background:var(--hover);color:var(--text)}.page-header__body{padding:1.6rem 1.9rem 1.8rem}.page-header__eyebrow{margin:0;display:inline-flex;align-items:center;gap:.3rem}.page-header__title{margin:.5rem 0 .6rem;font-family:Georgia,Times New Roman,serif;font-size:3.1rem;font-weight:700;color:var(--text);letter-spacing:-.02em;line-height:1.05}.page-header__description{margin:0;font-size:1.02rem;color:var(--text-soft);line-height:1.55;max-width:60ch}.page-header__meta{margin:1rem 0 0;display:inline-flex;flex-wrap:wrap;align-items:center;gap:.45rem;color:var(--text-faint);font-size:.78rem;padding-top:.85rem;border-top:1px solid var(--line);width:100%}.page-header__meta-item{display:inline-flex;align-items:center;gap:.3rem}.cover-customizer{position:relative;display:grid;gap:.85rem;padding:1rem 1.25rem 1.1rem;border-top:1px solid var(--line);background:linear-gradient(180deg,var(--paper) 0%,var(--app-bg) 100%)}.cover-customizer__row{display:grid;grid-template-columns:70px 1fr;gap:.8rem;align-items:center}.cover-customizer__label{display:inline-flex;align-items:center;gap:.3rem;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-faint);font-weight:600}.cover-customizer__swatches{display:flex;flex-wrap:wrap;gap:.4rem}.cover-customizer__swatch{width:26px;height:26px;border-radius:50%;border:2px solid transparent;cursor:pointer;padding:0;box-shadow:inset 0 0 0 1px #00000014,0 1px 2px #0000000a;transition:transform .1s ease,border-color .1s ease}.cover-customizer__swatch:hover{transform:scale(1.08)}.cover-customizer__swatch.is-active{border-color:var(--text);transform:scale(1.08)}.cover-customizer__chips{display:flex;flex-wrap:wrap;gap:.35rem}.cover-customizer__chip{padding:4px 10px;border-radius:999px;border:1px solid var(--line);background:var(--paper);color:var(--text-soft);font-size:.76rem;cursor:pointer;transition:background .1s ease,color .1s ease,border-color .1s ease}.cover-customizer__chip:hover{background:var(--hover);color:var(--text)}.cover-customizer__chip.is-active{background:var(--text);color:var(--paper);border-color:var(--text)}.cover-customizer__emoji-wrap{display:inline-flex;align-items:center;gap:.5rem;flex-wrap:wrap}.cover-customizer__emoji{width:56px;padding:5px 8px;border:1px solid var(--line);border-radius:6px;background:var(--paper);font:inherit;font-size:1.05rem;text-align:center}.cover-customizer__emoji:focus{outline:none;border-color:var(--text-faint)}.cover-customizer__hint{color:var(--text-faint);font-size:.74rem}.cover-customizer__done{position:absolute;top:.9rem;right:1rem;padding:4px 12px;border-radius:6px;border:1px solid var(--line);background:var(--paper);color:var(--text);font-size:.78rem;font-weight:500;cursor:pointer}.cover-customizer__done:hover{background:var(--hover)}.lesson-block-page--readonly .lesson-block-preview__text p{font-size:1.05rem;line-height:1.75;color:var(--text)}.lesson-block-page--readonly .lesson-block-preview__text p+p{margin-top:.9rem}.lesson-block-page--readonly .lesson-block:first-child .lesson-block-preview__text p:first-child:first-letter{font-family:Georgia,Times New Roman,serif;font-size:3.4rem;font-weight:700;float:left;line-height:.92;padding:.35rem .55rem 0 0;color:var(--text)}.lesson-block-page--readonly .lesson-block__index{display:inline-flex;align-items:center;justify-content:center;width:1.85rem;height:1.85rem;border-radius:50%;background:var(--hover);color:var(--text-faint);font-family:Georgia,Times New Roman,serif;font-size:.95rem;font-style:italic;font-weight:600}.lesson-block-page--readonly .lesson-block__grip{display:flex;margin-bottom:.5rem}.lesson-block-page--readonly .lesson-block-preview__quote{position:relative;margin:1rem 0;padding:1.4rem 1.6rem 1.4rem 2.6rem;border-left:none;background:linear-gradient(135deg,#fef3c78c,#f5d0a959);border-radius:10px;font-family:Georgia,Times New Roman,serif;font-size:1.18rem;font-style:italic;line-height:1.55;color:var(--text)}.lesson-block-page--readonly .lesson-block-preview__quote svg{position:absolute;left:.95rem;top:1.2rem;width:1rem;height:1rem;color:var(--highlight-text, #b45309);opacity:.9}.lesson-block-page--readonly .lesson-block-preview__label{font-size:.7rem;letter-spacing:.14em;color:var(--highlight-text, #b45309);margin-bottom:.4rem}.lesson-row__desc{margin:.15rem 0 0;font-size:.82rem;color:var(--text-soft);overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.lesson-row__actions{display:flex;gap:.3rem;flex-shrink:0;align-items:center}.section-title__row{display:flex;justify-content:space-between;align-items:flex-end;gap:.75rem}.session-row{width:100%;display:flex;align-items:flex-start;gap:.65rem;padding:.65rem .75rem;border-radius:6px;border:1px solid var(--line);background:var(--paper);text-align:left;cursor:pointer;transition:background .1s ease,border-color .1s ease}.session-row:hover{background:var(--hover);border-color:var(--line-strong)}.session-row__body{flex:1;min-width:0;display:grid;gap:.3rem}.session-row__title{margin:0;font-size:.9rem;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session-row__meta{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center}.session-row__chip{display:inline-flex;align-items:center;gap:.3rem;padding:.15rem .45rem;border-radius:4px;background:var(--hover);color:var(--text-soft);font-size:.75rem;font-weight:500;border:1px solid var(--line)}.session-row__icon{flex-shrink:0;color:var(--text-faint);margin-top:2px}.dialog-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem .85rem}.dialog-field-grid>.form-field--full,.dialog-field-grid>label.full,.dialog-field-grid>.dialog-field--full{grid-column:1 / -1}@media(max-width:720px){.dialog-field-grid{grid-template-columns:1fr}}.dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#0f0f0f66;animation:dialog-fade .12s ease-out}.dialog-content{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);z-index:51;width:min(92vw,640px);max-height:88vh;overflow-y:auto;background:var(--paper);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);padding:1.25rem 1.35rem 1.1rem;display:grid;gap:1rem;animation:dialog-pop .14s ease-out}.dialog-content--wide{width:min(96vw,1120px)}.dialog-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.dialog-title{margin:0;font-size:1.05rem;font-weight:600;color:var(--text)}.dialog-description{margin:.25rem 0 0;font-size:.85rem;color:var(--text-soft)}.dialog-close{width:1.65rem;height:1.65rem;display:grid;place-items:center;border-radius:4px;border:0;background:transparent;color:var(--text-soft);cursor:pointer;flex-shrink:0}.dialog-close:hover{background:var(--hover);color:var(--text)}.dialog-body{display:grid;gap:.95rem}.dialog-section{display:grid;gap:.65rem;padding-top:.85rem;border-top:1px solid var(--line)}.dialog-section:first-child{padding-top:0;border-top:0}.dialog-section__header{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem}.dialog-section__header h4{margin:0;font-size:.88rem;font-weight:600}.dialog-section__header p{margin:.15rem 0 0;font-size:.8rem;color:var(--text-faint)}.dialog-footer{display:flex;justify-content:flex-end;gap:.5rem;padding-top:.3rem}.lesson-page-editor{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);gap:1rem;align-items:start}.lesson-page-editor__column{min-width:0}.lesson-page-editor__column--main,.lesson-page-editor__column--preview{display:grid;gap:.9rem}.lesson-page-editor__intro{padding:1rem 1.05rem;border:1px solid var(--line);border-radius:10px;background:var(--paper)}.lesson-page-editor__intro h4{margin:.2rem 0 .45rem;font-size:1.4rem;line-height:1.15}.lesson-page-editor__intro p:last-child{margin:0;color:var(--text-soft)}.lesson-composer{display:grid;gap:.9rem;padding:1rem 1.05rem;border:1px solid var(--line);border-radius:10px;background:var(--paper)}.lesson-composer__header{display:flex;justify-content:space-between;gap:.8rem;align-items:flex-start}.lesson-composer__header h5{margin:.2rem 0 0;font-size:1rem}.lesson-composer__types{display:flex;gap:.45rem;flex-wrap:wrap}.block-type-pill{border:1px solid var(--line);background:var(--paper);color:var(--text-soft);border-radius:999px;padding:.38rem .8rem;font-size:.82rem;font-weight:600;text-transform:capitalize;cursor:pointer}.block-type-pill.active{border-color:#4c402933;background:var(--selected);color:var(--text)}.lesson-composer__fields{display:grid;gap:.75rem}.lesson-composer__footer{display:flex;justify-content:space-between;gap:.75rem;align-items:center}.lesson-composer__hint{margin:0;font-size:.82rem;color:var(--text-soft)}.lesson-page-stack{display:grid;gap:.7rem}.lesson-page-block{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.85rem;align-items:start;padding:.95rem;border:1px solid var(--line);border-radius:10px;background:var(--paper);transition:border-color .12s ease,transform .12s ease,box-shadow .12s ease}.lesson-page-block.is-dragging{opacity:.58}.lesson-page-block.is-drop-target{border-color:#4c402959;box-shadow:0 8px 22px #483a2614}.lesson-page-block__chrome{display:grid;justify-items:center;gap:.3rem;padding-top:.1rem}.lesson-page-block__order{font-size:.75rem;color:var(--text-faint);font-weight:700}.lesson-page-block__type{font-size:.72rem;color:var(--text-soft);text-transform:uppercase;letter-spacing:.08em}.lesson-page-block__body{min-width:0}.lesson-page-block__actions{display:flex;gap:.35rem}.lesson-page-preview{display:grid;gap:.55rem}.lesson-page-preview__label{margin:0;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint)}.lesson-page-preview__text{display:grid;gap:.6rem}.lesson-page-preview__text p,.lesson-page-preview__caption,.lesson-page-preview>p{margin:0;color:var(--text);line-height:1.65}.lesson-page-preview__quote{margin:0;padding:.25rem 0 .25rem 1rem;border-left:3px solid rgba(168,116,27,.8);color:var(--text-soft);font-size:1rem;line-height:1.65;background:#fdf5e48c}.lesson-page-preview__video{position:relative;overflow:hidden;border-radius:10px;border:1px solid var(--line);aspect-ratio:16 / 9;background:#1c1c1c0f}.lesson-page-preview__video iframe{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:0}.lesson-page-preview__linkcard,.lesson-page-preview__filecard{display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:.85rem .95rem;border:1px solid var(--line);border-radius:10px;background:#fff;color:inherit;text-decoration:none}.lesson-page-preview__linkcard strong,.lesson-page-preview__filecard span:last-child{font-size:.92rem}.lesson-page-preview__linkcard span:last-child{min-width:0;color:var(--text-soft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lesson-page-preview__fileext{display:inline-flex;align-items:center;justify-content:center;min-width:3rem;height:2.1rem;border-radius:7px;background:#4c402914;color:var(--text);font-size:.72rem;font-weight:800;letter-spacing:.08em}.lesson-block-page{display:grid;gap:.9rem}.lesson-block-page__header{padding:1rem 1.05rem;border:1px solid var(--line);border-radius:10px;background:var(--paper)}.lesson-block-page__header h4{margin:.2rem 0 .45rem;font-size:1.4rem;line-height:1.15}.lesson-block-page__header p:last-child{margin:0;color:var(--text-soft)}.lesson-block-page__stack{display:grid;gap:.75rem}.lesson-block{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.85rem;align-items:start;padding:.95rem;border:1px solid var(--line);border-radius:10px;background:var(--paper);transition:border-color .12s ease,box-shadow .12s ease,opacity .12s ease}.lesson-block.is-dragging{opacity:.58}.lesson-block.is-drop-target{border-color:#4c402959;box-shadow:0 8px 22px #483a2614}.lesson-block--readonly{display:block;padding:0;border:0;background:transparent;border-radius:0}.lesson-block--readonly .lesson-block__grip{display:none}.lesson-block-page--readonly .lesson-block-page__stack{gap:2.25rem}.lesson-block--draft{background:#fff;border-style:dashed}.lesson-block-inline{display:grid;gap:.55rem}.lesson-block-inline__heading{flex:1;display:grid;gap:.35rem;min-width:0}.lesson-block-inline__file-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.lesson-block-inline__replace{cursor:pointer}.inline-input,.inline-textarea{width:100%;background:transparent;border:0;border-radius:4px;padding:.25rem .4rem;margin:-.25rem -.4rem;color:var(--text, #37352f);font:inherit;line-height:1.5;resize:none;transition:background-color .1s ease}.inline-input:hover,.inline-textarea:hover{background:var(--hover, #f6f6f4)}.inline-input:focus,.inline-textarea:focus{outline:none;background:#fff;box-shadow:0 0 0 1px var(--accent, #2383e2)}.inline-input::-moz-placeholder,.inline-textarea::-moz-placeholder{color:var(--text-faint, #a09f9b)}.inline-input::placeholder,.inline-textarea::placeholder{color:var(--text-faint, #a09f9b)}.inline-input--label{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint, #6f6e69)}.inline-input--url{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.82rem;color:var(--text-soft, #5a5852)}.inline-textarea{min-height:1.8rem;font-size:.9rem}.inline-textarea--quote{font-style:italic;font-size:1rem;border-left:3px solid var(--line-strong, #d8d7d2);padding-left:.75rem;border-radius:0 4px 4px 0}.inline-textarea--quote:hover,.inline-textarea--quote:focus{border-left-color:var(--accent, #2383e2)}.lesson-block__grip{display:grid;justify-items:center;gap:.35rem}.lesson-block__index{font-size:.76rem;color:var(--text-faint);font-weight:700}.lesson-block__content{min-width:0}.lesson-block__actions{display:flex;gap:.35rem}.lesson-block-preview{display:grid;gap:.65rem}.lesson-block-preview__label{margin:0;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint)}.lesson-block-preview__text{display:grid;gap:.65rem}.lesson-block-preview__text p,.lesson-block-preview__support{margin:0;color:var(--text);line-height:1.65}.lesson-block-preview__support{color:var(--text-soft)}.lesson-block-preview__quote{margin:0;padding:.25rem 0 .25rem 1rem;border-left:3px solid rgba(168,116,27,.8);color:var(--text-soft);font-size:1rem;line-height:1.65;background:#fdf5e48c}.lesson-block-preview__resource-head{display:flex;gap:.7rem;align-items:flex-start}.lesson-block-preview__icon{width:1.9rem;height:1.9rem;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;background:#4c402914;color:var(--text);flex:0 0 auto}.lesson-block-preview__resource-link,.lesson-block-preview__file{display:inline-flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.85rem .95rem;border:1px solid var(--line);border-radius:10px;background:#fff;color:inherit;text-decoration:none}.lesson-block-preview__video{position:relative;overflow:hidden;border-radius:10px;border:1px solid var(--line);aspect-ratio:16 / 9;background:#1c1c1c0f}.lesson-block-preview__video iframe{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:0}.lesson-block-preview__file-ext{display:inline-flex;align-items:center;justify-content:center;min-width:3rem;height:2rem;border-radius:7px;background:#4c402914;color:var(--text);font-size:.72rem;font-weight:800;letter-spacing:.08em}.pdf-block{display:grid;gap:.85rem;padding:1rem;border:1px solid var(--line);border-radius:8px;background:var(--paper)}.pdf-block__top{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.pdf-block__meta{display:flex;gap:.75rem;align-items:flex-start}.pdf-block__meta strong{display:block;margin:0}.pdf-block__limit{display:grid;gap:.35rem;min-width:12rem;font-size:.78rem;color:var(--text-soft)}.pdf-block__pill{padding:.25rem .55rem;border-radius:4px;background:var(--hover);color:var(--text-soft);font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;border:1px solid var(--line)}.pdf-block__toolbar,.pdf-block__nav,.pdf-block__notes-head,.pdf-note-card__head{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.pdf-block__nav span,.pdf-block__note-count{color:var(--text-soft);font-size:.82rem}.pdf-block__note-count{display:inline-flex;align-items:center;gap:.35rem}.pdf-block__modes{display:flex;flex-wrap:wrap;gap:.45rem}.pdf-block__toolbar-end{display:flex;align-items:center;gap:.5rem;margin-left:auto}.pdf-block__view-toggle{display:inline-flex;padding:2px;background:var(--hover, #f3f3f1);border-radius:7px}.pdf-block__view-toggle .button.ghost{padding:.3rem .6rem;border-radius:5px;font-size:.78rem}.pdf-block__view-toggle .button.ghost.active{background:#fff;box-shadow:0 1px 2px #00000014;color:var(--text)}.image-block__frame{position:relative;display:flex;justify-content:center;max-width:100%;max-height:70vh}.image-block__img{display:block;max-width:100%;max-height:70vh;width:auto;height:auto;-webkit-user-select:none;-moz-user-select:none;user-select:none;border-radius:2px;box-shadow:var(--shadow, 0 2px 8px rgba(0, 0, 0, .08))}.pdf-block.is-fullscreen .image-block__frame{max-height:none}.pdf-block.is-fullscreen .image-block__img{max-height:calc(100vh - 9rem);max-width:calc(100vw - 3rem)}.pdf-block.is-fullscreen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:var(--paper, #fff);border-radius:0;padding:1rem 1.25rem;display:flex;flex-direction:column;gap:.75rem;overflow:hidden}.pdf-block.is-fullscreen .pdf-block__layout{flex:1;min-height:0}.pdf-block.is-fullscreen .pdf-block__canvas{flex:1;min-height:0;align-items:flex-start;overflow:auto}.pdf-block__modes .button.active{background:var(--selected);border-color:var(--line-strong);color:var(--text)}.pdf-block__canvas{display:flex;justify-content:center;padding:1rem .5rem;border-radius:6px;background:var(--app-bg);border:1px solid var(--line);overflow:auto}.pdf-block__canvas .react-pdf__Page{box-shadow:var(--shadow);border-radius:2px}.pdf-block__page-frame{position:relative}.pdf-block__page-frame.is-editing{cursor:crosshair}.pdf-block__overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5}.pdf-block__overlay.is-passthrough{pointer-events:none}.pdf-block__overlay.is-passthrough .pdf-annotation{pointer-events:auto}.pdf-annotation--text-highlight{mix-blend-mode:multiply;border-radius:2px}.pdf-rail-item__comment{display:inline-flex;align-items:center;gap:.3rem;margin-top:.2rem;font-size:.7rem;color:var(--text-muted, #6f6e69)}.pdf-rail-item__comment-editor{display:flex;flex-direction:column;gap:.3rem;padding:.5rem .6rem .65rem;margin:.15rem 0 .4rem;background:var(--hover, #f6f6f4);border-radius:6px;border:1px solid var(--line, #e7e6e2)}.pdf-rail-item__comment-label{display:inline-flex;align-items:center;gap:.3rem;font-size:.7rem;color:var(--text-muted, #6f6e69)}.pdf-rail-item__comment-input{width:100%;min-height:52px;resize:vertical;padding:.4rem .5rem;border-radius:4px;border:1px solid var(--line, #e7e6e2);background:#fff;color:var(--text, #37352f);font:inherit;font-size:.78rem;line-height:1.4}.pdf-rail-item__comment-input:focus{outline:none;border-color:var(--accent, #2383e2)}.pdf-annotation{position:absolute;border:0;background:transparent;padding:0;margin:0}.pdf-annotation--text{padding:.45rem .55rem;border-radius:6px;font-size:.78rem;line-height:1.35;text-align:left;border:1px solid transparent}.pdf-annotation--text.no-card{padding:0;border-radius:0;font-weight:600;background:transparent!important;box-shadow:none!important}.pdf-annotation--highlight{opacity:.35}.pdf-annotation--highlight.pdf-annotation--vocab{outline:1.5px dashed var(--text);outline-offset:1px}.pdf-annotation-toolbar__action.is-active{color:var(--text);opacity:.6}.cal-modal.vocab-card__modal{z-index:70}.vocab-card label{display:flex;flex-direction:column;gap:.25rem;font-size:.8rem;color:var(--text-soft)}.vocab-card input,.vocab-card textarea{font:inherit;color:var(--text)}.vocab-card__cue{margin:0;font-size:.8rem}.pdf-annotation--highlight.pdf-annotation--draft{background:#f2c94c;opacity:.45;border:1px dashed rgba(0,0,0,.35)}.pdf-annotation--draw{top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;background:transparent}.pdf-annotation--draw svg{width:100%;height:100%;overflow:visible;pointer-events:none}.pdf-annotation--draw svg polyline{pointer-events:visibleStroke;cursor:pointer}.pdf-annotation--draft svg polyline{pointer-events:none}.pdf-annotation.is-selected{outline:2px solid rgba(76,64,41,.45);outline-offset:2px}.pdf-annotation--draw.is-selected{outline:none}.pdf-annotation--draw.is-selected svg{filter:drop-shadow(0 0 3px rgba(76,64,41,.35))}.pdf-annotation--draft{pointer-events:none}textarea.pdf-annotation--text{border:1px solid var(--line-strong);background:#fffffff5;font-family:var(--font-sans);font-size:.8rem;line-height:1.35;padding:.4rem .5rem;border-radius:6px;resize:none;box-shadow:var(--shadow);outline:none;overflow:hidden}textarea.pdf-annotation--text:focus{border-color:var(--text)}.pdf-annotation-toolbar{position:absolute;transform:translateY(calc(-100% - 8px));z-index:4;display:inline-flex;align-items:center;gap:.25rem;padding:4px 6px;background:var(--paper);border:1px solid var(--line-strong);border-radius:6px;box-shadow:var(--shadow);animation:dialog-pop .12s ease-out}.pdf-annotation-toolbar__swatches{display:inline-flex;gap:3px}.pdf-annotation-toolbar__swatch{width:18px;height:18px;border-radius:4px;border:1px solid rgba(0,0,0,.12);padding:0;cursor:pointer;transition:transform 80ms ease,box-shadow 80ms ease}.pdf-annotation-toolbar__swatch:hover{transform:scale(1.1)}.pdf-annotation-toolbar__swatch.is-active{box-shadow:0 0 0 2px var(--paper),0 0 0 3px var(--text)}.pdf-annotation-toolbar__divider{width:1px;height:18px;background:var(--line);margin:0 2px}.pdf-annotation-toolbar__action{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border:0;border-radius:4px;background:transparent;color:var(--text-soft);cursor:pointer}.pdf-annotation-toolbar__action:hover{background:var(--hover);color:var(--text)}.pdf-annotation-toolbar__action--danger:hover{background:var(--color-red-bg);color:var(--color-red)}.pdf-block__hint{font-size:.78rem;color:var(--text-faint);text-align:center;padding:.15rem 0}.pdf-annotation-toolbar__group-label{font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);padding:0 2px}.pdf-annotation-toolbar__action.is-active{background:var(--selected);color:var(--text)}.pdf-block__layout{display:grid;gap:.85rem}.pdf-block__layout.has-rail{grid-template-columns:minmax(0,1fr) 220px;align-items:start}.pdf-block__rail{display:grid;gap:.5rem;padding:.65rem;border:1px solid var(--line);border-radius:6px;background:var(--paper);max-height:520px;overflow-y:auto}.pdf-block__rail-head{display:flex;align-items:center;justify-content:space-between;padding:0 .15rem .25rem;border-bottom:1px solid var(--line)}.pdf-block__rail-count{font-size:.72rem;font-weight:600;color:var(--text-faint);background:var(--hover);padding:1px 6px;border-radius:999px}.pdf-block__rail-list{list-style:none;margin:0;padding:0;display:grid;gap:2px}.pdf-rail-item{width:100%;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.5rem;padding:.4rem .5rem;border:1px solid transparent;border-radius:4px;background:transparent;text-align:left;cursor:pointer;color:var(--text)}.pdf-rail-item:hover{background:var(--hover)}.pdf-rail-item.is-selected{background:var(--selected);border-color:var(--line-strong)}.pdf-rail-item__icon{width:22px;height:22px;display:grid;place-items:center;border-radius:4px;background:var(--hover);color:var(--text-soft)}.pdf-rail-item.type-text .pdf-rail-item__icon{color:var(--color-blue)}.pdf-rail-item.type-highlight .pdf-rail-item__icon{color:var(--color-yellow-text)}.pdf-rail-item.type-draw .pdf-rail-item__icon{color:#d35400}.pdf-rail-item__body{display:grid;gap:1px;min-width:0}.pdf-rail-item__title{font-size:.78rem;font-weight:500}.pdf-rail-item__preview{font-size:.72rem;color:var(--text-soft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pdf-rail-item__color{width:12px;height:12px;border-radius:3px;border:1px solid rgba(0,0,0,.12);flex-shrink:0}.pdf-block__rail-empty{font-size:.78rem;color:var(--text-faint);text-align:center;padding:.5rem 0}@media(max-width:900px){.pdf-block__layout.has-rail{grid-template-columns:1fr}.pdf-block__rail{max-height:280px}}.pdf-block__notes,.pdf-block__notes-list{display:grid;gap:.75rem}.pdf-note-card{display:grid;gap:.45rem;padding:.7rem .85rem .7rem 1rem;border:1px solid var(--line);border-radius:6px;background:var(--paper);position:relative;transition:border-color .12s ease,box-shadow .12s ease}.pdf-note-card:before{content:"";position:absolute;left:0;top:.7rem;bottom:.7rem;width:3px;border-radius:2px;background:var(--text-faint)}.pdf-note-card.type-text:before{background:var(--color-blue)}.pdf-note-card.type-highlight:before{background:var(--color-yellow-text)}.pdf-note-card.type-draw:before{background:#d35400}.pdf-note-card.is-selected{border-color:var(--line-strong);box-shadow:var(--shadow-sm)}.pdf-note-card--readonly p{margin:0;line-height:1.6;color:var(--text)}.pdf-block__status{padding:.75rem;border:1px dashed var(--line-strong);border-radius:6px;color:var(--text-soft);font-size:.82rem;text-align:center;background:var(--app-bg)}.lesson-block-editor{display:grid;gap:.8rem}.lesson-block-editor__header{display:flex;justify-content:space-between;gap:.85rem;align-items:flex-start}.lesson-block-editor__header h5{margin:.2rem 0 0;font-size:.95rem;color:var(--text-soft);font-weight:500}.lesson-block-editor__header-actions{display:flex;gap:.35rem}.lesson-block-editor__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem 1rem}.lesson-block-editor__grid>label,.lesson-block-editor__grid>.file-dropzone,.lesson-block-editor__grid>.lesson-block-editor__textarea,.lesson-block-editor__grid>.lesson-block-editor__pdf,.lesson-block-editor__grid>.lesson-block-editor__validation{grid-column:1 / -1}.lesson-block-editor__grid>label.lesson-block-editor--half{grid-column:auto}.lesson-block-editor__textarea textarea{min-height:6.5rem}.lesson-block-editor__file-note{display:inline-flex;margin-top:.45rem;font-size:.78rem;color:var(--text-soft)}.file-dropzone{display:grid;gap:.4rem}.file-dropzone__zone{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;-moz-column-gap:.75rem;column-gap:.75rem;align-items:center;padding:.85rem 1rem;border:1px dashed var(--line-strong);border-radius:6px;background:var(--app-bg);cursor:pointer;transition:background .12s ease,border-color .12s ease}.file-dropzone__zone:hover{background:var(--hover);border-color:var(--text-faint)}.file-dropzone__zone input[type=file]{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.file-dropzone__icon{grid-row:1 / span 2;width:2.2rem;height:2.2rem;display:grid;place-items:center;border-radius:6px;background:var(--paper);border:1px solid var(--line);color:var(--text-soft)}.file-dropzone__primary{font-size:.88rem;font-weight:500;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-dropzone__secondary{font-size:.78rem;color:var(--text-soft)}.file-dropzone__choices{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.file-dropzone__choice{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;padding:1.1rem 1rem;border:1px dashed var(--line);border-radius:10px;background:var(--paper);color:var(--text-soft);cursor:pointer;text-align:center;transition:border-color .12s ease,color .12s ease,background .12s ease;position:relative}.file-dropzone__choice:hover:not(:disabled){border-color:var(--accent);color:var(--text)}.file-dropzone__choice:disabled{opacity:.6;cursor:not-allowed}.file-dropzone__choice input[type=file]{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;cursor:inherit}@media(max-width:640px){.file-dropzone__choices{grid-template-columns:1fr}}.lesson-block-editor__validation{margin:0;font-size:.82rem;color:#b4432a}.lesson-block-editor__pdf{margin-top:.5rem}.command-dock{position:fixed;left:50%;bottom:1.25rem;transform:translate(-50%);z-index:40;display:flex;flex-direction:column;align-items:stretch;gap:.5rem;width:min(420px,calc(100vw - 2rem));pointer-events:none}.command-dock>*{pointer-events:auto}.command-dock__bar{display:flex;align-items:center;gap:.5rem;padding:.35rem .45rem .35rem .35rem;background:var(--paper, #fff);border:1px solid var(--line, #e7e6e2);border-radius:999px;box-shadow:0 10px 30px #0f0f0f1f,0 2px 6px #0f0f0f0f;transition:transform .12s ease,box-shadow .12s ease}.command-dock:not(.is-open) .command-dock__bar:hover{transform:translateY(-2px);box-shadow:0 14px 34px #0f0f0f29,0 2px 6px #0f0f0f0f}.command-dock__trigger{flex:none;width:2rem;height:2rem;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;background:var(--text, #37352f);color:#fff;cursor:pointer;transition:transform .12s ease,background .12s ease}.command-dock.is-open .command-dock__trigger{transform:rotate(45deg);background:var(--text-soft, #6f6e69)}.command-dock__hint{flex:1;display:inline-flex;align-items:center;justify-content:space-between;gap:.5rem;border:0;background:transparent;padding:0 .75rem 0 .25rem;color:var(--text-soft, #6f6e69);font:inherit;font-size:.85rem;cursor:pointer;text-align:left}.command-dock__hint kbd{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.72rem;padding:.1rem .4rem;border-radius:4px;background:var(--hover, #f3f3f1);color:var(--text-faint, #a09f9b);border:1px solid var(--line, #e7e6e2)}.command-dock__input{flex:1;border:0;background:transparent;font:inherit;font-size:.9rem;color:var(--text, #37352f);padding:0 .5rem;outline:none}.command-dock__input::-moz-placeholder{color:var(--text-faint, #a09f9b)}.command-dock__input::placeholder{color:var(--text-faint, #a09f9b)}.command-dock__menu{display:grid;gap:.15rem;padding:.4rem;background:var(--paper, #fff);border:1px solid var(--line, #e7e6e2);border-radius:12px;box-shadow:0 16px 40px #0f0f0f24,0 2px 6px #0f0f0f0f;max-height:320px;overflow-y:auto;animation:command-dock-rise .12s ease}@keyframes command-dock-rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.command-dock__item{display:flex;align-items:center;gap:.65rem;padding:.5rem .65rem;border:0;border-radius:8px;background:transparent;text-align:left;cursor:pointer;color:var(--text, #37352f)}.command-dock__item.is-active{background:var(--hover, #f3f3f1)}.command-dock__item-icon{width:1.75rem;height:1.75rem;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;background:var(--hover, #f3f3f1);color:var(--text-soft, #6f6e69);flex:none}.command-dock__item.is-active .command-dock__item-icon{background:var(--paper, #fff);color:var(--text, #37352f);box-shadow:0 0 0 1px var(--line, #e7e6e2)}.command-dock__item-body{display:grid;gap:.15rem;min-width:0}.command-dock__item-body strong{font-size:.88rem;font-weight:600}.command-dock__item-body span{font-size:.76rem;color:var(--text-soft, #6f6e69)}.command-dock__empty{padding:.9rem;margin:0;color:var(--text-soft, #6f6e69);text-align:center;font-size:.85rem}.lesson-command-bar{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);gap:.55rem;align-items:start}.lesson-command-bar__plus{width:2.25rem;height:2.25rem;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--text-soft);cursor:pointer}.lesson-command-bar__field{position:relative}.lesson-command-bar__field input{width:100%;min-height:2.25rem;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--text)}.lesson-command-menu{position:absolute;bottom:calc(100% + .45rem);left:0;right:0;z-index:6;display:grid;gap:.35rem;padding:.45rem;border:1px solid var(--line);border-radius:10px;background:var(--paper);box-shadow:var(--shadow);max-height:320px;overflow-y:auto}.lesson-command-menu__item{display:block;width:100%;border:0;border-radius:8px;background:transparent;padding:.7rem .75rem;text-align:left;cursor:pointer}.lesson-command-menu__item:hover{background:var(--hover)}.lesson-command-menu__item strong{display:block;font-size:.9rem}.lesson-command-menu__item p{margin:.25rem 0 0;color:var(--text-soft);font-size:.8rem}.lesson-doc-shell{display:grid;gap:.85rem}.lesson-doc-toolbar{display:flex;flex-wrap:wrap;gap:.45rem;padding:.8rem;border:1px solid var(--line);border-radius:10px;background:#fff}.lesson-doc-toolbar__button{width:2.25rem;height:2.25rem;display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--text-soft);cursor:pointer}.lesson-doc-toolbar__button:hover,.lesson-doc-toolbar__button.active{background:var(--selected);border-color:#4c402924;color:var(--text)}.lesson-doc-surface{display:grid;gap:1rem;padding:1.2rem 1.3rem;border:1px solid var(--line);border-radius:12px;background:var(--paper)}.lesson-doc-surface__meta h4{margin:.15rem 0 .35rem;font-size:1.6rem;line-height:1.15}.lesson-doc-surface__meta p:last-child{margin:0;color:var(--text-soft)}.lesson-doc-surface__footer{display:flex;justify-content:flex-end}.lesson-doc-surface__actions{display:flex;gap:.55rem}.lesson-document{width:100%}.lesson-document .ProseMirror{min-height:380px;outline:none;color:var(--text);line-height:1.7}.lesson-document--readonly .ProseMirror{min-height:0}.lesson-document .ProseMirror>*+*{margin-top:.95rem}.lesson-document .ProseMirror h1,.lesson-document .ProseMirror h2,.lesson-document .ProseMirror h3{margin:1.4rem 0 .55rem;line-height:1.2}.lesson-document .ProseMirror h1{font-size:1.7rem}.lesson-document .ProseMirror h2{font-size:1.35rem}.lesson-document .ProseMirror h3{font-size:1.1rem}.lesson-document .ProseMirror p{margin:0}.lesson-document .ProseMirror blockquote{margin:0;padding:.2rem 0 .2rem 1rem;border-left:3px solid rgba(168,116,27,.75);background:#fdf5e48c;color:var(--text-soft)}.lesson-document .ProseMirror ul,.lesson-document .ProseMirror ol{padding-left:1.3rem}.lesson-document .ProseMirror li+li{margin-top:.3rem}.lesson-document .ProseMirror hr{border:0;border-top:1px solid var(--line);margin:1.4rem 0}.lesson-document .ProseMirror a{color:var(--accent);text-decoration:underline;text-decoration-thickness:1px}.lesson-document .ProseMirror img{display:block;max-width:100%;height:auto;border-radius:12px;border:1px solid var(--line)}.lesson-document .ProseMirror .iframe-wrapper,.lesson-document .ProseMirror div[data-youtube-video]{margin:1rem 0}.lesson-document .ProseMirror iframe{width:100%;min-height:360px;border:0;border-radius:12px}.lesson-document .ProseMirror p.is-editor-empty:first-child:before{content:attr(data-placeholder);color:var(--text-faint);float:left;height:0;pointer-events:none}@keyframes dialog-fade{0%{opacity:0}to{opacity:1}}@keyframes dialog-pop{0%{opacity:0;transform:translate(-50%,-48%) scale(.97)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.collapsible-trigger{display:flex;align-items:center;gap:.5rem;width:100%;background:none;border:0;padding:0;text-align:left;cursor:pointer;color:inherit}.collapsible-trigger:hover .section-title h3,.collapsible-trigger:hover .section-title h4{color:var(--accent)}.collapsible-chevron{color:var(--text-faint);transition:transform .18s ease;flex:0 0 auto}.collapsible-chevron.open{transform:rotate(90deg)}@media(min-width:1121px){.topbar__brand,.topbar__actions{display:none}}@media(max-width:1120px){.auth-page,.app-shell,.workspace-layout{grid-template-columns:1fr}.summary-strip,.overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sidebar,.topbar__workspace{display:none}.lesson-page-editor{grid-template-columns:1fr}.lesson-block{grid-template-columns:auto minmax(0,1fr)}.lesson-block__actions{grid-column:2}}@media(max-width:780px){.auth-page,.main-content,.topbar{padding:.75rem}.auth-preview-grid,.summary-strip,.overview-grid,.resource-kind-grid,.inline-form--grid,.auth-preview-table__header,.auth-preview-table__row{grid-template-columns:1fr}.topbar{align-items:flex-start;flex-wrap:wrap}.lesson-composer__footer{flex-direction:column;align-items:flex-start}.lesson-page-block{grid-template-columns:auto minmax(0,1fr)}.lesson-page-block__actions{grid-column:2}.lesson-block-editor__header,.lesson-doc-surface__actions{flex-direction:column;align-items:flex-start}.lesson-command-bar{grid-template-columns:1fr}}.lesson-block__footer{display:flex;justify-content:flex-end;margin-top:10px;padding-top:10px;border-top:1px solid var(--divider)}.confusion-button{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;border:1px solid var(--line-strong);background:var(--paper);color:var(--text-soft);font-size:.78rem;line-height:1;transition:background .12s ease,color .12s ease,border-color .12s ease}.confusion-button:hover{background:var(--hover);color:var(--text)}.confusion-button.is-marked{background:#fff3c4;border-color:#f4c770;color:#92400e}.confusion-button.is-marked:hover{background:#fde68a}.confusion-badge-wrap{position:relative}.confusion-badge{display:inline-flex;align-items:center;gap:5px;padding:3px 8px;border-radius:999px;border:1px solid #f4c770;background:#fff3c4;color:#92400e;font-size:.72rem;font-weight:500;line-height:1;transition:background .12s ease}.confusion-badge:hover{background:#fde68a}.confusion-popover{position:absolute;top:calc(100% + 6px);right:0;z-index:30;min-width:240px;max-width:320px;background:var(--paper);border:1px solid var(--line-strong);border-radius:10px;box-shadow:var(--shadow);padding:10px 12px}.confusion-popover__head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px;font-size:.8rem}.confusion-popover__list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:4px;max-height:220px;overflow-y:auto}.confusion-popover__item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:4px 0;font-size:.78rem;color:var(--text);border-bottom:1px solid var(--divider)}.confusion-popover__item:last-child{border-bottom:none}.confusion-popover__name{font-weight:500}.confusion-popover__time{color:var(--text-faint);font-size:.72rem}.confusion-popover__error{margin:8px 0 0;color:var(--danger);font-size:.75rem}.button.ghost.small{padding:3px 8px;font-size:.72rem;gap:4px}.path-page{padding:8px 0 120px;display:flex;flex-direction:column;gap:28px}.path-meta-chip{display:inline-flex;align-items:center;gap:5px;padding:3px 8px;border-radius:999px;background:var(--hover);color:var(--text-soft);font-size:.72rem}.inline-input--heading{font-size:2.25rem;font-weight:700;letter-spacing:-.02em;padding:2px 4px;margin-left:-4px;color:var(--text);background:transparent;border:1px solid transparent;border-radius:6px}.inline-input--heading:hover{border-color:var(--line)}.inline-input--heading:focus{border-color:var(--line-strong);background:var(--paper);box-shadow:none}.inline-textarea--subtle{color:var(--text-soft);font-size:.95rem;background:transparent;border:1px solid transparent;padding:4px 6px;margin-left:-6px;resize:none}.inline-textarea--subtle:hover{border-color:var(--line)}.inline-textarea--subtle:focus{border-color:var(--line-strong);background:var(--paper);box-shadow:none}.inline-input--bordered{background:var(--paper);border:1px solid var(--line-strong)}.path-page__layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:32px;align-items:flex-start}.path-page__main,.path-page__rail{display:flex;flex-direction:column;gap:24px}.path-page__single{display:flex;flex-direction:column;gap:24px;max-width:960px}.path-students--grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}.path-student--card{display:flex;gap:10px;align-items:flex-start;padding:14px;text-align:left;border:1px solid var(--line);border-radius:10px;background:var(--paper);cursor:pointer;transition:background .12s ease,border-color .12s ease}.path-student--card:hover{background:var(--hover);border-color:var(--line-strong)}.path-student--pending{cursor:default;background:var(--app-bg)}.path-student--ended{background:var(--app-bg);border-style:dashed;opacity:.82}.path-student__avatar{width:32px;height:32px;border-radius:999px;background:var(--selected);display:flex;align-items:center;justify-content:center;color:var(--text-soft);flex-shrink:0}.path-student__body{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}.path-student__body strong{font-size:.9rem;color:var(--text)}.path-student__body span{font-size:.82rem;color:var(--text-soft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.path-student__meta{display:flex;gap:6px;flex-wrap:wrap;margin-top:4px}.path-student__actions{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.35rem}.path-student__actions .button{padding:.3rem .5rem;font-size:.72rem}.roster-ended-reason{white-space:normal!important;line-height:1.45}.roster-ended-notice{display:flex;flex-direction:column;gap:4px;max-width:960px}.roster-ended-notice span{color:var(--text-soft);font-size:.84rem}.roster-end-action{align-self:flex-start}.path-step.is-hidden-override{opacity:.55}.path-step.is-hidden-override .path-step__body strong{text-decoration:line-through}.path-section{display:flex;flex-direction:column;gap:10px}.path-section__head{display:flex;flex-direction:column;gap:2px}.path-section__head h2{font-size:.92rem;font-weight:600;margin:0;color:var(--text-soft);letter-spacing:.02em;text-transform:uppercase}.path-section__hint{margin:0;font-size:.78rem;color:var(--text-faint)}.path-empty-note{margin:0;color:var(--text-faint);font-size:.82rem}.path-steps{display:flex;flex-direction:column;gap:4px}.path-step{display:grid;grid-template-columns:auto auto 1fr auto;align-items:center;gap:10px;padding:10px 10px 10px 4px;border-radius:8px;border:1px solid transparent;background:transparent;transition:background .12s ease,border-color .12s ease}.path-step:hover{background:var(--hover)}.path-step.is-dragging{opacity:.5}.path-step.is-drop-target{border-color:var(--line-strong);background:var(--hover)}.path-step__grip{background:transparent;border:none;padding:6px;color:var(--text-faint);cursor:grab;display:flex;align-items:center}.path-step__grip:hover{color:var(--text-soft)}.path-step__grip:active{cursor:grabbing}.path-step__index{min-width:22px;text-align:center;color:var(--text-faint);font-variant-numeric:tabular-nums;font-size:.82rem}.path-step__body{display:flex;flex-direction:column;gap:2px;text-decoration:none;color:var(--text);min-width:0}.path-step__body strong{font-weight:500;font-size:.92rem}.path-step__body span{font-size:.78rem;color:var(--text-faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.path-step__remove{opacity:0;transition:opacity .12s ease;padding:4px 6px}.path-step:hover .path-step__remove{opacity:1}.path-add-dock{position:relative;margin-top:6px}.path-add-dock__bar{display:flex;align-items:center}.path-add-dock__trigger{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;background:transparent;border:1px dashed var(--line-strong);border-radius:8px;color:var(--text-soft);font-size:.82rem;width:100%;justify-content:center;transition:background .12s ease,color .12s ease,border-color .12s ease}.path-add-dock__trigger:hover{background:var(--hover);color:var(--text);border-color:var(--line-strong)}.path-add-dock__input{width:100%;border:1px solid var(--line-strong);border-radius:8px;padding:7px 10px;font-size:.85rem;background:var(--paper)}.path-add-dock__input:focus{outline:none;border-color:var(--text-faint);box-shadow:none}.path-add-dock__menu{position:absolute;bottom:calc(100% + 6px);left:0;right:0;background:var(--paper);border:1px solid var(--line-strong);border-radius:10px;box-shadow:var(--shadow);padding:4px;max-height:320px;overflow-y:auto;z-index:20}.path-add-dock__empty{padding:10px 12px;margin:0;color:var(--text-faint);font-size:.8rem}.path-add-dock__item{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border-radius:6px;border:none;background:transparent;text-align:left;color:var(--text)}.path-add-dock__item.is-active,.path-add-dock__item:hover{background:var(--hover)}.path-add-dock__icon{color:var(--text-soft);display:flex;align-items:center}.path-add-dock__body{display:flex;flex-direction:column;min-width:0}.path-add-dock__body strong{font-size:.86rem;font-weight:500}.path-add-dock__body span{font-size:.76rem;color:var(--text-faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.path-students{display:flex;flex-direction:column;gap:2px}.path-student{display:flex;flex-direction:column;gap:1px;align-items:flex-start;padding:7px 9px;border-radius:6px;border:none;background:transparent;text-align:left;color:var(--text);transition:background .12s ease}.path-student:hover{background:var(--hover)}.path-student.is-selected{background:var(--selected)}.path-student strong{font-weight:500;font-size:.86rem}.path-student span{font-size:.74rem;color:var(--text-faint)}.path-inline-cta{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;margin-top:6px;background:transparent;border:1px dashed var(--line-strong);border-radius:8px;color:var(--text-soft);font-size:.8rem;width:100%;justify-content:center}.path-inline-cta:hover:not(:disabled){background:var(--hover);color:var(--text)}.path-inline-cta:disabled{opacity:.5;cursor:not-allowed}.path-inline-form{display:flex;flex-direction:column;gap:8px;margin-top:6px;padding:10px;background:var(--paper);border:1px solid var(--line-strong);border-radius:8px}.path-inline-form__row{display:flex;gap:6px;align-items:stretch}.path-inline-form__row input{flex:1}.path-inline-form__error{margin:0;color:var(--danger);font-size:.75rem}.path-sessions{display:flex;flex-direction:column;gap:4px}.path-session{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;border:1px solid transparent;background:transparent;text-align:left;color:var(--text);cursor:pointer;transition:background .12s ease,border-color .12s ease}.path-session:hover{background:var(--hover);border-color:var(--line)}.path-session__order{color:var(--text-faint);font-size:.78rem;font-variant-numeric:tabular-nums}.path-session__body{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}.path-session__body strong{font-weight:500;font-size:.85rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.path-session__meta{display:flex;flex-wrap:wrap;gap:5px}.path-session__chip{display:inline-flex;align-items:center;gap:4px;padding:1px 6px;border-radius:999px;background:var(--hover);color:var(--text-soft);font-size:.7rem}.path-session__chip.is-progress-blocker{border:1px solid var(--danger);background:var(--danger-bg);color:var(--danger)}.path-session__chip.is-progress-ready{border:1px solid var(--line);background:var(--selected);color:var(--text-soft)}.student-step{display:flex;flex-direction:column;gap:10px;padding:18px 20px;border:1px solid var(--line);border-radius:12px;background:var(--paper)}.student-step__head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.student-step__head h3{margin:0;font-size:1.05rem}.session-dialog{display:flex;flex-direction:column;gap:14px}.session-dialog__row{display:grid;grid-template-columns:160px 1fr;gap:12px}.session-dialog__field{display:flex;flex-direction:column;gap:4px}.session-dialog__field>span{font-size:.72rem;color:var(--text-faint);text-transform:uppercase;letter-spacing:.04em}.session-dialog__divider{height:1px;background:var(--divider);margin:4px 0}.session-dialog__section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.session-dialog__section-head h4{margin:0 0 2px;font-size:.85rem}.session-dialog__section-head p{margin:0;font-size:.76rem;color:var(--text-faint)}.session-progress-gate{display:flex;align-items:flex-start;gap:8px;padding:10px 12px;border:1px solid var(--line);border-left:2px solid var(--danger);border-radius:8px;background:var(--danger-bg);color:var(--text-soft)}.session-progress-gate.is-ready{border-left-color:var(--accent);background:var(--selected)}.session-progress-gate>svg{flex:0 0 auto;margin-top:1px}.session-progress-gate>div{display:flex;flex:1;flex-direction:column;gap:6px;min-width:0}.session-progress-gate strong{color:var(--text);font-size:.8rem}.session-progress-gate__activities{display:flex;flex-direction:column;gap:4px}.session-progress-gate__activities a{display:flex;justify-content:space-between;gap:12px;color:var(--text-soft);font-size:.76rem}.session-progress-gate__activities a:hover span{color:var(--text);text-decoration:underline}.session-progress-gate__activities span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session-progress-gate__activities small{flex:0 0 auto;color:var(--text-faint)}.session-progress-gate__error{margin:-6px 0 0;color:var(--danger);font-size:.76rem}.inline-resource-form{display:flex;flex-direction:column;gap:8px;padding:12px;background:var(--hover);border-radius:8px;border:1px solid var(--line)}.inline-resource-form__row{display:grid;grid-template-columns:120px 1fr;gap:8px}.block-table-wrapper{overflow:hidden;border:1px solid var(--line);border-radius:8px}.block-table-scroll{overflow-x:auto;min-width:0}.block-table{width:100%;border-collapse:collapse;font-size:.9rem}.block-table__cell{padding:10px 14px;border:0;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;color:var(--text);min-width:120px;line-height:1.55;transition:background .1s ease}.block-table__row:last-child .block-table__cell{border-bottom:0}.block-table__cell--header{background:transparent;font-weight:600;font-size:.72rem;color:var(--text-faint);letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid var(--line-strong);padding:10px 14px 9px}.block-table:not(.block-table--edit) .block-table__row:nth-child(2n) .block-table__cell{background:#00000005}.block-table:not(.block-table--edit) .block-table__row:hover .block-table__cell{background:var(--hover)}.block-table__placeholder{color:var(--text-soft);opacity:.5}.block-table-wrapper--editor{display:flex;flex-direction:column;gap:0;border:1px solid var(--line);border-radius:8px;overflow:visible;min-width:0}.block-table--edit .block-table__cell{padding:0;position:relative}.block-table--edit .block-table__cell--header{padding:0}.block-table__cell-inner{display:flex;align-items:center;gap:4px;padding:6px 10px}.block-table__input{flex:1;min-width:0;border:none;background:transparent;font-size:.88rem;color:var(--text);padding:8px 12px;outline:none}.block-table__input--header{font-weight:600;font-size:.82rem;color:var(--text-soft);padding:6px 8px}.block-table__input:focus{background:var(--selected);border-radius:4px}.block-table__col-remove,.block-table__row-remove{display:flex;align-items:center;justify-content:center;width:20px;height:20px;border:none;background:transparent;color:var(--text-soft);border-radius:4px;cursor:pointer;opacity:0;transition:opacity .12s ease,background .12s ease;flex-shrink:0}.block-table__cell:hover .block-table__col-remove,.block-table__cell:hover .block-table__row-remove,.block-table__row:hover .block-table__row-remove{opacity:1}.block-table__col-remove:hover,.block-table__row-remove:hover{background:var(--hover);color:#dc2626}.block-table__cell--add-col,.block-table__cell--row-actions{width:32px;min-width:32px;padding:0;border:none;background:transparent}.block-table__add-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px dashed var(--line-strong);border-radius:6px;background:transparent;color:var(--text-soft);cursor:pointer;margin:6px;transition:background .12s ease,border-color .12s ease}.block-table__add-btn:hover{background:var(--hover);border-color:var(--text-soft)}.block-table__add-row{display:flex;align-items:center;gap:6px;padding:8px 12px;font-size:.82rem;color:var(--text-soft);background:transparent;border:none;border-top:1px solid var(--line);cursor:pointer;width:100%;text-align:left;transition:background .12s ease}.block-table__add-row:hover{background:var(--hover);color:var(--text)}.block-table__cell-image{display:block;max-width:100%;max-height:140px;border-radius:4px;-o-object-fit:contain;object-fit:contain}.block-table__cell-img-frame{position:relative;display:inline-block;max-width:100%;line-height:0}.block-table__cell-inner--image{position:relative;align-items:flex-start;padding:6px}.block-table__cell-img-add{display:flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:4px;color:var(--text-soft);cursor:pointer;opacity:0;flex-shrink:0;transition:opacity .12s ease,background .12s ease,color .12s ease}.block-table__cell:hover .block-table__cell-img-add{opacity:1}.block-table__cell-img-add:hover{background:var(--hover);color:var(--text)}.block-table__cell-img-remove{position:absolute;top:8px;right:8px;display:flex;align-items:center;justify-content:center;width:20px;height:20px;border:none;border-radius:4px;background:var(--paper);box-shadow:var(--shadow);color:var(--text-soft);cursor:pointer;opacity:0;transition:opacity .12s ease,color .12s ease}.block-table__cell:hover .block-table__cell-img-remove{opacity:1}.block-table__cell-img-remove:hover{color:var(--danger)}.block-table__cell-img-handle{position:absolute;right:-3px;bottom:-3px;width:14px;height:14px;border-radius:3px;background:var(--accent);border:2px solid var(--paper);box-shadow:var(--shadow);cursor:nwse-resize;touch-action:none;opacity:0;transition:opacity .12s ease}.block-table__cell:hover .block-table__cell-img-handle{opacity:1}.block-table__cell-error{margin:0;padding:2px 10px 6px;font-size:.72rem;color:var(--danger)}@media(max-width:900px){.path-page{padding:24px 20px 120px}.path-page__layout,.session-dialog__row{grid-template-columns:1fr}}.skeleton{display:block;width:100%;height:1rem;border-radius:6px;background:linear-gradient(90deg,#0000000b,#00000016,#0000000b);background-size:200% 100%;animation:skeleton-shimmer 1.4s ease-in-out infinite}.skeleton--cover{height:220px;border-radius:14px;background:linear-gradient(120deg,#0000000d,#00000017,#0000000d);background-size:200% 100%}.skeleton-card{display:grid;gap:.55rem;padding:1rem 1.05rem;border:1px solid var(--line);border-radius:10px;background:var(--paper)}.skeleton-card__chips{display:flex;gap:.4rem;margin-top:.35rem}.skeleton-row{display:grid;grid-template-columns:auto 1fr auto;gap:.85rem;align-items:center;padding:.85rem 1rem;border:1px solid var(--line);border-radius:10px;background:var(--paper)}.skeleton-row__body{display:grid;gap:.4rem}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media(prefers-reduced-motion:reduce){.skeleton,.skeleton--cover{animation:none;background:#0000000f}}.cal{display:flex;flex-direction:column;border:1px solid rgba(0,0,0,.08);border-radius:12px;background:#fff;overflow:hidden}.cal__header{display:flex;align-items:center;gap:1rem;padding:.6rem 1rem;border-bottom:1px solid rgba(0,0,0,.06);flex-wrap:wrap}.cal__title{margin:0 .25rem 0 0;font-size:1.05rem;font-weight:600;letter-spacing:-.01em;color:var(--text)}.cal__status{font-size:.78rem;color:var(--text-faint)}.cal__modes{margin-left:auto}.cal .button.small,.cal-popover .button.small{height:1.75rem;padding:0 .65rem;font-size:.8rem}.cal--fill{flex:1;min-height:0;border:0;border-radius:0}.cal--fill .cal__time{flex:1;min-height:0;max-height:none}.cal--fill .cal__month{flex:1;min-height:0;overflow:auto}.cal--fill .cal__month-grid{flex:1}.cal__nav{display:flex;align-items:center;gap:.5rem}.cal__range{margin:0 0 0 .5rem;font-size:.95rem;font-weight:600;color:#1f2937}.cal__modes{display:inline-flex;background:#0000000a;border-radius:8px;padding:2px}.cal__actions{display:inline-flex;align-items:center;gap:.5rem}.cal__mode{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;padding:.3rem .7rem;font:inherit;font-size:.8rem;color:#4b5563;border-radius:6px;cursor:pointer}.cal__mode.is-active{background:#fff;color:#111827;box-shadow:0 1px 2px #0000000f}.cal__time{display:flex;flex-direction:column;overflow:auto;max-height:calc(100vh - 280px)}.cal__time-headers{display:grid;position:sticky;top:0;background:#fff;z-index:2;border-bottom:1px solid rgba(0,0,0,.06)}.cal__day-header{padding:.5rem;text-align:center;border-left:1px solid rgba(0,0,0,.04);display:flex;flex-direction:column;gap:.15rem}.cal__day-header.is-today{color:#2563eb}.cal__day-name{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:#6b7280}.cal__day-header.is-today .cal__day-name{color:inherit}.cal__day-num{font-size:1.05rem;font-weight:600}.cal__time-body{display:grid;position:relative}.cal__hours{border-right:1px solid rgba(0,0,0,.06)}.cal__hour-label{font-size:.7rem;color:#9ca3af;text-align:right;padding:2px 6px 0 0;border-top:1px solid rgba(0,0,0,.04)}.cal__day-col{position:relative;border-left:1px solid rgba(0,0,0,.06);cursor:pointer;container-type:inline-size}@container (max-width: 150px){.cal__event-end{display:none}}.cal__day-col.is-today{background:#2563eb05}.cal__hour-line{position:absolute;left:0;right:0;border-top:1px solid rgba(0,0,0,.04);pointer-events:none}.cal__now{position:absolute;left:0;right:0;border-top:2px solid #ef4444;pointer-events:none;z-index:1}.cal__now:before{content:"";position:absolute;left:-4px;top:-5px;width:8px;height:8px;border-radius:50%;background:#ef4444}.cal__event{position:absolute;border:1px solid;border-left-width:3px;border-radius:6px;padding:4px 6px;font-size:.75rem;text-align:left;cursor:pointer;overflow:hidden;display:flex;flex-direction:column;gap:1px;z-index:1}.cal__event:hover{filter:brightness(.97)}.cal__event.is-cancelled{opacity:.55;text-decoration:line-through}.cal__event-time{display:inline-flex;align-items:center;gap:4px;font-weight:500;font-size:.7rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal__event-time strong{font-weight:650}.cal__event-lesson{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal__event-student{font-size:.7rem;opacity:.8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal__month{display:flex;flex-direction:column}.cal__month-header{display:grid;grid-template-columns:repeat(7,1fr);border-bottom:1px solid rgba(0,0,0,.06)}.cal__month-dayname{padding:.5rem;text-align:center;font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:#6b7280}.cal__month-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-auto-rows:minmax(110px,1fr)}.cal__month-cell{border-top:1px solid rgba(0,0,0,.06);border-left:1px solid rgba(0,0,0,.06);padding:.4rem;display:flex;flex-direction:column;gap:.3rem;cursor:pointer;min-height:110px}.cal__month-cell:nth-child(7n){border-right:1px solid rgba(0,0,0,.06)}.cal__month-cell.is-other-month{background:#00000004;color:#9ca3af}.cal__month-cell.is-today .cal__month-num{background:#2563eb;color:#fff}.cal__month-num{font-size:.78rem;font-weight:600;width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%}.cal__month-events{display:flex;flex-direction:column;gap:2px;overflow:hidden}.cal__month-event{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;padding:2px 6px;border-radius:4px;font:inherit;font-size:.7rem;text-align:left;cursor:pointer;display:flex;align-items:center;gap:4px;white-space:nowrap;overflow:hidden}.cal__month-event.is-cancelled{opacity:.55;text-decoration:line-through}.cal__month-event-time{font-weight:600;flex-shrink:0}.cal__month-event-title{overflow:hidden;text-overflow:ellipsis}.cal__month-more{font-size:.68rem;color:#6b7280;padding:0 4px}.class-activities{display:flex;flex-direction:column;gap:.75rem;margin-top:1.5rem}.class-activities__group{display:flex;flex-direction:column;gap:.4rem}.class-activities__group+.class-activities__group{padding-top:.75rem;border-top:1px solid var(--line)}.class-activities__group>.eyebrow{margin:0}.class-activities__list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column}.class-activities__row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:.75rem;padding:.45rem 0;border-bottom:1px solid var(--line);font-size:.9rem}.class-activities__row:last-child{border-bottom:0}.class-activities__row[data-skipped=true] .class-activities__name{color:var(--text-faint)}.class-activities__name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text);text-decoration:none}.class-activities__name a{color:inherit;text-decoration:none}.class-activities__name a:hover{text-decoration:underline}.class-activities__state{font-size:.8rem;white-space:nowrap}.class-activities__actions{display:inline-flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.3rem}.class-activities__confirm{font-size:.8rem}.class-activities__empty{margin:0;font-size:.85rem}.lesson-block__overlay{display:flex;justify-content:flex-end;align-items:center;gap:.5rem;margin-bottom:.35rem}.lesson-block__overlay.is-hidden{justify-content:space-between;margin-bottom:0;padding:.5rem .75rem;border:1px dashed var(--line-strong);border-radius:8px;color:var(--text-soft);font-size:.85rem}.lesson-block__overlay-note{display:inline-flex;align-items:center;gap:.35rem}.lesson-block--hidden .lesson-block__index{color:var(--line-strong);text-decoration:line-through}@media(hover:hover){.lesson-block:not(.lesson-block--hidden) .lesson-block__overlay-toggle{opacity:0;transition:opacity .12s ease}.lesson-block:not(.lesson-block--hidden):hover .lesson-block__overlay-toggle,.lesson-block:not(.lesson-block--hidden):focus-within .lesson-block__overlay-toggle{opacity:1}}.session-run__lesson-line{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .75rem;margin:.3rem 0 0;font-size:.85rem;color:var(--text)}.session-run__lesson-line>svg{color:var(--text-soft)}.session-run__lesson-edit{color:var(--text);text-decoration:none;border-bottom:1px solid var(--line-strong)}.session-run__lesson-edit:hover{border-bottom-color:var(--text)}.lesson-page__reach strong{font-weight:600;color:var(--text-soft)}.cal-popover{position:fixed;z-index:45;display:flex;flex-direction:column;gap:.6rem;padding:.85rem 1rem .9rem;background:var(--paper, #fff);border:1px solid var(--line, rgba(0, 0, 0, .08));border-radius:12px;box-shadow:0 18px 44px #0f172a29,0 3px 10px #0f172a14;animation:cal-modal-rise .14s cubic-bezier(.2,0,0,1)}.cal-popover__head{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem}.cal-popover__who{min-width:0}.cal-popover__who .eyebrow{margin:0 0 .15rem}.cal-popover__head h3{margin:0;font-size:1rem;font-weight:600;letter-spacing:-.01em;color:var(--text)}.cal-popover__head h3 a{color:inherit;text-decoration:none}.cal-popover__head h3 a:hover{text-decoration:underline}.cal-popover__when{display:flex;flex-wrap:wrap;align-items:center;gap:.2rem;margin:.15rem 0 0;font-size:.8rem;color:var(--text-soft)}.cal-popover__lesson{display:flex;align-items:flex-start;gap:.4rem;margin:0;font-size:.85rem;color:var(--text)}.cal-popover__lesson>svg{flex:none;margin-top:.2rem;color:var(--text-soft)}.cal-popover__actions{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}.cal-popover a.button{text-decoration:none}.cal-popover__more{margin-left:auto}.cal-popover__menu{display:flex;flex-direction:column;padding-top:.4rem;border-top:1px solid var(--line)}.cal-popover__menu-item{padding:.38rem .5rem;border:0;border-radius:6px;background:transparent;text-align:left;font-size:.85rem;color:var(--text)}.cal-popover__menu-item:hover:not(:disabled){background:var(--hover)}.cal-popover__menu-item:disabled{color:var(--text-faint);cursor:not-allowed}.cal-popover__menu-item.is-danger{color:var(--danger)}.cal-popover__form,.cal-popover__confirm{display:flex;flex-direction:column;gap:.6rem;padding-top:.5rem;border-top:1px solid var(--line)}.cal-popover__form label{display:grid;gap:.3rem;font-size:.78rem;color:var(--text-soft)}.cal-popover__confirm p{margin:0;font-size:.85rem;color:var(--text)}.cal-modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a52;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:50;padding:1rem;animation:cal-modal-fade .12s ease}@keyframes cal-modal-fade{0%{opacity:0}to{opacity:1}}.cal-modal__panel{background:var(--paper, #fff);border:1px solid var(--line, rgba(0, 0, 0, .08));border-radius:14px;width:min(460px,100%);padding:1.25rem 1.35rem 1.1rem;display:flex;flex-direction:column;gap:.95rem;box-shadow:0 24px 60px #0f172a33,0 4px 12px #0f172a14;animation:cal-modal-rise .14s cubic-bezier(.2,0,0,1)}@keyframes cal-modal-rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.cal-modal__head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.15rem}.cal-modal__head h3{margin:0;font-size:1.05rem;font-weight:600;letter-spacing:-.01em;color:var(--text, #1f2328)}.cal-modal__panel label{display:flex;flex-direction:column;gap:.4rem;font-size:.74rem;font-weight:500;letter-spacing:.02em;text-transform:uppercase;color:var(--text-soft, #52525b)}.cal-modal__panel input,.cal-modal__panel select,.cal-modal__panel textarea{padding:.55rem .7rem;border:1px solid var(--line-strong, rgba(0, 0, 0, .14));border-radius:8px;font:inherit;font-size:.9rem;font-weight:400;letter-spacing:normal;text-transform:none;color:var(--text, #1f2328);background:var(--paper, #fff);transition:border-color 80ms ease,box-shadow 80ms ease,background 80ms ease;width:100%}.cal-modal__panel input:hover,.cal-modal__panel select:hover,.cal-modal__panel textarea:hover{border-color:#00000038}.cal-modal__panel input:focus,.cal-modal__panel select:focus,.cal-modal__panel textarea:focus{outline:none;border-color:var(--text, #1f2328);box-shadow:0 0 0 3px #1f232814}.cal-modal__panel input:disabled,.cal-modal__panel select:disabled{background:var(--hover, #f4f4f5);color:var(--text-faint, #a1a1aa);cursor:not-allowed}.cal-modal__panel select{-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2352525b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>");background-repeat:no-repeat;background-position:right .7rem center;padding-right:2rem}.cal-modal__panel input[type=number]{padding-right:.45rem}.cal-modal__row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.cal-modal__actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.4rem;padding-top:.85rem;border-top:1px solid var(--divider, rgba(0, 0, 0, .05));flex-wrap:wrap}.cal-modal__panel .form-error{font-size:.8rem;font-weight:400;letter-spacing:normal;text-transform:none;padding:.55rem .7rem;border-radius:8px;background:var(--danger-bg, #fbe4e4);color:var(--danger, #e03e3e)}@media(max-width:480px){.cal-modal__panel{padding:1rem 1.1rem;gap:.8rem}.cal-modal__row{grid-template-columns:1fr}}.select-trigger{display:inline-flex;align-items:center;justify-content:space-between;gap:.5rem;width:100%;padding:.55rem .7rem;border:1px solid var(--line-strong, rgba(0, 0, 0, .14));border-radius:8px;background:var(--paper, #fff);color:var(--text, #1f2328);font:inherit;font-size:.9rem;text-align:left;cursor:pointer;transition:border-color 80ms ease,box-shadow 80ms ease}.select-trigger:hover{border-color:#00000038}.select-trigger[data-state=open],.select-trigger:focus-visible{outline:none;border-color:var(--text, #1f2328);box-shadow:0 0 0 3px #1f232814}.select-trigger[data-disabled]{background:var(--hover, #f4f4f5);color:var(--text-faint, #a1a1aa);cursor:not-allowed}.select-trigger[data-placeholder]{color:var(--text-faint, #a1a1aa)}.select-trigger__icon{flex:0 0 auto;color:var(--text-soft, #52525b);display:inline-flex;align-items:center;transition:transform .12s ease}.select-trigger[data-state=open] .select-trigger__icon{transform:rotate(180deg)}.select-content{z-index:60;min-width:var(--radix-select-trigger-width);max-height:min(360px,var(--radix-select-content-available-height));background:var(--paper, #fff);border:1px solid var(--line, rgba(0, 0, 0, .08));border-radius:10px;box-shadow:0 16px 40px #0f172a29,0 2px 6px #0f172a0f;overflow:hidden;animation:select-content-rise .1s cubic-bezier(.2,0,0,1)}@keyframes select-content-rise{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.select-viewport{padding:.3rem}.select-item{position:relative;display:flex;align-items:center;gap:.5rem;padding:.45rem .6rem .45rem 1.85rem;border-radius:6px;font-size:.88rem;color:var(--text, #1f2328);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;outline:none}.select-item[data-highlighted]{background:var(--hover, #f4f4f5)}.select-item[data-state=checked]{font-weight:500}.select-item[data-disabled]{color:var(--text-faint, #a1a1aa);cursor:not-allowed}.select-item__indicator{position:absolute;left:.55rem;top:0;bottom:0;display:inline-flex;align-items:center;color:var(--text, #1f2328)}.select-group+.select-group{margin-top:.25rem;padding-top:.25rem;border-top:1px solid var(--divider, rgba(0, 0, 0, .05))}.select-group-label{display:block;padding:.45rem .6rem .25rem;font-size:.7rem;font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:var(--text-soft, #52525b)}.select-separator{height:1px;margin:.25rem 0;background:var(--divider, rgba(0, 0, 0, .05))}.recurrence{display:flex;flex-direction:column;gap:.5rem}.recurrence__summary{display:flex;align-items:center;gap:.55rem;width:100%;padding:.55rem .7rem;border:1px solid var(--line-strong, rgba(0, 0, 0, .14));border-radius:8px;background:var(--paper, #fff);color:var(--text, #1f2328);font:inherit;font-size:.9rem;font-weight:400;text-align:left;cursor:pointer;transition:border-color 80ms ease,box-shadow 80ms ease}.recurrence__summary:hover{border-color:#00000038}.recurrence__summary:focus-visible{outline:none;border-color:var(--text, #1f2328);box-shadow:0 0 0 3px #1f232814}.recurrence__summary-icon{flex:0 0 auto;color:var(--text-soft, #52525b);display:inline-flex}.recurrence.is-on .recurrence__summary-icon{color:var(--text, #1f2328)}.recurrence__summary-text{flex:1;min-width:0;text-transform:none;letter-spacing:normal;font-weight:400;color:var(--text, #1f2328)}.recurrence:not(.is-on) .recurrence__summary-text{color:var(--text-faint, #a1a1aa)}.recurrence__summary-edit{flex:0 0 auto;font-size:.78rem;font-weight:500;color:var(--text-soft, #52525b);text-transform:none;letter-spacing:normal}.recurrence__editor{display:flex;flex-direction:column;gap:.85rem;padding:.85rem .95rem;border:1px solid var(--line-strong, rgba(0, 0, 0, .14));border-radius:10px;background:var(--paper, #fff);animation:recurrence-rise .12s cubic-bezier(.2,0,0,1)}@keyframes recurrence-rise{0%{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:translateY(0)}}.recurrence__editor-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.recurrence__toggle{display:inline-flex;align-items:center;gap:.5rem;font-size:.8rem;font-weight:500;text-transform:uppercase;letter-spacing:.04em;color:var(--text, #1f2328);cursor:pointer;flex-direction:row}.recurrence__toggle input[type=checkbox]{width:1rem;height:1rem;margin:0;cursor:pointer;accent-color:var(--text, #1f2328)}.recurrence__close{font:inherit;font-size:.78rem;font-weight:500;color:var(--text-soft, #52525b);background:transparent;border:0;cursor:pointer;padding:.2rem .55rem;border-radius:6px;text-transform:none;letter-spacing:normal}.recurrence__close:hover{background:var(--hover, #f4f4f5);color:var(--text, #1f2328)}.recurrence__presets{display:flex;flex-wrap:wrap;gap:.3rem}.recurrence__preset{font:inherit;font-size:.78rem;font-weight:400;text-transform:none;letter-spacing:normal;padding:.3rem .6rem;border-radius:999px;border:1px solid var(--line-strong, rgba(0, 0, 0, .14));background:transparent;color:var(--text-soft, #52525b);cursor:pointer;transition:background 80ms ease,color 80ms ease,border-color 80ms ease}.recurrence__preset:hover{background:var(--hover, #f4f4f5);color:var(--text, #1f2328)}.recurrence__preset.is-active{background:var(--text, #1f2328);border-color:var(--text, #1f2328);color:var(--paper, #fff)}.recurrence__row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.recurrence__lead{font-size:.78rem;font-weight:500;text-transform:uppercase;letter-spacing:.04em;color:var(--text-soft, #52525b);flex:0 0 3.5rem}.recurrence__interval,.recurrence__count{width:4rem}.recurrence__until{flex:1;min-width:8rem}.recurrence__freq{display:inline-flex;border:1px solid var(--line-strong, rgba(0, 0, 0, .14));border-radius:8px;padding:2px;gap:2px;background:var(--paper, #fff)}.recurrence__freq-chip{font:inherit;font-size:.82rem;font-weight:400;text-transform:none;letter-spacing:normal;padding:.3rem .7rem;border-radius:6px;border:0;background:transparent;color:var(--text-soft, #52525b);cursor:pointer;transition:background 80ms ease,color 80ms ease}.recurrence__freq-chip:hover{color:var(--text, #1f2328)}.recurrence__freq-chip.is-active{background:var(--text, #1f2328);color:var(--paper, #fff)}.recurrence__weekdays{display:inline-flex;gap:.25rem;flex-wrap:wrap}.recurrence__weekday{width:1.85rem;height:1.85rem;border-radius:50%;border:1px solid var(--line-strong, rgba(0, 0, 0, .14));background:var(--paper, #fff);color:var(--text-soft, #52525b);font:inherit;font-size:.8rem;font-weight:500;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background 80ms ease,color 80ms ease,border-color 80ms ease}.recurrence__weekday:hover{background:var(--hover, #f4f4f5);color:var(--text, #1f2328)}.recurrence__weekday.is-active{background:var(--text, #1f2328);border-color:var(--text, #1f2328);color:var(--paper, #fff)}.recurrence__end{display:flex;flex-direction:column;gap:.4rem;flex:1;min-width:14rem}.recurrence__end-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.recurrence__end-radio{display:inline-flex;align-items:center;gap:.45rem;border:0;background:transparent;cursor:pointer;font:inherit;font-size:.85rem;text-transform:none;letter-spacing:normal;color:var(--text, #1f2328);padding:0;flex:0 0 5.5rem;text-align:left}.recurrence__end-dot{width:14px;height:14px;border-radius:50%;border:1.5px solid var(--line-strong, rgba(0, 0, 0, .18));background:var(--paper, #fff);display:inline-block;position:relative;flex:0 0 auto;transition:border-color 80ms ease}.recurrence__end-row.is-active .recurrence__end-dot{border-color:var(--text, #1f2328)}.recurrence__end-row.is-active .recurrence__end-dot:after{content:"";position:absolute;top:3px;right:3px;bottom:3px;left:3px;border-radius:50%;background:var(--text, #1f2328)}.recurrence__end-trailing{display:inline-flex;align-items:center;gap:.4rem;flex:1;min-width:0}.recurrence__after-suffix{font-size:.82rem;color:var(--text-soft, #52525b)}.session-run{display:flex;flex-direction:column;gap:1rem}.session-run__topbar{display:grid;grid-template-columns:auto minmax(0,1fr) fit-content(45%);align-items:center;gap:1rem;padding-bottom:.5rem;border-bottom:1px solid var(--border-subtle, #e5e7eb)}.session-run__topbar-title{min-width:0}.session-run__topbar-title h1{font-size:1.25rem;margin:.15rem 0}.session-run__topbar-title .eyebrow{display:inline-flex;align-items:center;gap:.3rem}.session-run__meta{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;font-size:.85rem}.session-run__topbar-actions{display:flex;gap:.4rem;flex-wrap:wrap;justify-content:flex-end}.session-run__layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:1.25rem;align-items:start}.session-run__layout--free{grid-template-columns:minmax(0,720px);justify-content:center}.session-run__main{min-width:0}.session-run__rail{display:flex;flex-direction:column;gap:.75rem;position:sticky;top:.75rem}.session-run__panel{display:flex;flex-direction:column;gap:.4rem;padding:.85rem .95rem;border:1px solid var(--border-subtle, #e5e7eb);border-radius:10px;background:var(--surface-card, #fff)}.session-run__panel h3{margin:0;font-size:1rem}.session-run__panel .eyebrow{margin:0}.session-run__notes{width:100%;resize:vertical;min-height:7rem;font:inherit;padding:.5rem .6rem;border:1px solid var(--border-subtle, #e5e7eb);border-radius:8px;background:var(--surface-canvas, #fafafa)}.session-run__notes:focus{outline:none;border-color:var(--accent, #6366f1);background:#fff}.session-run__notes-meta{font-size:.75rem;margin:0}.session-run__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.session-run__list li{display:flex;flex-direction:column;gap:.15rem;font-size:.85rem;padding-bottom:.4rem;border-bottom:1px dashed var(--border-subtle, #eef)}.session-run__list li:last-child{border-bottom:0;padding-bottom:0}.session-run__list li p{margin:0;font-size:.8rem}.session-run__list a{color:inherit;text-decoration:none}.session-run__list a:hover{text-decoration:underline}.session-run__status{display:inline-block;padding:1px 8px;border-radius:999px;font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;background:#f1f5f9;color:#475569}.session-run__status--scheduled{background:#e0f2fe;color:#0369a1}.session-run__status--completed{background:#dcfce7;color:#166534}.session-run__status--cancelled{background:#fee2e2;color:#991b1b}.session-run__status--postponed{background:#fef3c7;color:#92400e}.session-resources{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--line, #e7e6e2);display:flex;flex-direction:column;gap:.5rem}.session-resources__head{display:flex;align-items:baseline;justify-content:space-between}.session-resources__head .eyebrow{margin:0}.session-resources__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}.session-resources__ruler{border:0;border-top:1px dashed var(--line, #e7e6e2);margin:.35rem 0}.session-resources__item{display:flex;flex-direction:column;gap:.2rem;padding:.3rem .4rem;margin:0 -.4rem;border:1px solid transparent;border-radius:6px;transition:background 80ms ease,border-color 80ms ease,opacity 80ms ease}.session-resources__item.is-dragging{opacity:.55}.session-resources__item.is-drop-target{background:var(--hover, #f3f3f1);border-color:var(--line, #e7e6e2)}.session-resources__row{display:flex;align-items:center;gap:.4rem}.session-resources__grip{width:1.1rem;height:1.1rem;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:4px;background:transparent;color:var(--text-faint, #a09f9b);cursor:grab;flex:0 0 auto;padding:0}.session-resources__grip:hover{background:var(--hover, #f3f3f1);color:var(--text-soft, #6f6e69)}.session-resources__grip--placeholder{visibility:hidden;cursor:default}.session-resources__icon{flex:0 0 auto;color:var(--text-soft, #6f6e69)}.session-resources__body{flex:1;min-width:0}.session-resources__title{color:inherit;text-decoration:none;font-size:.9rem}.session-resources__title:hover{text-decoration:underline}.session-resources__actions{display:inline-flex;align-items:center;gap:.2rem;flex:0 0 auto}.session-resources__action{width:1.1rem;height:1.1rem;display:inline-flex;align-items:center;justify-content:center;border:0;background:transparent;color:var(--text-faint, #a09f9b);cursor:pointer;padding:0;border-radius:4px}.session-resources__action:hover{background:var(--hover, #f3f3f1);color:var(--text-soft, #6f6e69)}.session-resources__description{margin:0;font-size:.8rem;color:var(--text-soft, #6f6e69);padding-left:1.85rem}.session-resources__quote{margin:0;font-size:.82rem;font-style:italic;padding-left:1.85rem;color:var(--text-soft, #6f6e69)}.session-resources__fields{display:flex;flex-direction:column;gap:.15rem;padding-left:1.85rem}.session-resources__fields .inline-input,.session-resources__fields .inline-textarea{font-size:.82rem}.command-dock__form{background:var(--paper, #fff);border:1px solid var(--line, #e7e6e2);border-radius:12px;box-shadow:0 16px 40px #0f0f0f24,0 2px 6px #0f0f0f0f;padding:.7rem;display:flex;flex-direction:column;gap:.45rem;animation:command-dock-rise .12s ease}.command-dock__form input,.command-dock__form textarea{font:inherit;padding:.4rem .5rem;border:1px solid var(--line, #e7e6e2);border-radius:6px;background:var(--paper, #fff);outline:none}.command-dock__form input:focus,.command-dock__form textarea:focus{border-color:var(--text, #37352f)}.command-dock__form-head{display:flex;align-items:center;justify-content:space-between}.command-dock__form-pill{display:inline-flex;align-items:center;gap:.3rem;font-size:.75rem;color:var(--text, #37352f);font-weight:600}.command-dock__form-actions{display:flex;justify-content:flex-end;gap:.4rem;margin-top:.1rem}@media(max-width:960px){.session-run__topbar{grid-template-columns:1fr}.session-run__topbar-actions{justify-content:flex-start}.session-run__layout{grid-template-columns:minmax(0,1fr)}.session-run__rail{position:static}}body.body--presenting .sidebar,body.body--presenting .topbar{display:none!important}body.body--presenting .app-shell{grid-template-columns:minmax(0,1fr)}body.body--presenting .main-content{padding:0;max-width:none}.session-run--presenting .session-run__topbar,.session-run--presenting .session-run__rail{display:none}.session-run--presenting .session-run__layout{grid-template-columns:minmax(0,1fr)}.session-run--presenting .session-run__main{max-width:860px;margin:0 auto;padding:2.5rem 2rem 4rem;font-size:1.0625rem;line-height:1.65}.session-run--presenting .session-run__main h1,.session-run--presenting .session-run__main h2{font-size:1.6rem}.session-run--presenting .session-run__main p,.session-run--presenting .session-run__main li{font-size:1.05rem}.session-present__topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.55rem 1.25rem;background:#ffffffeb;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-bottom:1px solid var(--border, rgba(0, 0, 0, .08))}.session-present__topbar-title{display:flex;align-items:baseline;gap:.6rem;min-width:0}.session-present__topbar-title h1{font-size:.95rem;font-weight:600;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.session-present__topbar-title .eyebrow{margin:0}.session-present__topbar-title .muted{margin:0;font-size:.75rem}.session-present__topbar-actions{display:flex;align-items:center;gap:.75rem}.session-present__hint{font-size:.7rem}@media(max-width:720px){.session-present__hint{display:none}.session-run--presenting .session-run__main{padding:1.25rem 1rem 2.5rem}}.resource-anno__modal{width:min(960px,96vw);max-height:92vh;padding:0;display:flex;flex-direction:column;overflow:hidden}.resource-anno{display:flex;flex-direction:column;min-height:0;overflow:hidden}.resource-anno__header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem 1rem;border-bottom:1px solid var(--border, rgba(0, 0, 0, .08))}.resource-anno__title strong{font-weight:600;font-size:.95rem}.resource-anno__tools{display:flex;align-items:center;gap:.3rem}.resource-anno__close{margin-left:.5rem}.resource-anno__divider{display:inline-block;width:1px;height:1.1rem;margin:0 .25rem;background:var(--line, rgba(0, 0, 0, .08));vertical-align:middle}.resource-anno__legend-hint{margin-left:auto;display:inline-flex;align-items:center;gap:.3rem;color:var(--text-soft, #52525b);font-size:.72rem}.resource-anno.is-fullscreen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:var(--paper, #fff);margin:0;border-radius:0;padding:1rem;display:flex;flex-direction:column}.resource-anno.is-fullscreen .resource-anno__frame{flex:1;min-height:0}.resource-anno__layout{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:.75rem;align-items:stretch}@media(max-width:720px){.resource-anno__layout{grid-template-columns:minmax(0,1fr)}}.resource-anno__rail{display:flex;flex-direction:column;gap:.6rem;padding:.75rem;background:var(--paper, #fff);border:1px solid var(--line, rgba(0, 0, 0, .08));border-radius:8px;min-width:0;max-height:100%;overflow:auto}.resource-anno__rail-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.resource-anno__rail-title{margin:0;font-size:.74rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-soft, #52525b)}.resource-anno__rail-count{font-size:.72rem;font-weight:500;color:var(--text-faint, #a1a1aa);padding:.05rem .4rem;border-radius:999px;background:var(--hover, #f4f4f5)}.resource-anno__rail-filters{display:flex;flex-direction:column;gap:.3rem;padding:.5rem 0;border-top:1px solid var(--divider, rgba(0, 0, 0, .05));border-bottom:1px solid var(--divider, rgba(0, 0, 0, .05))}.resource-anno__rail-filter-label{margin:0;font-size:.65rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-faint, #a1a1aa)}.resource-anno__rail-filter-row{display:flex;flex-wrap:wrap;gap:.25rem}.resource-anno__rail-chip{display:inline-flex;align-items:center;gap:.3rem;padding:.18rem .5rem;font:inherit;font-size:.74rem;border-radius:999px;border:1px solid var(--line, rgba(0, 0, 0, .08));background:var(--paper, #fff);color:var(--text, #1f2328);cursor:pointer;transition:opacity 80ms ease,background 80ms ease,color 80ms ease,border-color 80ms ease}.resource-anno__rail-chip.is-on{background:var(--text, #1f2328);border-color:var(--text, #1f2328);color:var(--paper, #fff)}.resource-anno__rail-chip.is-off{opacity:.55}.resource-anno__rail-chip-dot{width:8px;height:8px;border-radius:50%;flex:0 0 auto}.resource-anno__rail-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.25rem}.resource-anno__rail-item{display:flex;align-items:stretch;gap:.2rem;border-radius:6px;border:1px solid transparent;transition:background 80ms ease,border-color 80ms ease,opacity 80ms ease}.resource-anno__rail-item:hover{background:var(--hover, #f4f4f5)}.resource-anno__rail-item.is-selected{background:var(--hover, #f4f4f5);border-color:var(--line-strong, rgba(0, 0, 0, .14))}.resource-anno__rail-item.is-hidden{opacity:.45}.resource-anno__rail-item-main{flex:1;display:flex;align-items:flex-start;gap:.45rem;padding:.4rem .5rem;border:0;background:transparent;cursor:pointer;font:inherit;text-align:left;color:var(--text, #1f2328);min-width:0}.resource-anno__rail-item-icon{display:inline-flex;align-items:center;justify-content:center;width:1rem;flex:0 0 auto;color:var(--text-soft, #52525b);margin-top:.1rem}.resource-anno__rail-item.type-text .resource-anno__rail-item-icon{color:#0b6e99}.resource-anno__rail-item.type-highlight .resource-anno__rail-item-icon{color:#b45309}.resource-anno__rail-item.type-draw .resource-anno__rail-item-icon{color:#d35400}.resource-anno__rail-item-body{display:flex;flex-direction:column;gap:.1rem;min-width:0;flex:1}.resource-anno__rail-item-title{font-size:.82rem;font-weight:500;color:var(--text, #1f2328)}.resource-anno__rail-item-meta{display:inline-flex;align-items:center;gap:.3rem;font-size:.7rem;color:var(--text-soft, #52525b)}.resource-anno__rail-item-author{width:8px;height:8px;border-radius:50%;flex:0 0 auto}.resource-anno__rail-item-dot{color:var(--text-faint, #a1a1aa)}.resource-anno__rail-item-preview{font-size:.74rem;color:var(--text-soft, #52525b);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.resource-anno__rail-item-color{width:8px;height:8px;border-radius:50%;flex:0 0 auto;margin-top:.35rem;border:1px solid rgba(0,0,0,.1)}.resource-anno__rail-item-del{width:1.6rem;border:0;background:transparent;color:var(--text-faint, #a1a1aa);cursor:pointer;border-radius:6px;display:inline-flex;align-items:center;justify-content:center}.resource-anno__rail-item-del:hover{color:var(--danger, #e03e3e);background:var(--danger-bg, #fbe4e4)}.resource-anno__rail-empty{font-size:.78rem;color:var(--text-faint, #a1a1aa);margin:.25rem 0 0}.resource-anno__legend{display:flex;align-items:center;gap:.4rem;padding:.45rem 1rem;font-size:.7rem;color:#0009;border-bottom:1px solid var(--border, rgba(0,0,0,.06))}.resource-anno__chip{display:inline-block;width:10px;height:10px;border-radius:999px;margin-right:2px;margin-left:6px}.resource-anno__chip:first-child{margin-left:0}.resource-anno__pager{display:flex;align-items:center;gap:.5rem;padding:.4rem 1rem;border-bottom:1px solid var(--border, rgba(0,0,0,.06))}.resource-anno__frame{position:relative;flex:1;overflow:auto;background:#f6f6f7;display:flex;justify-content:center;align-items:flex-start;padding:1rem;-webkit-user-select:none;-moz-user-select:none;user-select:none;touch-action:none}.resource-anno__frame.is-editing{cursor:crosshair}.resource-anno__page-anchor{position:relative;display:inline-block}.resource-anno__frame .react-pdf__Document,.resource-anno__frame .react-pdf__Page{position:relative}.resource-anno__image{display:block;max-width:100%;height:auto;pointer-events:none}.resource-anno__draft-rect{position:absolute;border:1.5px solid;border-radius:2px;pointer-events:none}.resource-anno__draft-path{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.resource-anno__mark{position:absolute}.resource-anno__mark--highlight{border:1.5px solid;border-radius:2px;cursor:default}.resource-anno__mark--text{transform:translate(-4px,-4px);background:#fff;border:1.5px solid;border-radius:4px;padding:.25rem .4rem;font-size:.78rem;max-width:200px;box-shadow:0 2px 6px #00000014;cursor:text}.resource-anno__text-input{width:100%;border:none;outline:none;background:transparent;font:inherit;resize:vertical}.resource-anno__text-body{white-space:pre-wrap;word-break:break-word}.resource-anno__mark-del{position:absolute;top:-10px;right:-10px;padding:2px;background:#fff;border-radius:999px;box-shadow:0 1px 3px #0000002e;opacity:0;transition:opacity .12s}.resource-anno__mark:hover .resource-anno__mark-del{opacity:1}.library-page__loading{padding:1.5rem 0;color:var(--text-soft);font-size:.9rem}.library-usage{margin:.75rem 0 1.5rem;font-size:.8rem}.library-usage__numbers{display:flex;align-items:baseline;flex-wrap:wrap;gap:.35rem}.library-usage__sep{color:var(--text-faint)}.library-usage__bar{margin-top:.4rem;max-width:18rem;height:4px;background:var(--line);border-radius:999px;overflow:hidden}.library-usage__fill{height:100%;background:var(--accent);border-radius:999px;transition:width .22s ease}.library-usage__fill--warn{background:#d97706}.library-usage__fill--over{background:var(--danger)}.library-table{border:1px solid var(--line);border-radius:12px;background:var(--paper);overflow:hidden}.library-table__head,.library-table__row{display:grid;grid-template-columns:minmax(0,2.4fr) minmax(0,.55fr) minmax(0,1.8fr) minmax(0,.55fr) auto;gap:.75rem;align-items:center;padding:.6rem 1rem;font-size:.85rem}.library-table__head{background:var(--hover, #f6f6f4);border-bottom:1px solid var(--line);font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-soft)}.library-table__row+.library-table__row{border-top:1px solid var(--line)}.library-table__row>span{min-width:0}.library-table__name{display:flex;flex-direction:column;gap:.2rem;color:var(--text)}.library-table__title{display:flex;align-items:flex-start;gap:.45rem;font-weight:500;overflow-wrap:anywhere}.library-table__title>svg{flex:none;margin-top:.2rem;color:var(--text-soft)}.library-table__facts{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;padding-left:1.25rem;font-size:.78rem}.library-table__parts-toggle{display:inline-flex;flex:none;align-items:center;gap:.25rem;padding:.05rem .45rem;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--text-soft);font-size:.72rem;font-weight:500;white-space:nowrap}.library-table__parts-toggle:hover,.library-table__parts-toggle[aria-expanded=true]{color:var(--text);border-color:var(--text-faint)}.library-table__used-in{line-height:1.55;color:var(--text-soft)}.library-table__reference-item{overflow-wrap:anywhere}.library-table__reference-sep{margin:0 .35rem;color:var(--text-faint)}.library-table__reference{color:inherit;text-decoration:none}a.library-table__reference:hover{color:var(--text);text-decoration:underline}.library-table__more{margin-left:.4rem;padding:0;border:none;background:transparent;color:var(--text-faint);font-size:.78rem}.library-table__more:hover{color:var(--text)}.library-table__size{white-space:nowrap}.library-table__actions{display:inline-flex;justify-content:flex-end;gap:.25rem}.library-table__action{padding:.2rem .5rem;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--text-soft);font-size:.78rem;white-space:nowrap}.library-table__action:hover{color:var(--text);border-color:var(--line)}@media(hover:hover)and (min-width:721px){.library-table__row .library-table__action{opacity:0;transition:opacity .12s ease}.library-table__row:hover .library-table__action,.library-table__row:focus-within .library-table__action{opacity:1}}.library-table__fragments{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:.3rem;padding:.1rem 0 .15rem 1.45rem}.library-table__fragment{display:inline-flex;align-items:center;gap:.25rem;padding:.05rem .4rem;border:1px solid var(--line);border-radius:999px;font-size:.72rem;font-weight:500;color:var(--text-soft);white-space:nowrap}.library-table__fragment-remove{display:inline-flex;padding:.05rem;border:none;background:transparent;color:var(--text-faint);cursor:pointer}.library-table__fragment-remove:hover{color:var(--danger)}@media(max-width:720px){.library-table__head{display:none}.library-table__row{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"name size" "type type" "used used" "actions actions" "parts parts";row-gap:.2rem}.library-table__name{grid-area:name}.library-table__size{grid-area:size}.library-table__row>span:nth-child(2){grid-area:type;font-size:.78rem}.library-table__used-in{grid-area:used;font-size:.78rem}.library-table__actions{grid-area:actions;justify-content:flex-start}.library-table__fragments{grid-area:parts;padding-left:0}.library-table__facts{padding-left:0}}.library-table__row.is-selected{background:var(--hover)}button.library-table__title{padding:0;border:0;background:transparent;text-align:left;color:inherit;font:inherit;font-weight:500;cursor:pointer}button.library-table__title:hover>span{text-decoration:underline}.library-panel{position:fixed;top:0;right:0;bottom:0;z-index:40;width:min(30rem,100vw);display:flex;flex-direction:column;gap:.9rem;padding:1rem 1.1rem 1.25rem;overflow:auto;background:var(--paper);border-left:1px solid var(--line);box-shadow:-18px 0 44px #0f172a1f;animation:library-panel-slide .16s cubic-bezier(.2,0,0,1)}@keyframes library-panel-slide{0%{transform:translate(12px);opacity:0}to{transform:translate(0);opacity:1}}.library-panel__head{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem}.library-panel__title{display:flex;align-items:flex-start;gap:.45rem;min-width:0;overflow-wrap:anywhere}.library-panel__title>svg{flex:none;margin-top:.2rem;color:var(--text-soft)}.library-panel__facts{margin:-.5rem 0 0;font-size:.8rem}.library-panel__preview{min-height:6rem}.library-panel__preview .material-block__pages,.library-panel__preview .material-block__page{max-width:100%}.library-panel__note{margin:.4rem 0 0;font-size:.78rem}.library-panel__section h3{margin:0 0 .3rem;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-soft)}.library-panel__section .library-table__used-in{font-size:.85rem}.library-panel__parts{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.25rem;font-size:.85rem}.library-panel__parts li{display:flex;align-items:center;gap:.35rem}.library-panel__parts svg{color:var(--text-faint)}.library-panel__actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:auto;padding-top:.75rem;border-top:1px solid var(--line)}.library-delete{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.4rem;font-size:.8rem;color:var(--text)}.library-delete--refused{color:var(--text-soft)}.library-table__actions .library-delete{justify-content:flex-end}.library-table__action[data-refused=true],.button[data-refused=true]{color:var(--text-faint)}.library-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;margin:0 0 .9rem}.library-toolbar__search{display:flex;flex:1 1 14rem;align-items:center;gap:.4rem;max-width:24rem;padding:0 .6rem;border:1px solid var(--line);border-radius:8px;color:var(--text-faint)}.library-toolbar__search:focus-within{border-color:var(--text-faint)}.library-toolbar__search input{border:none;padding:.4rem 0;background:transparent;box-shadow:none}.library-toolbar__sort{width:auto;padding:.4rem .6rem;border-color:var(--line);border-radius:8px;font-size:.82rem;color:var(--text-soft)}.library-toolbar .library-upload{margin:0 0 0 auto}.library-page__none{padding:1.5rem 0;font-size:.9rem}.library-upload{display:flex;align-items:center;gap:.75rem;margin:0 0 1rem}.library-upload__button{display:inline-flex;align-items:center;gap:.4rem}.library-upload__error,.library-upload__hint{margin:0}.library-upload__hint{font-size:.8125rem;color:var(--text-faint)}.library-picker__backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#14141673;display:flex;align-items:center;justify-content:center;padding:1.5rem;z-index:100}.library-picker{width:min(560px,100%);max-height:80vh;display:flex;flex-direction:column;background:var(--paper);border:1px solid var(--line);border-radius:14px;box-shadow:0 10px 40px #0000002e;padding:1rem 1.1rem 1.1rem;gap:.6rem;overflow:hidden}.library-picker__head{display:flex;align-items:center;justify-content:space-between;padding-bottom:.2rem;border-bottom:1px solid var(--line);margin-bottom:.5rem}.library-picker__close{border:0;background:transparent;cursor:pointer;padding:4px;border-radius:6px;color:var(--text-soft)}.library-picker__close:hover{background:var(--hover, #f6f6f4);color:var(--text)}.library-picker__hint{padding:.5rem .25rem}.library-picker__upload{display:flex;flex-direction:column;gap:.35rem;padding-bottom:.5rem;border-bottom:1px solid var(--line)}.library-picker__upload-button{display:inline-flex;align-items:center;gap:.4rem;align-self:flex-start;padding:.45rem .75rem;border:1px dashed var(--line);border-radius:8px;background:var(--paper);color:var(--text-soft);font-size:.85rem;cursor:pointer;transition:border-color .12s ease,color .12s ease}.library-picker__upload-button:hover:not(:disabled){border-color:var(--accent);color:var(--text)}.library-picker__upload-button:disabled{opacity:.6;cursor:not-allowed}.library-picker__upload-error{margin:0}.library-picker__list{list-style:none;margin:0;padding:0;overflow-y:auto;display:flex;flex-direction:column;gap:.25rem}.library-picker__item+.library-picker__item{border-top:1px solid var(--line);padding-top:.25rem}.library-picker__row{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.55rem .6rem;border:0;background:transparent;border-radius:8px;cursor:pointer;text-align:left;font-size:.88rem;color:var(--text)}.library-picker__row:hover:not(:disabled){background:var(--hover, #f6f6f4)}.library-picker__item.is-selected .library-picker__row{background:var(--hover, #f6f6f4)}.library-picker__row-name{display:inline-flex;align-items:center;gap:.5rem;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.library-picker__range{display:flex;align-items:center;flex-wrap:wrap;gap:.55rem;padding:.45rem .6rem .6rem;font-size:.85rem;color:var(--text-soft)}.library-picker__range-field{display:inline-flex;align-items:center;gap:.35rem}.library-picker__range-field input{width:4rem;padding:4px 6px;border:1px solid var(--line);border-radius:6px;background:var(--paper);color:var(--text);font-size:.85rem}.library-picker__range-hint{font-size:.78rem}.library-picker__attach{margin-left:auto}.today-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(17rem,.9fr);grid-auto-flow:row dense;gap:2rem;align-items:start}.today-section{min-width:0;border-top:1px solid var(--line)}.today-section--attention{grid-row:span 2}.today-section__heading{display:flex;align-items:center;justify-content:space-between;padding:.8rem .25rem .65rem}.today-section__heading h2{margin:0;font-size:.95rem;font-weight:650}.today-section__heading span{min-width:1.4rem;border-radius:999px;padding:.1rem .4rem;background:var(--hover);color:var(--text-soft);font-size:.72rem;text-align:center}.today-list{border-bottom:1px solid var(--line)}.today-row{display:grid;grid-template-columns:2rem minmax(0,1fr) auto 1rem;gap:.7rem;align-items:center;min-height:4.7rem;padding:.65rem .25rem;border-top:1px solid var(--line);color:var(--text);text-decoration:none}.today-row:first-child{border-top:0}.today-row:hover{background:var(--hover)}.today-row__icon{display:grid;place-items:center;width:2rem;height:2rem;border-radius:7px;background:var(--hover);color:var(--text-soft)}.today-row__body{display:flex;flex-direction:column;min-width:0;gap:.08rem}.today-row__body strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.9rem}.today-row__body small,.today-row__meta,.today-section__empty{color:var(--text-faint);font-size:.75rem}.today-row__reason{width:-moz-fit-content;width:fit-content;color:var(--text-soft);font-size:.7rem;font-weight:650}.today-row__reason[data-reason=review],.today-row__reason[data-reason=session]{color:var(--highlight-text)}.today-row__reason[data-reason=changes_requested],.today-row__reason[data-reason=overdue],.today-row__reason[data-reason=confusion]{color:var(--danger)}.today-row__meta{white-space:nowrap}.today-row__arrow{color:var(--text-faint);opacity:0;transition:opacity .12s ease,transform .12s ease}.today-row:hover .today-row__arrow{opacity:1;transform:translate(2px)}.today-section__empty{margin:0;padding:1.15rem .25rem;border-bottom:1px solid var(--line)}.today-section__footer{display:flex;align-items:center;gap:.4rem;padding:.5rem .25rem 0;font-size:.75rem;color:var(--text-faint);white-space:nowrap}.today-section__footer input{margin:0}.session-run__list li.session-warmup__item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.1rem .5rem;align-items:center;text-align:left}.session-warmup__item[data-rated=true]{opacity:.55}.session-warmup__prompt{grid-column:1 / -1;font-size:.78rem;color:var(--text-soft)}.session-warmup__forms{display:flex;flex-wrap:wrap;gap:.15rem .5rem;min-width:0;font-size:.85rem}.session-warmup__forms s{color:var(--text-faint)}.session-warmup__actions{display:inline-flex;gap:.15rem}.session-warmup__next{font-size:.72rem;white-space:nowrap}.review-deck{display:flex;flex-direction:column;gap:.5rem;padding:.9rem 1rem 1rem;border-radius:10px;background:var(--selected);margin-bottom:.75rem}.review-deck[data-busy=true]{opacity:.6}.review-deck__meta{display:flex;justify-content:space-between;font-size:.72rem;color:var(--text-faint)}.review-deck__prompt{margin:0;font-size:1rem;color:var(--text)}.review-deck__original{margin:0;display:flex;flex-direction:column;gap:.1rem}.review-deck__original small{font-size:.72rem;color:var(--text-faint)}.review-deck__original s{color:var(--text-soft)}.review-deck__answer{margin:0;font-size:1.05rem;font-weight:600;color:var(--text)}.review-deck .button{align-self:flex-start}.review-deck__ratings{display:flex;flex-wrap:wrap;gap:.4rem}.review-deck__ratings .button[data-rating=again]{color:var(--danger)}@media(max-width:900px){.today-layout{grid-template-columns:1fr}.today-section--attention{grid-row:auto}}@media(max-width:560px){.today-row{grid-template-columns:2rem minmax(0,1fr) 1rem}.today-row__meta{grid-column:2 / 4}}.notification-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:2.5rem}.notification-filters{display:inline-flex;gap:.2rem;padding:.2rem;border-radius:7px;background:var(--hover)}.notification-filter{padding:.32rem .7rem;border:0;border-radius:5px;background:transparent;color:var(--text-soft);font:inherit;font-size:.78rem;cursor:pointer}.notification-filter.is-active{background:var(--paper);color:var(--text);box-shadow:0 1px 2px #1a1d1914;font-weight:600}.notification-list{border-top:1px solid var(--line)}.notification-row{display:grid;grid-template-columns:2rem minmax(0,1fr) auto;gap:.75rem;align-items:center;min-height:5.25rem;padding:.8rem .25rem;border-bottom:1px solid var(--line)}.notification-row.is-read{opacity:.68}.notification-row__icon{width:2rem;height:2rem;display:grid;place-items:center;border-radius:50%;background:var(--hover);color:var(--text-soft)}.notification-row.is-urgent .notification-row__icon{background:var(--danger-bg);color:var(--danger)}.notification-row__main{display:flex;flex-direction:column;min-width:0;color:var(--text);text-decoration:none}.notification-row__main:hover strong{text-decoration:underline;text-underline-offset:2px}.notification-row__main strong,.notification-row__main>span,.notification-row__main small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notification-row__main strong{font-size:.94rem}.notification-row__main>span:not(.notification-row__reason),.notification-row__main small{color:var(--text-soft);font-size:.77rem}.notification-row__reason{color:var(--text-faint);font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.notification-row__actions{display:inline-flex;gap:.15rem}.notification-row__actions button{width:1.9rem;height:1.9rem;display:grid;place-items:center;padding:0;border:0;border-radius:5px;background:transparent;color:var(--text-faint);cursor:pointer}.notification-row__actions button:hover:not(:disabled){background:var(--hover);color:var(--text)}.notification-row__actions button:disabled{cursor:default;opacity:.45}.activity-list{border-top:1px solid var(--line)}.activity-row{display:grid;grid-template-columns:9rem minmax(0,1fr) minmax(11rem,auto);gap:1rem;align-items:center;min-height:4.75rem;padding:.8rem .25rem;border-bottom:1px solid var(--line);color:var(--text);text-decoration:none}.activity-row:hover{background:var(--hover)}.activity-row__status,.activity-status,.activity-required-chip{width:-moz-fit-content;width:fit-content;border-radius:999px;padding:.18rem .55rem;background:var(--hover);color:var(--text-soft);font-size:.72rem;font-weight:650;line-height:1.45}.activity-row__status[data-status=submitted],.activity-status[data-status=submitted]{background:var(--highlight);color:var(--highlight-text)}.activity-row__status[data-status=completed],.activity-status[data-status=completed]{background:var(--selected);color:var(--text)}.activity-row__status[data-status=changes_requested],.activity-status[data-status=changes_requested],.activity-row__status[data-status=overdue],.activity-status[data-status=overdue]{background:var(--danger-bg);color:var(--danger)}.activity-row__body,.activity-row__meta{display:flex;flex-direction:column;min-width:0}.activity-row__body strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.95rem}.activity-row__body span,.activity-row__meta span{color:var(--text-soft);font-size:.78rem}.activity-row__meta{align-items:flex-end;text-align:right}.activity-composer,.activity-action,.activity-brief{display:flex;flex-direction:column;gap:.85rem;padding:1rem;border:1px solid var(--line);border-radius:10px;background:var(--paper)}.activity-composer__head,.activity-action__head,.activity-brief__head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.activity-composer__head h2,.activity-action__head h2,.activity-history h2{margin:0;font-size:1rem}.activity-context-panel{margin:0 0 1rem}.activity-context-banner,.activity-context-success{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;padding:.65rem .75rem;border:1px solid var(--line);border-radius:8px;color:var(--text-soft);font-size:.8rem}.activity-context-banner strong{color:var(--text);min-width:0;overflow-wrap:anywhere}.activity-context-success{margin:0 0 1rem;background:var(--selected)}.activity-context-success a{margin-left:auto;color:var(--text);font-weight:650}.activity-composer__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.activity-composer label{display:flex;flex-direction:column;gap:.35rem;color:var(--text-soft);font-size:.76rem;font-weight:600}.activity-composer__title-input{border:0;border-bottom:1px solid var(--line);border-radius:0;padding-inline:0;font-size:1.05rem;font-weight:650}.activity-required{align-self:end;flex-direction:row!important;align-items:center;min-height:2.3rem}.activity-required input{width:auto}.activity-template-preview{display:flex;flex-direction:column;padding:.75rem;border-left:2px solid var(--line-strong);color:var(--text-soft);font-size:.84rem}.activity-template-preview strong{color:var(--text)}.activity-composer__actions,.activity-action__actions{display:flex;justify-content:flex-end;gap:.5rem}.activity-detail__layout{display:grid;grid-template-columns:minmax(0,1fr) 14rem;gap:1.5rem;align-items:start}.activity-detail__main,.activity-detail__aside,.activity-history{display:flex;flex-direction:column;gap:1rem}.activity-brief p{margin:0;white-space:pre-wrap}.activity-required-chip{background:var(--paper);border:1px solid var(--line)}.activity-brief__lesson{color:var(--text-soft);font-size:.78rem}.activity-progress-link{display:inline-flex;align-items:center;align-self:flex-start;gap:5px;color:var(--text-soft);font-size:.76rem;font-weight:600}.activity-detail__aside{padding-left:1rem;border-left:1px solid var(--line)}.activity-cancelled-callout{display:flex;align-items:flex-start;gap:.6rem;padding:.85rem;border:1px solid var(--line);border-left:2px solid var(--danger);border-radius:8px;background:var(--danger-bg)}.activity-cancelled-callout>div{display:flex;flex-direction:column;gap:.15rem}.activity-cancelled-callout span{color:var(--text-soft);font-size:.82rem;white-space:pre-wrap}.activity-fact{display:flex;flex-direction:column;gap:.1rem;padding-bottom:.7rem;border-bottom:1px solid var(--line)}.activity-fact span{color:var(--text-faint);font-size:.7rem;text-transform:uppercase;letter-spacing:.07em}.activity-fact strong{font-size:.85rem}.activity-operations{display:flex;flex-direction:column;gap:.65rem;padding-top:.2rem}.activity-operations>strong{color:var(--text-faint);font-size:.7rem;text-transform:uppercase;letter-spacing:.07em}.activity-operations__actions,.activity-operation-form,.activity-operation-form label{display:flex;flex-direction:column;gap:.45rem}.activity-operations__actions .button{justify-content:flex-start}.activity-operation-form{padding:.7rem;border:1px solid var(--line);border-radius:8px;background:var(--hover)}.activity-operation-form label{color:var(--text-soft);font-size:.72rem;font-weight:600}.activity-operation-form__check{flex-direction:row!important;align-items:center}.activity-operation-form__check input{width:auto}.activity-operation-form__actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.4rem}.activity-event-history,.activity-event-history__list{display:flex;flex-direction:column;gap:.75rem}.activity-event{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.65rem;padding:.7rem 0;border-top:1px solid var(--line)}.activity-event>svg{margin-top:.15rem;color:var(--text-faint)}.activity-event>div{display:flex;flex-direction:column;gap:.15rem}.activity-event span,.activity-event small,.activity-event a{color:var(--text-soft);font-size:.76rem}.activity-event a{text-decoration:underline;text-underline-offset:2px}.activity-event small{color:var(--text-faint)}.activity-file-input{position:relative;display:flex;align-items:center;gap:.5rem;padding:.75rem;border:1px dashed var(--line-strong);border-radius:8px;color:var(--text-soft);cursor:pointer}.activity-file-input input{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0}.activity-feedback-callout,.activity-submission__review{display:flex;flex-direction:column;gap:.2rem;padding:.7rem;border-left:2px solid var(--danger);background:var(--danger-bg);font-size:.82rem}.activity-findings-editor,.activity-review-findings{display:flex;flex-direction:column;gap:.65rem}.activity-findings-editor{padding-top:.85rem;border-top:1px solid var(--line)}.activity-findings-editor__head,.activity-finding-editor__meta,.activity-review-finding__meta{display:flex;align-items:center;justify-content:space-between;gap:.65rem}.activity-findings-editor__head>div{display:flex;flex-direction:column;gap:.1rem}.activity-findings-editor__head span{color:var(--text-faint);font-size:.75rem}.activity-finding-editor{display:flex;flex-direction:column;gap:.55rem;padding:.75rem;border:1px solid var(--line);border-radius:8px;background:var(--paper)}.activity-finding-editor__meta{justify-content:flex-start}.activity-finding-editor__meta label{display:flex;flex:1;flex-direction:column;gap:.2rem;color:var(--text-faint);font-size:.69rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.activity-finding-editor__meta select{width:100%;color:var(--text);font-size:.82rem;text-transform:none;letter-spacing:0}.activity-finding-editor__details{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}.activity-review-findings{margin-top:.45rem}.activity-review-finding{display:flex;flex-direction:column;gap:.3rem;padding:.65rem;border:1px solid var(--line);border-left:2px solid var(--danger);border-radius:6px;background:var(--paper)}.activity-review-finding[data-kind=strength]{border-left-color:var(--text)}.activity-review-finding__meta{justify-content:flex-start}.activity-review-finding__meta span{padding:.15rem .4rem;border:1px solid var(--line);border-radius:999px;color:var(--text-soft);font-size:.67rem}.activity-review-finding p{margin:0;color:var(--text-soft);white-space:pre-wrap}.activity-review-finding p b{color:var(--text)}.student-feedback-insights{display:flex;flex-direction:column;gap:.75rem;padding:1rem;border:1px solid var(--line);border-radius:10px;background:var(--paper)}.student-feedback-insights__empty{margin:0;color:var(--text-faint);font-size:.82rem}.student-feedback-insights__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:.65rem}.student-feedback-insight{display:flex;flex-direction:column;gap:.6rem;padding:.75rem;border:1px solid var(--line);border-radius:8px}.student-feedback-insight header,.student-feedback-insight__counts,.student-feedback-insight__counts span{display:flex;align-items:center;gap:.4rem}.student-feedback-insight header{align-items:flex-start;justify-content:space-between}.student-feedback-insight__counts{flex-wrap:wrap;justify-content:flex-end}.student-feedback-insight__counts span{color:var(--text-soft);font-size:.68rem}.student-feedback-insight__recent{display:flex;flex-direction:column}.student-feedback-insight__recent a{display:flex;justify-content:space-between;gap:.75rem;padding:.45rem 0;border-top:1px solid var(--line);color:var(--text);font-size:.78rem}.student-feedback-insight__recent small{flex-shrink:0;color:var(--text-faint)}.activity-submission{display:flex;flex-direction:column;gap:.7rem;padding:.9rem 0;border-top:1px solid var(--line)}.activity-submission header{display:flex;justify-content:space-between;gap:1rem}.activity-submission header span,.activity-submission__pending{color:var(--text-faint);font-size:.75rem}.activity-submission__text{margin:0;white-space:pre-wrap}.activity-submission__link,.activity-submission__files a{display:flex;align-items:center;gap:.4rem;width:-moz-fit-content;width:fit-content;color:var(--text);font-size:.84rem}.activity-submission__files{display:flex;flex-direction:column;gap:.35rem}.activity-submission__files small{color:var(--text-faint)}.activity-submission__review[data-decision=completed]{border-left-color:var(--text);background:var(--hover)}.activity-history__empty{padding:1rem 0;border-top:1px solid var(--line);color:var(--text-faint);font-size:.84rem}@media(max-width:760px){.notification-toolbar{align-items:flex-start;flex-direction:column}.notification-row{grid-template-columns:2rem minmax(0,1fr)}.notification-row__actions{grid-column:2}.activity-row{grid-template-columns:1fr;gap:.35rem}.activity-row__meta{align-items:flex-start;text-align:left}.activity-composer__grid,.activity-detail__layout,.activity-finding-editor__details{grid-template-columns:1fr}.activity-detail__aside{padding-left:0;border-left:0}}.activity-page__actions,.activity-editor__actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.activity-editor__actions{margin-bottom:1rem}.activity-library__toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.75rem}.activity-library__toolbar-side{display:flex;align-items:center;gap:.75rem}.activity-library__toolbar-side .activity-required{min-height:auto;font-size:.76rem;color:var(--text-soft)}.activity-library__create{flex:1 1 100%}.activity-library__row{grid-template-columns:minmax(0,1fr) auto}.activity-library__row .activity-row__body{color:inherit;text-decoration:none}.activity-library__row[data-archived=true] .activity-row__body strong{color:var(--text-faint)}.activity-library__row .activity-row__meta{display:flex;flex-direction:row;align-items:center;gap:.5rem;white-space:nowrap}.activity-library__row{min-height:0;padding:.55rem .25rem}.activity-library__row .activity-row__body{flex-direction:row;align-items:baseline;gap:.6rem}.activity-library__row .activity-row__body strong{display:inline-flex;align-items:center;gap:.3rem;flex:none;max-width:60%}.activity-library__row .activity-row__body span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.activity-library__row-actions{display:inline-flex;gap:.15rem}@media(hover:hover){.activity-library__row .activity-library__row-actions{opacity:0;transition:opacity .12s ease}.activity-library__row:hover .activity-library__row-actions,.activity-library__row:focus-within .activity-library__row-actions{opacity:1}}.activity-library__new{display:inline-flex;align-items:center;gap:.15rem}.activity-library__new .action-menu__trigger{height:1.75rem;padding:0 .35rem;border-color:transparent}.activity-library__tag--templates{display:inline-flex;align-items:center;gap:.25rem}.activity-library__archived-toggle{display:inline-flex;align-items:center;gap:.4rem;margin-top:.75rem;font-size:.78rem;color:var(--text-faint);cursor:pointer}.activity-library__archived-toggle input{width:auto;margin:0;accent-color:var(--text)}.activity-preview{display:flex;flex-direction:column;gap:1rem}.activity-preview__pill{position:sticky;top:.5rem;z-index:5;display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;width:-moz-fit-content;width:fit-content;padding:.3rem .5rem .3rem .8rem;border:1px solid var(--line);border-radius:999px;background:var(--paper);box-shadow:0 6px 20px #0f172a1a;font-size:.8rem;color:var(--text-soft)}.activity-preview__pill>svg{color:var(--text)}.action-menu__trigger{padding:0 .5rem}.action-menu{z-index:60;min-width:12rem;padding:.3rem;background:var(--paper);border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 32px #0f172a24,0 2px 8px #0f172a14;animation:cal-modal-rise .12s cubic-bezier(.2,0,0,1)}.action-menu__item{display:flex;align-items:center;gap:.5rem;padding:.4rem .6rem;border-radius:6px;font-size:.85rem;color:var(--text);cursor:pointer;outline:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.action-menu__item[data-highlighted]{background:var(--hover)}.action-menu__item[data-disabled]{color:var(--text-faint);cursor:not-allowed}.action-menu__item.is-danger{color:var(--danger)}.action-menu__item>svg{color:var(--text-soft)}.action-menu__check{display:inline-flex;width:.9rem;justify-content:center}.action-menu__separator{height:1px;margin:.3rem .2rem;background:var(--line)}.activity-response-block[data-kind] .lesson-block-preview__resource-head{align-items:center}.activity-response-block__kind{display:inline-block;margin-bottom:.15rem;color:var(--text-faint);font-size:.7rem;font-weight:650;letter-spacing:.04em;text-transform:uppercase}.activity-response-block__required{display:flex;align-items:center;gap:.35rem;margin-left:auto;color:var(--text-soft);font-size:.74rem;font-weight:600;white-space:nowrap}.activity-response-block__required input{width:auto}.activity-response-block__preview{margin-top:.5rem;padding:.6rem .75rem;border:1px dashed var(--line-strong);border-radius:8px;color:var(--text-faint);font-size:.86rem}.activity-editor .page-header h1 .inline-input,.activity-editor .page-header h1 input{width:100%}.resource-anno__page-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:4;pointer-events:none}.resource-anno__page-layer.is-passive .activity-item-box,.resource-anno__page-layer.is-passive .activity-item-popover{pointer-events:none}.activity-item-popover{pointer-events:auto}.activity-item-box{position:absolute;box-sizing:border-box;border:1.5px dashed var(--accent);border-radius:4px;background:color-mix(in srgb,var(--accent) 8%,transparent);cursor:pointer;pointer-events:auto}.activity-item-box[data-kind=choice]{border-color:var(--text-soft);background:color-mix(in srgb,var(--text-soft) 8%,transparent)}.activity-item-box.is-keyed{border-style:solid}.activity-item-box.is-selected{box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 35%,transparent)}.activity-item-box__badge{position:absolute;top:-.8rem;left:-1px;display:inline-flex;align-items:center;gap:.2rem;padding:.05rem .35rem;border-radius:999px;background:var(--accent);color:#fff;font-size:.62rem;font-weight:700;line-height:1.2;white-space:nowrap}.activity-item-box[data-kind=choice] .activity-item-box__badge{background:var(--text-soft)}.activity-item-popover{position:absolute;top:calc(100% + .5rem);left:0;z-index:6;display:flex;flex-direction:column;gap:.6rem;width:18rem;max-width:80vw;padding:.75rem;border:1px solid var(--line);border-radius:10px;background:var(--paper);box-shadow:var(--shadow);cursor:default;font-size:.8rem;text-align:left}.activity-item-popover.is-above{top:auto;bottom:calc(100% + .5rem)}.activity-item-popover__head{display:flex;align-items:center;justify-content:space-between;font-size:.72rem;letter-spacing:.04em;text-transform:uppercase;color:var(--text-soft)}.activity-item-popover label,.activity-item-popover__label{display:flex;flex-direction:column;gap:.3rem;color:var(--text-soft);font-size:.72rem;font-weight:600}.activity-item-popover input[type=text],.activity-item-popover input:not([type]){width:100%;font-size:.82rem}.activity-item-popover__hint{color:var(--text-faint);font-weight:500}.activity-item-popover__options{display:flex;flex-direction:column;gap:.35rem}.activity-item-popover__option{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.4rem}.activity-item-popover__option input[type=radio],.activity-item-popover__option input[type=checkbox],.activity-item-popover__toggle input{width:auto;margin:0}.activity-item-popover__option-actions,.activity-item-popover__row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem}.activity-item-popover__toggle{flex-direction:row!important;align-items:center;gap:.35rem!important}.activity-item-popover__code{flex:1 1 8rem}.activity-item-popover__foot{display:flex;justify-content:flex-end;padding-top:.25rem;border-top:1px solid var(--line)}.activity-document{margin-bottom:1.25rem}.activity-summary-chip{width:-moz-fit-content;width:fit-content;border-radius:999px;padding:.18rem .55rem;background:var(--selected);color:var(--text);font-size:.72rem;font-weight:650}.activity-attempt-switcher{display:inline-flex;flex-wrap:wrap;gap:.25rem;margin-left:auto}.activity-attempt-switcher .button.active{background:var(--selected)}.activity-answer{display:flex;flex-direction:column;gap:.6rem;padding:.85rem 1rem;border:1px solid var(--line);border-radius:10px;background:var(--paper)}.activity-answer.is-highlighted,.activity-answer-box.is-highlighted{box-shadow:0 0 0 2px color-mix(in srgb,var(--danger) 45%,transparent)}.activity-answer__head{display:flex;align-items:flex-start;gap:.6rem}.activity-answer__heading{display:flex;flex:1;flex-direction:column;gap:.15rem;min-width:0}.activity-answer__heading strong{white-space:pre-line}.activity-answer__text,.activity-answer__url{width:100%}.activity-answer__reading{margin:0;white-space:pre-wrap;font-size:.92rem;line-height:1.55}.activity-answer__reading em{color:var(--text-faint)}.activity-answer__files{display:flex;flex-direction:column;gap:.4rem}.activity-answer__audio{display:flex;flex-direction:column;gap:.6rem}.activity-answer__recording{display:flex;flex-direction:column;gap:.25rem}.activity-answer__recording[data-locked=true]{opacity:.85}.activity-answer__recording-meta{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.activity-answer__record{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.activity-answer__upload-audio{position:relative;cursor:pointer}.activity-answer__upload-audio input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.activity-answer__consent{flex-basis:100%;margin:0;font-size:.76rem}.activity-response-block__limit{display:inline-flex;align-items:center;gap:.4rem;margin:.35rem 0 0;color:var(--text-soft);font-size:.8rem}.activity-response-block__limit input{width:4.5rem;border:1px solid var(--line);border-radius:6px;padding:.15rem .35rem;background:var(--paper);color:var(--text);font:inherit;font-size:.8rem}.activity-answer__file{display:flex;align-items:center;gap:.5rem}.activity-answer__file a{display:inline-flex;align-items:center;gap:.4rem;color:var(--text);font-size:.86rem}.activity-answer__file small,.activity-submission__file-name small{color:var(--text-faint)}.activity-submission__file-name{display:inline-flex;align-items:center;gap:.4rem;font-size:.86rem}.activity-answer__confidence,.activity-answer__unsure{display:inline-flex;align-items:center;gap:.35rem;color:var(--text-soft);font-size:.76rem;font-weight:600}.activity-answer__confidence input{width:auto;margin:0}.activity-answer__verdict-text{padding:.55rem .75rem;border-left:2px solid var(--line-strong);color:var(--text-soft);font-size:.84rem}.activity-answer__verdict-text p{margin:0}.activity-submission__summary{margin:0 0 .35rem;color:var(--text-soft);font-size:.8rem;font-weight:600}.verdict-badge{display:inline-flex;align-items:center;gap:.3rem;padding:.12rem .5rem;border-radius:999px;background:var(--hover);color:var(--text);font-size:.74rem;font-weight:700;white-space:nowrap}.verdict-badge--compact{padding:.05rem .4rem;font-size:.68rem}.verdict-badge[data-value=correct]{background:#dcfce7;color:#166534}.verdict-badge[data-value=partial]{background:#fef3c7;color:#92400e}.verdict-badge[data-value=incorrect]{background:#fee2e2;color:#991b1b}.verdict-badge[data-value=flag]{background:#ede9fe;color:#5b21b6}.verdict-badge__code{padding-left:.3rem;border-left:1px solid currentColor;font-weight:650}.verdict-badge__auto{color:inherit;opacity:.7;font-weight:500;text-transform:uppercase;font-size:.6rem;letter-spacing:.05em}.verdict-control{display:flex;flex-direction:column;gap:.5rem}.verdict-control__values{display:inline-flex;gap:.25rem}.verdict-control__value,.verdict-control__more{min-width:2rem;height:2rem;padding:0 .5rem;border:1px solid var(--line);border-radius:999px;background:var(--paper);color:var(--text-soft);font-size:.9rem;font-weight:700;cursor:pointer}.verdict-control__value:hover,.verdict-control__more:hover{background:var(--hover)}.verdict-control__value.is-active[data-value=correct]{background:#dcfce7;color:#166534;border-color:#86efac}.verdict-control__value.is-active[data-value=partial]{background:#fef3c7;color:#92400e;border-color:#fcd34d}.verdict-control__value.is-active[data-value=incorrect]{background:#fee2e2;color:#991b1b;border-color:#fca5a5}.verdict-control__value.is-active[data-value=flag]{background:#ede9fe;color:#5b21b6;border-color:#c4b5fd}.verdict-control__details{display:flex;flex-direction:column;gap:.5rem;padding:.6rem .75rem;border:1px dashed var(--line-strong);border-radius:8px}.verdict-control__details label{display:flex;flex-direction:column;gap:.3rem;color:var(--text-soft);font-size:.72rem;font-weight:600}.activity-answer-box{position:absolute;box-sizing:border-box;display:flex;flex-direction:column;border:1.5px solid var(--accent);border-radius:4px;background:color-mix(in srgb,var(--paper) 85%,transparent);pointer-events:auto}.activity-answer-box[data-verdict=correct]{border-color:#16a34a}.activity-answer-box[data-verdict=partial]{border-color:#d97706}.activity-answer-box[data-verdict=incorrect]{border-color:#dc2626}.activity-answer-box[data-verdict=flag]{border-color:#7c3aed}.activity-answer-box__input{flex:1;width:100%;min-height:0;padding:.1rem .35rem;border:0;border-radius:0;background:transparent;font-size:.85rem}.activity-answer-box__reading{flex:1;padding:.1rem .35rem;font-size:.85rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.activity-answer-box__choices{display:flex;flex-wrap:wrap;gap:.3rem;padding:.2rem .35rem}.activity-answer-box__choice{display:inline-flex;align-items:center;gap:.25rem;padding:.05rem .4rem;border:1px solid var(--line);border-radius:999px;background:var(--paper);font-size:.74rem;cursor:pointer}.activity-answer-box__choice.is-checked{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--paper))}.activity-answer-box__choice input{width:auto;margin:0}.activity-answer-box__verdict{position:absolute;top:calc(100% + .25rem);left:0;z-index:6;display:flex;flex-direction:column;gap:.3rem}.activity-answer-box__prompt{position:absolute;right:0;bottom:100%;max-width:100%;overflow:hidden;color:var(--text-faint);font-size:.62rem;text-overflow:ellipsis;white-space:nowrap}.pdf-annotation--verdict{display:inline-flex;align-items:center;gap:.15rem;transform:translate(-50%,-50%);min-width:1.6rem;height:1.6rem;padding:0 .4rem;border-radius:999px;background:#dcfce7;color:#166534;font-size:.9rem;font-weight:800;box-shadow:0 2px 8px #0000001f;cursor:pointer}.pdf-annotation--verdict[data-value=partial]{background:#fef3c7;color:#92400e}.pdf-annotation--verdict[data-value=incorrect]{background:#fee2e2;color:#991b1b}.pdf-annotation--verdict[data-value=flag]{background:#ede9fe;color:#5b21b6}.pdf-annotation--verdict.is-selected{outline:2px solid var(--accent)}.pdf-annotation--verdict small{font-size:.6rem;font-weight:650}.pdf-annotation-toolbar__verdicts{display:inline-flex;gap:.15rem}.activity-review__summary{display:flex;gap:.75rem;margin:.25rem 0 0;color:var(--text-soft);font-size:.8rem;font-weight:650}.activity-review__mode{display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:.5rem}.activity-review__mode-option{display:flex;align-items:flex-start;gap:.5rem;padding:.6rem .75rem;border:1px solid var(--line);border-radius:10px;cursor:pointer}.activity-review__mode-option.is-active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 6%,var(--paper))}.activity-review__mode-option input{width:auto;margin-top:.2rem}.activity-review__mode-option span{display:flex;flex-direction:column;gap:.1rem}.activity-review__mode-option small{color:var(--text-soft)}.activity-submit-bar__missing{margin:.25rem 0 0;color:var(--text-soft);font-size:.8rem}.activity-aside__link{justify-content:flex-start;margin-bottom:.5rem}.lesson-activities{margin:0 0 1.25rem;padding:.6rem .75rem;border:1px solid var(--line);border-radius:8px;display:grid;gap:.5rem}.lesson-activities__head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex-wrap:wrap}.lesson-activities__title{display:inline-flex;align-items:center;gap:.4rem;font-size:.72rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-soft)}.lesson-activities__actions{display:inline-flex;gap:.25rem}.lesson-activities__empty{margin:0;font-size:.8rem;color:var(--text-faint)}.lesson-activities__picker{display:grid;gap:.35rem;padding:.5rem;border:1px dashed var(--line);border-radius:6px}.lesson-activities__picker input{font:inherit;font-size:.85rem;padding:.35rem .5rem;border:1px solid var(--line);border-radius:6px;background:var(--paper);color:var(--text)}.lesson-activities__picker ul{list-style:none;margin:0;padding:0;display:grid;gap:.15rem;max-height:14rem;overflow:auto}.lesson-activities__picker li button{width:100%;display:flex;justify-content:space-between;gap:.5rem;padding:.35rem .5rem;border:0;border-radius:6px;background:transparent;color:var(--text);font:inherit;font-size:.85rem;text-align:left;cursor:pointer}.lesson-activities__picker li button:hover{background:var(--selected)}.lesson-activities__picker li button small{color:var(--text-faint)}.lesson-activities__list{list-style:none;margin:0;padding:0;display:grid;gap:.35rem}.lesson-activity{display:grid;gap:.35rem;padding:.45rem .5rem;border-radius:6px;background:var(--selected)}.lesson-activity[data-busy=true]{opacity:.6}.lesson-activity__main{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.lesson-activity__title{font-weight:600;font-size:.9rem;color:var(--text);text-decoration:none;min-width:0;overflow-wrap:anywhere}.lesson-activity__title:hover{text-decoration:underline}.lesson-activity__order{display:inline-flex}.lesson-activity__policy{display:flex;align-items:center;flex-wrap:wrap;gap:.35rem .75rem;font-size:.78rem;color:var(--text-soft)}.lesson-activity__policy label{display:inline-flex;align-items:center;gap:.35rem}.lesson-activity__policy label>span{color:var(--text-faint)}.lesson-activity__days input{width:4rem;font:inherit;font-size:.8rem;padding:.2rem .35rem;border:1px solid var(--line);border-radius:6px;background:var(--paper);color:var(--text)}.lesson-activity__deliver{margin-left:auto}.lesson-activity__delivered{color:var(--text-soft)}.activity-cloze-footer{display:flex;align-items:center;flex-wrap:wrap;gap:.35rem .75rem;margin-top:.35rem;font-size:.75rem;color:var(--text-faint)}.activity-cloze-footer__count{font-weight:600;color:var(--text-soft)}.activity-cloze-footer__code{display:inline-flex;align-items:center;gap:.35rem}.activity-cloze-footer__hint{font-style:italic}.activity-cloze-footer__bank{display:inline-flex;align-items:center;gap:.3rem;white-space:nowrap}.activity-cloze-footer__bank input{width:auto;margin:0}.activity-cloze-footer>input{flex:1 1 12rem;font:inherit;font-size:.75rem;padding:.15rem .4rem;border:1px solid var(--line);border-radius:6px}.activity-response-block__key{margin-top:.5rem;padding:.6rem .75rem;border:1px dashed var(--line-strong);border-radius:8px;display:flex;flex-direction:column;gap:.45rem;font-size:.85rem}.activity-response-block__key label{display:flex;flex-direction:column;gap:.25rem;font-size:.75rem;color:var(--text-soft)}.activity-response-block__key input:not([type]),.activity-response-block__key input[type=text]{font:inherit;font-size:.85rem;padding:.25rem .45rem;border:1px solid var(--line);border-radius:6px}.activity-response-block__key .activity-item-popover__option input[type=radio],.activity-response-block__key .activity-item-popover__option input[type=checkbox],.activity-response-block__key .activity-item-popover__toggle input{width:auto;margin:0}.activity-match-editor{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:.75rem}.activity-match-editor__column{display:flex;flex-direction:column;gap:.35rem;min-width:0}.activity-match-editor__row{grid-template-columns:minmax(0,1fr) auto auto}.activity-order-editor__row{grid-template-columns:auto minmax(0,1fr) auto}.activity-order-editor__index{min-width:1.2rem;font-size:.75rem;color:var(--text-faint);text-align:right}.activity-order-editor__moves{display:inline-flex;gap:.1rem}@media(max-width:720px){.activity-match-editor{grid-template-columns:1fr}}.item-extras{margin-top:.5rem;display:flex;flex-direction:column;gap:.45rem}.item-extras__tabs{display:flex;gap:.3rem}.item-extras__tabs .button[data-set=true]{color:var(--text);border-color:var(--text-soft)}.item-extras__tabs .button.is-active{background:var(--hover)}.item-help-editor,.item-help-editor label{display:flex;flex-direction:column;gap:.25rem;font-size:.75rem;color:var(--text-soft)}.item-help-editor input:not([type]),.item-help-editor input[type=text],.item-help-editor textarea{font:inherit;font-size:.85rem;padding:.25rem .45rem;border:1px solid var(--line);border-radius:6px}.item-help-editor__list{display:flex;flex-direction:column;gap:.3rem}.item-help-editor__row{grid-template-columns:auto minmax(0,1fr) auto}.item-help-editor__option{font-size:.8rem;color:var(--text-soft);min-width:4rem}.item-help{display:flex;flex-direction:column;gap:.3rem;margin-top:.5rem;font-size:.85rem}.item-help p{margin:0}.item-help__actions{display:flex;gap:.35rem}.item-help__hint{display:flex;gap:.35rem;align-items:flex-start;padding:.35rem .55rem;border-radius:8px;background:var(--selected);color:var(--text)}.item-help__result{display:inline-flex;align-items:center;gap:.3rem;font-weight:600}.item-help__result[data-result=correct]{color:#166534}.item-help__result[data-result=incorrect]{color:var(--danger)}.item-help__explanation,.item-help__feedback,.item-help__model{color:var(--text-soft)}.item-help__key b,.item-help__model b{color:var(--text)}.item-help__usage{font-size:.75rem}.activity-shape-select{display:flex;flex-direction:column;gap:.35rem;margin-top:.5rem}.activity-shape-select__option{display:flex;align-items:center;gap:.5rem;font-size:.9rem;cursor:pointer}.activity-shape-select__option input{width:auto;margin:0}.activity-shape-match{display:flex;flex-direction:column;gap:.4rem;margin-top:.5rem}.activity-shape-match__row{display:grid;grid-template-columns:minmax(0,1fr) minmax(8rem,1fr);gap:.6rem;align-items:center;font-size:.9rem}.activity-shape-order{list-style:none;margin:.5rem 0 0;padding:0;display:flex;flex-direction:column;gap:.3rem}.activity-shape-order__row{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.4rem .6rem;border:1px solid var(--line);border-radius:8px;background:var(--paper);font-size:.9rem}.activity-shape-order__moves{display:inline-flex;gap:.1rem}.activity-answer__short{width:100%;max-width:24rem;margin-top:.5rem;font:inherit;padding:.4rem .6rem;border:1px solid var(--line);border-radius:8px}.activity-cloze__bank{display:flex;flex-wrap:wrap;gap:.3rem;margin:0 0 .6rem}.activity-cloze__bank-word{padding:.1rem .5rem;border:1px solid var(--line-strong);border-radius:999px;font-size:.82rem;background:var(--paper)}.activity-cloze__bank-word[data-used=true]{opacity:.45;text-decoration:line-through}.activity-cloze__select{font:inherit;font-size:.92em;padding:.05rem .3rem;border:0;border-bottom:1.5px solid var(--text-soft);border-radius:0;background:transparent}.activity-cloze p{margin:0 0 .75rem;line-height:1.9}.activity-cloze__gap{display:inline-block;vertical-align:baseline;margin:0 .15rem}.activity-cloze__input{font:inherit;width:7.5rem;padding:.05rem .4rem;border:0;border-bottom:1.5px solid var(--text-soft);border-radius:0;background:var(--selected);color:var(--text)}.activity-cloze__input:focus{outline:none;border-bottom-color:var(--accent)}.activity-cloze__answer{display:inline-flex;align-items:center;gap:.25rem;padding:0 .35rem;border-bottom:1.5px solid var(--line);min-width:3rem}.activity-cloze__answer[data-verdict=correct]{border-bottom-color:#16a34a}.activity-cloze__answer[data-verdict=incorrect],.activity-cloze__answer[data-verdict=partial]{border-bottom-color:var(--danger)}.activity-cloze__answer em{color:var(--text-faint)}.activity-cloze__judge{display:grid;gap:.35rem;margin-top:.5rem;padding-top:.5rem;border-top:1px solid var(--line)}.activity-cloze__judge-row{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;font-size:.85rem}.activity-cloze__judge-row>strong{min-width:1.5rem;color:var(--text-faint)}.activity-cloze__judge-row .verdict-control{margin-left:auto}.student-notes .eyebrow{display:flex;align-items:center;gap:.35rem}.student-notes__status{margin-left:auto;font-size:.7rem;letter-spacing:0;text-transform:none;color:var(--text-faint)}.student-notes__input{width:100%;margin-top:.5rem;font:inherit;font-size:.9rem;line-height:1.5;padding:.5rem .65rem;border:1px solid var(--line);border-radius:6px;background:var(--paper);color:var(--text);resize:vertical}.student-notes__input:focus{outline:none;border-color:var(--accent)}.session-dialog__student-notes p{margin:0;padding:.5rem .65rem;border-radius:6px;background:var(--selected);font-size:.9rem;line-height:1.5;white-space:pre-wrap}.error-bank{display:flex;flex-direction:column;gap:.75rem;padding:1rem;border:1px solid var(--line);border-radius:10px;background:var(--paper)}.error-bank__summary{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem .9rem;font-size:.78rem;color:var(--text-soft)}.error-bank__summary [data-tone=due]{color:var(--danger);font-weight:600}.error-bank__summary [data-tone=mastered]{color:#166534}.error-bank__summary [data-tone=recall]{color:var(--text)}.error-bank__summary-actions{margin-left:auto;display:inline-flex;align-items:center;gap:.5rem}.error-bank__toggle{display:inline-flex;align-items:center;gap:.3rem;font-size:.75rem;color:var(--text-faint);white-space:nowrap}.error-bank__add{display:grid;grid-template-columns:1fr 1fr auto auto;gap:.4rem;align-items:center}.error-bank__add input{font:inherit;font-size:.85rem;padding:.4rem .55rem;border:1px solid var(--line);border-radius:6px;background:var(--paper);color:var(--text);min-width:0}.error-bank__empty{margin:0;color:var(--text-faint)}.error-bank__list{list-style:none;margin:0;padding:0;display:grid;gap:.35rem}.error-bank__item{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:.35rem .75rem;align-items:center;padding:.45rem .6rem;border-radius:8px;background:var(--selected)}.error-bank__item[data-due=true]{box-shadow:inset 3px 0 0 var(--danger)}.error-bank__item[data-resolved=true]{opacity:.6}.error-bank__item[data-busy=true]{opacity:.5}.error-bank__text{display:flex;flex-direction:column;gap:.1rem;min-width:0}.error-bank__text s{color:var(--text-faint);font-size:.85rem}.error-bank__prompt{color:var(--text-faint);font-size:.75rem}.error-bank__meta{display:flex;align-items:center;flex-wrap:wrap;gap:.4rem;font-size:.72rem;color:var(--text-faint);white-space:nowrap}.error-bank__due{color:var(--text-soft)}.error-bank__actions{display:inline-flex;gap:.15rem}@media(max-width:720px){.error-bank__add,.error-bank__item{grid-template-columns:1fr}}.material-picker__parts{gap:.5rem}.material-picker__existing{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.2rem}.material-picker__part{display:inline-flex;align-items:center;gap:.4rem;width:100%;padding:.3rem .5rem;border:1px solid var(--line);border-radius:6px;background:var(--paper);color:var(--text);font:inherit;font-size:.85rem;text-align:left;cursor:pointer}.material-picker__part:hover:not(:disabled){background:var(--hover)}.material-picker__new{display:flex;flex-direction:column;gap:.45rem}.material-picker__kinds{display:flex;flex-wrap:wrap;gap:.25rem}.material-picker__kinds .button.is-active{background:var(--hover);color:var(--text)}.material-picker__fields{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.5rem}.material-picker__confirm{display:flex;align-items:center;gap:.5rem}.material-picker__title{flex:1;min-width:0;font:inherit;font-size:.85rem;padding:.3rem .5rem;border:1px solid var(--line);border-radius:6px;background:var(--paper);color:var(--text)}.material-crop__frame{position:relative;display:inline-block;max-width:100%;overflow:hidden;border:1px solid var(--line);border-radius:6px;cursor:crosshair;-webkit-user-select:none;-moz-user-select:none;user-select:none;touch-action:none;line-height:0}.material-crop__frame img{display:block;width:auto;height:auto;max-width:100%;max-height:320px;pointer-events:none}.material-crop__box,.material-block__region{position:absolute;border:2px solid var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent);border-radius:3px;pointer-events:none;box-sizing:border-box}.material-block__controls{display:inline-flex;align-items:center;gap:.35rem;margin-left:auto}.material-block__pick{align-self:flex-start;margin-top:.5rem}.material-block__caption{display:flex;align-items:center;gap:.35rem;margin:0 0 .35rem;font-size:.78rem;color:var(--text-soft)}.material-block__view .lesson-block-preview{padding:0}.material-block__crop{position:relative;width:100%;max-width:560px;overflow:hidden;border:1px solid var(--line);border-radius:8px}.material-block__crop img{display:block;max-width:none}.material-block__pages{display:flex;flex-direction:column;gap:.5rem;width:100%}.material-block__page{position:relative;border:1px solid var(--line);border-radius:6px;overflow:hidden;line-height:0}.material-block__page img,.material-block__page canvas{display:block;width:100%;height:auto}.material-block__removed p{margin:0}.item-supports{display:flex;flex-direction:column;gap:.4rem;padding:.6rem .75rem;border:1px dashed var(--line-strong);border-radius:8px;font-size:.85rem}.item-supports--read{border:none;padding:0;margin-bottom:.4rem}.item-supports__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.3rem}.item-supports__row{display:grid;grid-template-columns:minmax(8rem,1fr) minmax(8rem,1.4fr) auto auto;align-items:center;gap:.5rem}.item-supports__row[data-removed=true] .item-supports__what{color:var(--text-faint);text-decoration:line-through}.item-supports__what{display:inline-flex;align-items:center;gap:.35rem;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item-supports__hint{margin:0;font-size:.78rem}.item-supports__add{display:flex;flex-wrap:wrap;gap:.3rem}.item-supports__link{display:flex;align-items:center;flex-wrap:wrap;gap:.4rem;margin:0}.item-supports__reveal{font-size:.7rem;color:var(--text-faint);text-transform:uppercase;letter-spacing:.04em}.item-supports__fragment{border:1px solid var(--line);border-radius:8px;padding:.35rem .6rem}.item-supports__fragment summary{display:flex;align-items:center;gap:.4rem;cursor:pointer;list-style:none;color:var(--text-soft)}.item-supports__fragment summary::-webkit-details-marker{display:none}.item-supports__fragment[open] summary{margin-bottom:.5rem}@media(max-width:720px){.item-supports__row{grid-template-columns:1fr}}.audio-block__landing{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;margin-top:.5rem}.audio-recorder{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.4rem}.audio-recorder[data-recording=true] .button.danger{animation:audio-pulse 1.2s ease-in-out infinite}@keyframes audio-pulse{0%,to{box-shadow:0 0 color-mix(in srgb,var(--danger) 35%,transparent)}50%{box-shadow:0 0 0 5px color-mix(in srgb,var(--danger) 0%,transparent)}}.audio-player{display:flex;flex-direction:column;gap:.4rem;margin-top:.5rem;padding:.5rem .65rem;border:1px solid var(--line);border-radius:8px;background:var(--paper)}.audio-player__row{display:flex;align-items:center;gap:.6rem}.audio-player__toggle{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:1px solid var(--line);border-radius:999px;background:var(--paper);color:var(--text);cursor:pointer;flex:none}.audio-player__toggle:hover{background:var(--hover)}.audio-player__track{position:relative;flex:1;min-width:0;height:22px}.audio-player__seek{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;margin:0;accent-color:var(--text);z-index:2;background:transparent}.audio-player__band{position:absolute;top:7px;height:8px;border-radius:4px;background:color-mix(in srgb,var(--accent) 25%,transparent);pointer-events:none;z-index:1}.audio-player__pin{position:absolute;top:17px;height:5px;padding:0;border:none;border-radius:3px;background:var(--accent);cursor:pointer;z-index:3}.audio-player__pin:hover{filter:brightness(.85)}.audio-player__moment{position:absolute;top:-1px;width:10px;height:10px;margin-left:-5px;padding:0;border:2px solid var(--paper);border-radius:999px;background:var(--text-soft);cursor:pointer;z-index:4}.audio-player__moment[data-value=correct]{background:#16a34a}.audio-player__moment[data-value=partial]{background:#d97706}.audio-player__moment[data-value=incorrect]{background:#dc2626}.audio-player__moment[data-value=flag]{background:#7c3aed}.audio-player__moment:hover{transform:scale(1.2)}.audio-player__mark-here{white-space:nowrap}.audio-marks{display:flex;flex-direction:column;gap:.2rem;margin:.2rem 0 0;padding:0;list-style:none}.audio-marks__row{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;font-size:.84rem}.audio-marks__time{border:none;padding:0;background:none;color:var(--accent);font:inherit;font-variant-numeric:tabular-nums;cursor:pointer}.audio-marks__time:hover{text-decoration:underline}.audio-marks__code{border-radius:999px;padding:.05rem .45rem;background:var(--hover);color:var(--text-soft);font-size:.74rem}.audio-marks__line{min-width:0}.audio-mark-form{display:flex;flex-direction:column;gap:.5rem;margin-top:.4rem;border:1px solid var(--line);border-radius:10px;padding:.6rem .7rem;background:var(--paper)}.audio-mark-form__head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem;font-size:.86rem}.audio-mark-form__fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:.4rem}.audio-mark-form__fields input{min-width:0;border:1px solid var(--line);border-radius:6px;padding:.3rem .45rem;background:var(--paper);color:var(--text);font:inherit;font-size:.84rem}.audio-mark-form__actions{display:flex;gap:.4rem}.voice-note{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.25rem;font-size:.78rem}.voice-note__play,.voice-note__record,.voice-note__clear{display:inline-flex;align-items:center;gap:.3rem;border:1px solid var(--line);border-radius:999px;padding:.15rem .55rem;background:var(--paper);color:var(--text);font:inherit;font-size:.76rem;cursor:pointer}.voice-note__play:hover,.voice-note__record:hover{background:var(--hover)}.voice-note[data-state=playing] .voice-note__play{border-color:var(--accent);color:var(--accent)}.voice-note__clear{padding:.15rem .35rem;color:var(--text-soft)}.voice-note__error{flex-basis:100%;font-size:.74rem}.verdict-control__voice{display:flex;align-items:center;min-height:1.8rem}.pdf-annotation-toolbar__voice{display:inline-flex;align-items:center;padding:0 .15rem}.resource-anno__rail-item-voice{display:block;margin-top:.2rem}.reformulation{margin-top:.5rem;border-left:2px solid var(--line);padding-left:.6rem}.reformulation__label{margin:0 0 .2rem;color:var(--text-faint);font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.reformulation__words{margin:0;font-size:.92rem;line-height:1.6}.reformulation__word{margin-right:.28em}.reformulation__word--added{background:#dcfce7;color:#166534;border-radius:3px;padding:0 .15em}.reformulation__word--removed{color:#991b1b;text-decoration:line-through;opacity:.8}.reformulation__summary{margin:.2rem 0 0;font-size:.76rem}.verdict-control__reformulation textarea{width:100%;min-height:4rem;resize:vertical}.marked-text__body{-webkit-user-select:text;-moz-user-select:text;user-select:text}.text-mark{border-radius:2px;padding:0 .05em;background:transparent;color:inherit;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.16em;text-decoration-color:var(--text-soft);cursor:help}.text-mark[data-value=incorrect]{text-decoration-color:#dc2626;background:#fee2e233}.text-mark[data-value=partial]{text-decoration-color:#d97706;background:#fef3c733}.text-mark[data-value=correct]{text-decoration-color:#16a34a;background:#dcfce733}.text-mark[data-value=flag]{text-decoration-color:#7c3aed;background:#ede9fe33}.text-mark[data-unchanged=true]{outline:1px dashed #dc2626;outline-offset:1px}.text-marks{display:flex;flex-direction:column;gap:.2rem;margin:.4rem 0 0;padding:0;list-style:none}.text-marks__row{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;font-size:.84rem}.text-marks__line{min-width:0}.text-marks__unchanged{border-radius:999px;padding:.05rem .45rem;background:#fee2e2;color:#991b1b;font-size:.72rem}.marked-text__hint{margin:.3rem 0 0;font-size:.76rem}.item-signal{margin-top:.5rem;font-size:.84rem}.item-signal__ask,.item-signal__answer{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}.item-signal__ask input,.item-signal__answer input{flex:1 1 14rem;min-width:0;border:1px solid var(--line);border-radius:6px;padding:.3rem .45rem;background:var(--paper);color:var(--text);font:inherit;font-size:.84rem}.item-signal__thread{display:flex;flex-direction:column;gap:.35rem;border-left:2px solid var(--line);padding-left:.6rem}.item-signal[data-state=open] .item-signal__thread{border-left-color:var(--accent)}.item-signal__hand,.item-signal__reply,.item-signal__waiting{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;margin:0}.today-row__reason[data-reason=stuck]{color:var(--accent)}.activity-brief__repeat,.activity-brief__repeat-control{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.4rem}.activity-repeat{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1rem;align-items:start}.activity-repeat__label{margin:0 0 .35rem;color:var(--text-faint);font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.activity-repeat__then{border-left:1px solid var(--line);padding-left:1rem;opacity:.92}@media(max-width:860px){.activity-repeat{grid-template-columns:1fr}.activity-repeat__then{border-left:0;border-top:1px solid var(--line);padding:.8rem 0 0}}.audio-player__mark{position:absolute;top:2px;width:2px;height:18px;background:var(--text);z-index:3;pointer-events:none}.audio-player__mark--end{background:var(--danger)}.audio-player__time{flex:none;font-size:.75rem;color:var(--text-soft);font-variant-numeric:tabular-nums}.audio-player__naming{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem}.audio-player__title{flex:1;min-width:8rem;font:inherit;font-size:.8rem;padding:.25rem .45rem;border:1px solid var(--line);border-radius:6px;background:var(--paper);color:var(--text)}.activity-answer__short--multiline{width:100%;min-height:3.2rem;resize:vertical;font:inherit;line-height:1.4}.dictation-diff{display:flex;flex-direction:column;gap:.2rem;margin:.35rem 0}.dictation-diff__words{display:flex;flex-wrap:wrap;gap:.25rem .35rem;margin:0;line-height:1.5}.dictation-diff__word--missing{color:var(--danger);text-decoration:line-through}.dictation-diff__word--extra{color:var(--text-faint);-webkit-text-decoration:underline wavy var(--danger);text-decoration:underline wavy var(--danger)}.dictation-diff__score{margin:0;font-size:.75rem}.command-dock__cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem;padding:.5rem}.command-dock__card{display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;padding:.55rem .65rem;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--text);font:inherit;text-align:left;cursor:pointer}.command-dock__card:hover:not(:disabled){background:var(--hover)}.command-dock__card:disabled{opacity:.55;cursor:not-allowed}.command-dock__card strong{font-size:.85rem}.command-dock__card>span:last-child{font-size:.72rem;color:var(--text-soft)}.section-block{display:flex;align-items:flex-start;gap:.5rem}.section-block__body{flex:1;min-width:0}.section-block--read{display:block;padding-top:.6rem;border-top:1px solid var(--line)}.section-block__title{margin:0;font-size:1.05rem;font-weight:650}.section-block__text{margin:.15rem 0 0;color:var(--text-soft);font-size:.85rem}.select-trigger.presentation-switch{width:auto;justify-self:start;align-self:start;gap:.25rem;font-size:.7rem;font-weight:650;letter-spacing:.04em;text-transform:uppercase;color:var(--text-faint);padding:.1rem .3rem;margin-left:-.3rem;margin-bottom:.15rem;min-height:0;height:auto;border-color:transparent;background:transparent}.select-trigger.presentation-switch:hover{border-color:var(--line)}.item-extras__duplicate{margin-left:auto}.activity-editor__actions .button[data-set=true]{color:var(--text);border-color:var(--text-soft)}.activity-editor__tags{width:auto;min-width:9rem;max-width:18rem;padding:.05rem .3rem;border-color:transparent;background:transparent;font-size:.78rem;color:var(--text);text-transform:none;letter-spacing:normal}.activity-editor__tags:hover,.activity-editor__tags:focus{border-color:var(--line)}.activity-editor__view{display:inline-flex;align-items:center;gap:.4rem;font-size:.8rem}.activity-library__tags{display:flex;flex-wrap:wrap;gap:.3rem;margin:.25rem 0 .75rem}.activity-library__tag{padding:.15rem .55rem;border:1px solid var(--line);border-radius:999px;background:var(--paper);color:var(--text-soft);font:inherit;font-size:.75rem;cursor:pointer}.activity-library__tag.is-active{background:var(--text);color:var(--paper);border-color:var(--text)}.activity-library__row[data-template=true] .activity-row__body strong{display:inline-flex;align-items:center;gap:.3rem}@media(max-width:720px){.command-dock__cards{grid-template-columns:repeat(2,minmax(0,1fr))}}.activity-mark__prompt{display:flex;align-items:center;gap:.35rem;margin:0 0 .4rem;font-size:.85rem;color:var(--text-soft)}.activity-mark__word-wrap{display:inline}.activity-mark__word{display:inline;padding:.05rem .15rem;margin:0 -.15rem;border:none;border-radius:4px;background:transparent;color:inherit;font:inherit;line-height:inherit;text-decoration-thickness:2px}button.activity-mark__word{cursor:pointer}button.activity-mark__word:hover{background:var(--hover)}.activity-mark__word[data-state=marked],.activity-mark__word[data-state=hit]{background:color-mix(in srgb,var(--accent) 22%,transparent)}.activity-mark__word[data-state=hit]{text-decoration:underline;text-decoration-color:var(--accent)}.activity-mark__word[data-state=missed]{-webkit-text-decoration:underline dashed;text-decoration:underline dashed;text-decoration-color:var(--danger)}.activity-mark__fix,.activity-mark__correction{margin-left:.25rem;font-size:.8rem;color:var(--text-soft)}.activity-mark__input{margin-left:.25rem;font:inherit;font-size:.8rem;padding:.05rem .35rem;border:1px solid var(--line);border-radius:6px;background:var(--paper);color:var(--text)}.activity-mark-footer{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;width:100%;padding-top:.4rem;border-top:1px dashed var(--line)}.activity-mark-footer__count{display:inline-flex;align-items:center;gap:.3rem;font-size:.78rem;color:var(--text-soft);white-space:nowrap}.activity-mark-footer>input{flex:1;min-width:12rem}.activity-mark-footer__extras{width:100%}.activity-answer-region{position:absolute;border:2px solid var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent);border-radius:3px;pointer-events:none;box-sizing:border-box}.activity-answer-region[data-verdict=correct]{border-color:#16a34a}.activity-answer-region[data-verdict=incorrect]{border-color:var(--danger)}.activity-answer-region--key{border-style:dashed;background:transparent;opacity:.7}.activity-answer-region--key.is-selected{opacity:1}.activity-answer-box__arm{display:inline-flex;align-items:center;gap:.25rem;font:inherit;font-size:.72rem;padding:.15rem .4rem;border:1px solid var(--line);border-radius:6px;background:var(--paper);color:var(--text);cursor:pointer}.activity-answer-box__arm[data-armed=true]{background:var(--text);color:var(--paper);border-color:var(--text)}.activity-answer-box__reading{font-size:.72rem;color:var(--text-soft)}.activity-region-editor{display:flex;flex-direction:column;gap:.35rem}.activity-region-editor__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.2rem}.activity-cloze__slot{display:inline-flex;align-items:baseline;gap:.25rem;margin:0 .15rem;vertical-align:baseline}.activity-cloze__slot-letter{font-size:.72rem;font-weight:600;color:var(--text-soft);border:1px solid var(--line-strong);border-radius:4px;padding:0 .3rem;line-height:1.4}.activity-cloze__slot[data-verdict=correct] .activity-cloze__answer{color:#16a34a}.activity-cloze__slot[data-verdict=incorrect] .activity-cloze__answer{color:var(--danger)}.activity-cloze__select--slot{width:3.2rem;text-align:center}.activity-cloze__sentences{margin:.4rem 0 .75rem;padding-left:1.4rem;font-size:.9rem;line-height:1.6}.activity-cloze__sentences li[data-used=true]{color:var(--text-faint);text-decoration:line-through}.activity-gapped-footer{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;width:100%;padding-top:.4rem;border-top:1px dashed var(--line)}.activity-gapped-footer>input{flex:1;min-width:12rem}.activity-gapped-footer__sentences{list-style:none;width:100%;margin:0;padding:0;display:flex;flex-direction:column;gap:.3rem}.activity-gapped-footer__sentences li{display:flex;align-items:center;gap:.4rem}.activity-gapped-footer__sentences input{flex:1}.activity-gapped-footer__keys{display:flex;flex-wrap:wrap;gap:.4rem 1rem;width:100%;font-size:.85rem;color:var(--text-soft)}.activity-gapped-footer__keys>label>span{white-space:nowrap}.activity-shape-exam{display:flex;flex-direction:column;gap:.35rem;margin-top:.5rem}.activity-shape-exam__sentence{margin:0;font-size:.95rem}.activity-shape-exam__keyword{letter-spacing:.08em;font-size:.85rem}.activity-shape-exam__line{display:flex;flex-wrap:wrap;align-items:baseline;gap:.4rem;line-height:1.8}.activity-shape-exam__line .activity-answer__short{width:auto;flex:1 1 10rem;max-width:18rem;margin-top:0}.activity-shape-exam__line .activity-answer__reading{margin:0;display:inline}.activity-answer__short--number{max-width:9rem}.activity-shape-exam__unit{color:var(--text-soft);font-size:.9rem}.activity-exam-editor,.activity-numeric-editor{display:grid;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:.5rem .8rem;margin-bottom:.5rem}.activity-exam-editor>label:first-child{grid-column:1 / -1}.activity-numeric-editor .select-trigger{align-self:end}.activity-numeric-editor .activity-item-popover__hint{grid-column:1 / -1}.activity-steps__bar{display:flex;align-items:center;gap:.75rem;margin-bottom:.9rem;padding:.5rem .75rem;border:1px solid var(--line);border-radius:10px;background:var(--paper)}.activity-steps__bar--all{justify-content:flex-end}.activity-steps__progress{font-size:.78rem;color:var(--text-soft);white-space:nowrap}.activity-steps__heading{flex:1;min-width:0;display:flex;flex-direction:column;gap:.1rem}.activity-steps__title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.activity-steps__text{font-size:.82rem;color:var(--text-soft)}.activity-steps__nav{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-top:.9rem;padding-top:.75rem;border-top:1px solid var(--line)}.activity-steps__nav .button.primary{margin-left:auto}.activity-steps__gate{font-size:.82rem}.activity-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.25rem;align-items:start}.activity-split__material{position:sticky;top:4.5rem;max-height:calc(100vh - 5.25rem);overflow:auto;padding-right:.25rem}.activity-split__work{min-width:0}@media(max-width:900px){.activity-split{grid-template-columns:minmax(0,1fr)}.activity-split__material{position:static;max-height:none}}.activity-steps .lesson-block:first-child .lesson-block-preview__text p:first-child:first-letter,.activity-split .lesson-block:first-child .lesson-block-preview__text p:first-child:first-letter{font:inherit;float:none;padding:0}.activity-answer--locked{flex-direction:row;align-items:center;gap:.4rem;color:var(--text-soft);font-size:.85rem;border-style:dashed}.section-block__rules{display:flex;flex-wrap:wrap;gap:.25rem 1rem;margin-top:.35rem}.section-block__rules .activity-required{min-height:auto;font-size:.76rem;color:var(--text-soft)}.correction-line{position:relative;display:inline-flex}.correction-line__toggle{display:inline-flex;align-items:center;gap:.25rem;padding:0;border:0;background:transparent;color:inherit;font:inherit;cursor:pointer}.correction-line__toggle:hover{color:var(--text)}.correction-popover{position:fixed;z-index:45;overflow:auto;padding:.9rem 1rem 1rem;background:var(--paper);border:1px solid var(--line);border-radius:12px;box-shadow:0 18px 44px #0f172a29,0 3px 10px #0f172a14;color:var(--text);font-size:.85rem;text-transform:none;letter-spacing:normal;animation:cal-modal-rise .14s cubic-bezier(.2,0,0,1)}.policy-editor{display:flex;flex-direction:column;gap:.75rem;font-size:.85rem}.policy-editor fieldset{margin:0;padding:0;border:0;min-width:0}.policy-editor legend{padding:0;margin-bottom:.4rem;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-soft)}.policy-editor__scope{display:flex;align-items:center;justify-content:space-between;gap:.5rem;font-size:.8rem}.policy-editor__when{display:flex;flex-direction:column;gap:.35rem}.policy-editor__card{display:flex;align-items:flex-start;gap:.6rem;padding:.55rem .7rem;border:1px solid var(--line);border-radius:10px;cursor:pointer;transition:border-color .12s ease,background .12s ease}.policy-editor__card:hover{background:var(--hover)}.policy-editor__card.is-active{border-color:var(--text)}.policy-editor__card input[type=radio]{width:auto;margin:.2rem 0 0;accent-color:var(--text)}.policy-editor__card-body{display:flex;flex-direction:column;gap:.15rem;min-width:0}.policy-editor__card-blurb{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.3rem;color:var(--text-soft);font-size:.8rem}.policy-editor__card-blurb .select-trigger.policy-editor__attempts{width:auto;min-height:1.6rem;padding:.05rem .45rem;font-size:.78rem}.policy-editor__segments{display:inline-flex;padding:2px;border-radius:8px;background:var(--hover)}.policy-editor__segment{padding:.3rem .7rem;border:0;border-radius:6px;background:transparent;color:var(--text-soft);font-size:.8rem}.policy-editor__segment.is-active{background:var(--paper);color:var(--text);box-shadow:0 1px 2px #0000000f}.policy-editor__more summary{cursor:pointer;color:var(--text-soft);font-size:.8rem}.policy-editor__more[open] summary{margin-bottom:.4rem}.policy-editor__check{display:flex;align-items:center;gap:.45rem;padding:.2rem 0;font-size:.82rem}.policy-editor__check input{width:auto;margin:0;accent-color:var(--text)}.policy-editor__cap{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;padding-top:.3rem;font-size:.82rem}.policy-editor__cap .select-trigger{width:auto;min-width:6rem}.item-extras__dependency{display:flex;align-items:center;gap:.5rem;margin-bottom:.6rem;font-size:.82rem;color:var(--text-soft)}.item-extras__dependency .select-trigger{width:auto;min-width:12rem;padding:.3rem .55rem;font-size:.82rem}.activity-editor__mode{width:auto;padding:.35rem .6rem;font-size:.82rem}.item-help__criteria,.activity-answer__criteria,.verdict-control__criteria{list-style:none;margin:.35rem 0 0;padding:0;display:flex;flex-direction:column;gap:.2rem;font-size:.85rem}.item-help__criteria li:before{content:"·";margin-right:.4rem;color:var(--text-faint)}.activity-answer__criteria li[data-met=true] span{color:#16a34a}.activity-answer__criteria li[data-met=false] span{color:var(--text-faint)}.verdict-control__criteria label{display:inline-flex;align-items:center;gap:.4rem;font-size:.85rem;cursor:pointer}.item-help__self{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;margin-top:.5rem;font-size:.85rem;color:var(--text-soft)}.item-help__self-option{font:inherit;font-size:.82rem;padding:.15rem .55rem;border:1px solid var(--line-strong);border-radius:999px;background:var(--paper);color:var(--text);cursor:pointer}.item-help__self-option[aria-pressed=true]{background:var(--text);color:#fff;border-color:var(--text)}.activity-answer__self{font-size:.74rem;padding:.1rem .45rem;border:1px dashed var(--line-strong);border-radius:999px;color:var(--text-soft);white-space:nowrap}.activity-editor__body{display:block}.lesson-block:has(.activity-response-block__select[data-selected=true]) .lesson-block__index{width:1.3rem;height:1.3rem;display:inline-grid;place-items:center;border-radius:999px;background:var(--text);color:var(--paper)}.reuse-dialog{width:min(600px,100%);max-height:min(80vh,40rem);gap:.7rem}.reuse-dialog__head{margin:0}.reuse-dialog__search{display:flex;flex:1;align-items:center;gap:.45rem;color:var(--text-faint)}.cal-modal__panel .reuse-dialog__search input{padding:.3rem 0;border:0;border-radius:0;box-shadow:none;font-size:1rem;background:transparent}.reuse-dialog__filters{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}.reuse-dialog__filters .select-trigger{width:auto;min-width:8rem;font-size:.8rem}.reuse-dialog__tags{margin:0}.reuse-dialog__empty,.reuse-dialog__hint{margin:0;font-size:.8rem}.reuse-dialog__results{flex:1;min-height:0;overflow:auto;margin:0 -.5rem;padding:0 .5rem}.reuse-dialog__group h3{margin:.5rem 0 .2rem;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-soft)}.reuse-dialog__row{display:flex;align-items:center;gap:.5rem;width:100%;padding:.4rem .5rem;border:0;border-radius:8px;background:transparent;text-align:left;color:var(--text)}.reuse-dialog__row.is-active{background:var(--hover)}.reuse-dialog__row:disabled{opacity:.6}.reuse-dialog__text{display:flex;flex-direction:column;min-width:0}.reuse-dialog__text strong,.reuse-dialog__text small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lesson-block-page__drop{margin-top:.75rem;padding:.6rem;border:1px dashed var(--line);border-radius:10px;text-align:center;font-size:.8rem;color:var(--text-faint)}.lesson-block-page__drop.is-drop-target{border-color:var(--accent);color:var(--text);background:color-mix(in srgb,var(--accent) 8%,transparent)}.inline-textarea__tools{display:flex;gap:.3rem;margin-top:.25rem}@media(max-width:900px){.activity-editor__body--rail{grid-template-columns:minmax(0,1fr)}.editor-rail{position:static;max-height:24rem}}.video-pins{list-style:none;margin:.4rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.3rem}.video-pins__pin{display:inline-flex;align-items:center;gap:.35rem;font:inherit;font-size:.8rem;padding:.15rem .55rem;border:1px solid var(--line-strong);border-radius:999px;background:var(--paper);color:var(--text);cursor:pointer}.video-pins__pin[aria-pressed=true]{background:var(--text);color:#fff;border-color:var(--text)}.video-pins__time{font-variant-numeric:tabular-nums;color:inherit;opacity:.8}.video-stretches{display:flex;flex-direction:column;gap:.4rem;margin-top:.4rem}.video-stretches__form{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;font-size:.82rem;color:var(--text-soft)}.video-stretches__form input{width:4.5rem;font:inherit;font-size:.82rem;padding:.25rem .45rem;border:1px solid var(--line);border-radius:6px}.video-stretches__form input.video-stretches__title{width:auto;flex:1 1 8rem}.video-stretches__icon{color:var(--text-faint)}.today-plan{grid-column:1}.today-plan__until{display:inline-flex;align-items:center;gap:.3rem;min-width:0;border-radius:0;padding:0;background:none;color:var(--text-soft);font-size:.78rem}.today-plan__days{display:flex;flex-direction:column;margin:0;padding:0;list-style:none;border-bottom:1px solid var(--line)}.today-plan__day{display:grid;grid-template-columns:6rem minmax(0,1fr);gap:.6rem;align-items:start;min-width:0;padding:.45rem .25rem;border-top:1px solid var(--line)}.today-plan__day:first-child{border-top:0}.today-plan__day--today .today-plan__date strong{color:var(--accent)}.today-plan__date{display:flex;flex-direction:column;gap:.1rem;font-size:.8rem;line-height:1.3}.today-plan__date strong{font-weight:650}.today-plan__session{color:var(--text-soft);font-size:.74rem}.today-plan__entries{display:flex;flex-wrap:wrap;gap:.3rem;margin:0;padding:0;list-style:none}.today-plan__entry{display:inline-block;max-width:16rem;overflow:hidden;border-radius:6px;padding:.2rem .5rem;background:var(--hover);color:var(--text);font-size:.78rem;line-height:1.35;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}.today-plan__entry:hover{background:var(--line)}.today-plan__entry--overdue,.today-plan__entry--changes_requested{box-shadow:inset 2px 0 0 var(--danger)}.today-plan__entry--optional{color:var(--text-soft)}.today-plan__entry--review{color:var(--text-soft);font-style:italic}.today-plan__free{margin:0;padding-top:.2rem;color:var(--text-faint);font-size:.8rem}.today-plan__later{margin:.5rem .25rem 0;color:var(--text-soft);font-size:.78rem}.recap-page__body{display:flex;flex-direction:column;gap:1.5rem;max-width:52rem}.recap-page__pending,.recap-page__empty{margin:0}.recap-section{display:flex;flex-direction:column;gap:.6rem}.recap-section h2{display:flex;align-items:center;gap:.5rem;margin:0;font-size:.95rem;font-weight:650}.recap-section__count{min-width:1.4rem;border-radius:999px;padding:.1rem .4rem;background:var(--hover);color:var(--text-soft);font-size:.72rem;font-weight:500;text-align:center}.recap-section--line{border:1px solid var(--line);border-radius:12px;padding:.9rem 1rem;background:var(--paper)}.recap-section--line .eyebrow{margin:0 0 .35rem}.recap-page__line{margin:0;font-size:1.02rem;line-height:1.5}.recap-page__notes{margin-top:.5rem;font-size:.85rem}.recap-page__notes summary{cursor:pointer}.recap-page__notes p{margin:.4rem 0 0;white-space:pre-wrap;color:var(--text-soft)}.recap-list{display:flex;flex-direction:column;margin:0;padding:0;list-style:none;border-top:1px solid var(--line)}.recap-list__row{display:grid;grid-template-columns:minmax(0,14rem) minmax(0,1fr);gap:.25rem 1rem;padding:.55rem .25rem;border-bottom:1px solid var(--line);font-size:.88rem;line-height:1.4}.recap-list__where,.recap-list__what{display:flex;flex-direction:column;gap:.15rem;min-width:0}.recap-list__where{color:var(--text-soft)}.recap-list__where a{color:var(--text);font-weight:600;text-decoration:none}.recap-list__where a:hover{text-decoration:underline}.recap-list__kind{color:var(--text-faint);font-size:.74rem;text-transform:uppercase;letter-spacing:.04em}.recap-list__what .verdict-badge{align-self:flex-start}.recap-section--next p{margin:0}@media(max-width:720px){.recap-list__row{grid-template-columns:1fr}}.progress-lines{display:flex;flex-direction:column;gap:.3rem;margin:0;font-size:.82rem}.progress-lines__row{display:grid;grid-template-columns:8rem minmax(0,1fr);gap:.5rem;align-items:baseline}.progress-lines__row dt{color:var(--text-soft)}.progress-lines__row dd{display:flex;flex-wrap:wrap;align-items:baseline;gap:.35rem;margin:0;min-width:0}.progress-lines__codes{display:inline-flex;flex-wrap:wrap;gap:.3rem}.progress-lines__code{border-radius:999px;padding:.05rem .5rem;background:var(--hover);color:var(--text-soft);font-size:.74rem;white-space:nowrap}.progress-lines__code[data-open=true]{color:var(--text)}.progress-lines__code--rest{background:none;padding-left:0}.progress-lines__trail{display:inline-flex;gap:.2rem}.progress-lines__dot{display:inline-flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;border-radius:999px;background:var(--hover);color:var(--text-soft);font-size:.7rem;font-weight:600}.progress-lines__dot[data-value="1"],.progress-lines__dot[data-value="2"]{background:#fee2e2;color:#991b1b}.progress-lines__dot[data-value="4"]{background:#dcfce7;color:#166534}.goal-card__progress{display:flex;flex-direction:column;gap:.5rem;margin-top:.35rem;padding-top:.6rem;border-top:1px solid var(--line)}.goal-card__note{margin:0;font-size:.85rem;line-height:1.45}.student-progress{display:flex;flex-direction:column;gap:.6rem}.student-progress .eyebrow{margin:0}@media(max-width:720px){.progress-lines__row{grid-template-columns:1fr;gap:.1rem}}.goal-panel{display:flex;flex-direction:column;gap:.75rem}.goal-card{display:flex;flex-direction:column;gap:.4rem;padding:.85rem 1rem;border:1px solid var(--line);border-radius:10px;background:var(--paper)}.goal-card[data-due=true]{border-color:var(--accent)}.goal-card .eyebrow{display:flex;align-items:center;gap:.3rem}.goal-card__row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.6rem;align-items:center}.goal-card__rhythm{display:inline-flex;align-items:center;gap:.4rem;font-size:.78rem;color:var(--text-soft);white-space:nowrap}.goal-card__rhythm .select-trigger{width:auto;padding:.25rem .5rem;font-size:.78rem}.goal-card__meta{display:flex;align-items:center;gap:.6rem;margin:0;font-size:.8rem}.step-self-rating__options{display:flex;flex-wrap:wrap;gap:.4rem}.step-self-rating__option{display:inline-flex;align-items:center;gap:.4rem;font:inherit;font-size:.82rem;padding:.3rem .7rem;border:1px solid var(--line-strong);border-radius:999px;background:var(--paper);color:var(--text);cursor:pointer}.step-self-rating__option strong{font-variant-numeric:tabular-nums}.step-self-rating__option[aria-pressed=true]{background:var(--text);color:#fff;border-color:var(--text)}.student-goal__text{margin:0;white-space:pre-wrap}.student-goal__meta{margin:.25rem 0 0;font-size:.8rem}.path-session__chip--self[data-calibration=above]{border-color:#d97706;color:#b45309}.path-session__chip--self[data-calibration=below]{border-color:#2563eb;color:#1d4ed8}.verdict-control__assist{display:inline-flex;align-items:center;justify-content:center;min-width:2rem;height:2rem;padding:0 .5rem;border:1px solid var(--line);border-radius:999px;background:var(--paper);color:var(--text-soft);cursor:pointer}.verdict-control__assist:hover:not(:disabled){background:var(--hover);color:var(--text)}.verdict-control__assist:disabled{opacity:.5;cursor:default}.assistant-draft{display:flex;flex-direction:column;gap:.4rem;padding:.6rem .75rem;border:1px solid var(--line-strong);border-radius:8px;background:var(--app-bg);font-size:.9rem}.assistant-draft__head{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem}.assistant-draft__head small,.assistant-draft__notice,.assistant-draft__wait{color:var(--text-faint);font-size:.75rem}.assistant-draft__wait,.assistant-draft__error,.assistant-draft__line,.assistant-draft__note,.assistant-draft__practice{margin:0}.assistant-draft__error{color:var(--danger);font-size:.85rem}.assistant-draft__line{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}.assistant-draft__value{display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;border-radius:999px;border:1px solid var(--line);font-weight:700;font-size:.85rem}.assistant-draft__value[data-value=correct]{background:#dcfce7;color:#166534;border-color:#86efac}.assistant-draft__value[data-value=partial]{background:#fef3c7;color:#92400e;border-color:#fcd34d}.assistant-draft__value[data-value=incorrect]{background:#fee2e2;color:#991b1b;border-color:#fca5a5}.assistant-draft__correction{font-style:italic}.assistant-draft__note{color:var(--text-soft)}.assistant-draft__actions{display:flex;gap:.4rem}.activity-submit-bar__notice,.activity-review__assisted{display:block;margin-top:.25rem;color:var(--text-faint);font-size:.75rem}.cal-modal__panel.suggested-items{width:min(640px,100%);gap:.6rem}.suggested-items__meta{margin:-.4rem 0 0;font-size:.8rem}.suggested-items__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem;max-height:55vh;overflow:auto}.suggested-items__row{display:grid;grid-template-columns:6.5rem 1fr;gap:.6rem;align-items:start;padding:.5rem .6rem;border:1px solid var(--line);border-radius:8px}.suggested-items__row[data-keep=false]{opacity:.55}.suggested-items__keep{display:flex;align-items:center;gap:.4rem;font-size:.8rem;color:var(--text-soft);padding-top:.35rem}.suggested-items__kind{font-weight:600}.suggested-items__fields{display:flex;flex-direction:column;gap:.3rem}.suggested-items__fields input{width:100%;font:inherit;font-size:.9rem;padding:.35rem .5rem;border:1px solid var(--line);border-radius:6px;background:var(--paper);color:var(--text)}.suggested-items__fields small{font-size:.75rem}.verdict-control__suggested{align-self:flex-start;margin-top:-.2rem;padding:.15rem .5rem;border:1px dashed var(--line-strong);border-radius:999px;background:transparent;color:var(--text-soft);font:inherit;font-size:.78rem;cursor:pointer}.verdict-control__suggested:hover{background:var(--hover);color:var(--text)}.activity-segments{display:inline-flex;gap:.15rem;margin-bottom:.9rem;padding:.15rem;border:1px solid var(--line);border-radius:999px;background:var(--paper)}.activity-segments__item{padding:.3rem .85rem;border-radius:999px;color:var(--text-soft);font-size:.85rem;font-weight:600;text-decoration:none}.activity-segments__item:hover{color:var(--text)}.activity-segments__item.is-active{background:var(--accent);color:var(--paper)}.schedule-page__loading{margin-top:.5rem}
