.python-photos{flex:0 0 auto;max-width:100%;min-width:0;border-block:1px solid var(--border-color, #8c8c8c55);color:var(--color-text, #18212f);font-size:12px}.python-photos summary{min-height:40px;padding:0 12px;cursor:pointer;display:flex;align-items:center}.python-photos-summary{min-width:0;display:inline-flex;align-items:center;gap:7px;font-weight:700}.python-photos-count{color:var(--color-text-muted, #607086);font-weight:600}.python-photos-content{padding:2px 12px 12px;max-height:260px;overflow:auto}.python-photos-input{position:absolute;inline-size:1px;block-size:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.python-photos-upload{min-height:62px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px dashed var(--color-border, #cbd5e1);border-radius:10px;background:var(--color-surface-subtle, #f8faff)}.python-photos-upload>div{min-width:0;display:grid;gap:3px}.python-photos-upload strong{color:var(--color-text, #18212f);font-size:12px}.python-photos-upload span,.python-photos-help,.python-photos-empty{color:var(--color-text-muted, #607086);line-height:1.45}.python-photos-upload-button,.python-photos li button{flex:0 0 auto;min-height:32px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--color-border, #cbd5e1);border-radius:8px;background:var(--color-surface, #fff);color:var(--color-text, #18212f);font:inherit;font-weight:700;cursor:pointer}.python-photos-upload-button{padding:6px 10px;color:var(--color-primary, #263891)}.python-photos-upload-button:hover:not(:disabled),.python-photos li button:hover:not(:disabled){border-color:var(--color-primary, #263891);background:var(--color-primary-soft, #eef0fb)}.python-photos button:disabled{cursor:not-allowed;opacity:.55}.python-photos-help,.python-photos-empty,.python-photos-error{margin:8px 0 0}.python-photos ul{display:grid;gap:6px;padding:0;margin:10px 0 0;list-style:none}.python-photos li{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 8px 7px 10px;border:1px solid var(--color-border, #e2e8f0);border-radius:8px;background:var(--color-surface, #fff)}.python-photos li code{overflow:hidden;min-width:0;text-overflow:ellipsis;white-space:nowrap}.python-photos li button{padding:5px 8px;color:var(--color-danger, #b42318)}.python-photos-error{color:var(--color-danger, #b42318);font-weight:700}.python-photos :focus-visible{outline:2px solid var(--color-primary, #263891);outline-offset:2px}@media(max-width:480px){.python-photos-upload{align-items:flex-start;flex-direction:column}.python-photos-upload-button{width:100%}}.xterm{cursor:text;position:relative;user-select:none;-ms-user-select:none;-webkit-user-select:none}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{position:absolute;top:0;z-index:5}.xterm .xterm-helper-textarea{padding:0;border:0;margin:0;position:absolute;opacity:0;left:-9999em;top:0;width:0;height:0;z-index:-5;white-space:nowrap;overflow:hidden;resize:none}.xterm .composition-view{background:#000;color:#fff;display:none;position:absolute;white-space:nowrap;z-index:1}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{background-color:#000;overflow-y:scroll;cursor:default;position:absolute;inset:0}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;left:0;top:0}.xterm-char-measure-element{display:inline-block;visibility:hidden;position:absolute;top:0;left:-9999em;line-height:normal}.xterm.enable-mouse-events{cursor:default}.xterm.xterm-cursor-pointer,.xterm .xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-accessibility:not(.debug),.xterm .xterm-message{position:absolute;inset:0;z-index:10;color:transparent;pointer-events:none}.xterm .xterm-accessibility-tree:not(.debug) *::selection{color:transparent}.xterm .xterm-accessibility-tree{font-family:monospace;-webkit-user-select:text;user-select:text;white-space:pre}.xterm .xterm-accessibility-tree>div{transform-origin:left;width:fit-content}.xterm .live-region{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{text-decoration:double underline}.xterm-underline-3{text-decoration:wavy underline}.xterm-underline-4{text-decoration:dotted underline}.xterm-underline-5{text-decoration:dashed underline}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:overline underline}.xterm-overline.xterm-underline-2{text-decoration:overline double underline}.xterm-overline.xterm-underline-3{text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{z-index:6;position:absolute}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{z-index:8;position:absolute;top:0;right:0;pointer-events:none}.xterm-decoration-top{z-index:2;position:relative}.xterm .xterm-scrollable-element>.scrollbar{cursor:default}.xterm .xterm-scrollable-element>.scrollbar>.scra{cursor:pointer;font-size:11px!important}.xterm .xterm-scrollable-element>.visible{opacity:1;background:#0000;transition:opacity .1s linear;z-index:11}.xterm .xterm-scrollable-element>.invisible{opacity:0;pointer-events:none}.xterm .xterm-scrollable-element>.invisible.fade{transition:opacity .8s linear}.xterm .xterm-scrollable-element>.shadow{position:absolute;display:none}.xterm .xterm-scrollable-element>.shadow.top{display:block;top:0;left:3px;height:3px;width:100%;box-shadow:var(--vscode-scrollbar-shadow, #000) 0 6px 6px -6px inset}.xterm .xterm-scrollable-element>.shadow.left{display:block;top:3px;left:0;height:100%;width:3px;box-shadow:var(--vscode-scrollbar-shadow, #000) 6px 0 6px -6px inset}.xterm .xterm-scrollable-element>.shadow.top-left-corner{display:block;top:0;left:0;height:3px;width:3px}.xterm .xterm-scrollable-element>.shadow.top.left{box-shadow:var(--vscode-scrollbar-shadow, #000) 6px 0 6px -6px inset}dialog:has(>.quick-liquid-popup-surface){background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;overflow:visible}dialog>.quick-liquid-popup-surface{box-sizing:border-box;width:100%;background:#f9fbfff5!important;color:#12203a}.quick-liquid-popup-surface{background:#f9fbfff5!important;color:#12203a}.quick-liquid-popup-content{box-sizing:border-box;padding:26px 28px}.quick-liquid-popup-form{box-sizing:border-box}.quick-liquid-popup-pacing{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;padding:20px}.report-issue-dialog--quick-liquid,.course-dialog--quick-liquid{background:#f9fbfff5!important}.teacher-solution-dialog--quick-liquid{background:#0b1220!important;color:#e5edf8}.pdf-document-viewer{display:flex;min-height:34rem;flex-direction:column;overflow:hidden;border:1px solid #18284229;border-radius:18px;background:#eef2f6;color:#152238}.pdf-document-toolbar,.pdf-document-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 1rem;background:#fff;border-bottom:1px solid #1828421f}.pdf-document-toolbar>div:first-child{display:flex;min-width:0;flex-direction:column}.pdf-document-toolbar small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#64748b}.pdf-document-actions{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap}.pdf-document-actions button,.pdf-document-actions a{display:inline-flex;align-items:center;gap:.35rem;min-height:2.25rem;padding:.4rem .65rem;border:1px solid #d5dde7;border-radius:9px;background:#fff;color:inherit;text-decoration:none}.pdf-document-actions span{font-size:.82rem}.pdf-document-stage{position:relative;display:flex;flex:1;min-height:28rem;justify-content:center;overflow:auto;padding:1.25rem;background:#dbe2ea}.pdf-document-stage canvas{align-self:flex-start;max-width:none;background:#fff;box-shadow:0 8px 30px #0f172a2e}.pdf-document-message{position:absolute;z-index:1;inset:0;display:flex;align-items:center;justify-content:center;gap:.6rem;background:#eef2f6d9}.pdf-document-message.error{color:#991b1b}.pdf-document-footer{border-top:1px solid #1828421f;border-bottom:0}.pdf-document-viewer:fullscreen{height:100vh;border:0;border-radius:0}.pdf-document-viewer:fullscreen .pdf-document-stage{min-height:0}.pdf-exercise-workspace{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(22rem,.75fr);align-items:start;gap:1rem;width:100%;padding:1rem}.pdf-exercise-main-column{display:grid;min-width:0;gap:1rem}.pdf-exercise-workspace>.pdf-question-outline{margin:0}.pdf-submission-panel{position:relative;padding:1rem;border:1px solid #d7e0ea;border-radius:18px;background:#fff;color:#172033}.pdf-submission-heading{display:flex;justify-content:space-between;gap:1rem}.pdf-submission-heading p{margin:.25rem 0;color:#64748b}.pdf-submission-heading>span{white-space:nowrap;font-size:.8rem;color:#64748b}.pdf-submission-actions{display:flex;gap:.5rem;flex-wrap:wrap;margin:1rem 0}.pdf-submission-actions button,.pdf-submit-button{display:inline-flex;align-items:center;justify-content:center;gap:.45rem}.pdf-submission-files{display:grid;gap:.5rem;padding:0;list-style:none}.pdf-submission-files li{display:grid;grid-template-columns:auto 1fr repeat(4,auto);align-items:center;gap:.4rem;padding:.6rem;border:1px solid #dde5ee;border-radius:12px}.pdf-submission-files li div{display:grid;grid-template-columns:auto 1fr}.pdf-submission-files li div strong,.pdf-submission-files li div small{grid-column:2}.pdf-submission-thumbnail-button{grid-row:1 / span 2;margin-right:.5rem;padding:0;overflow:hidden;border:0;border-radius:8px;background:transparent;cursor:zoom-in}.pdf-submission-thumbnail{display:block;width:4.5rem;height:4.5rem;object-fit:cover}.pdf-submission-files small{color:#64748b}.pdf-submission-file-index{display:grid;width:1.8rem;height:1.8rem;place-items:center;border-radius:50%;background:#e7eef8}.pdf-submission-empty{padding:2rem;text-align:center;border:1px dashed #cbd5e1;border-radius:12px;color:#64748b}.pdf-mobile-qr-dialog{width:min(480px,calc(100vw - 32px));max-height:calc(100dvh - 32px);padding:0;overflow:auto;border:1px solid #dbe3ee;border-radius:20px;background:#fff;color:#172033;box-shadow:0 24px 80px #0f172a3d}.pdf-mobile-qr-dialog::backdrop{background:#0f172a73}.pdf-mobile-qr{position:relative;display:flex;align-items:center;flex-direction:column;padding:1.5rem;text-align:center}.pdf-mobile-qr h2{margin:.35rem 0 1rem;font-size:1.5rem}.pdf-mobile-qr img{width:min(260px,80%);border-radius:12px}.pdf-mobile-qr-close{position:absolute;top:1rem;right:1rem}.pdf-mobile-qr-status{width:100%;margin-top:1rem;padding:.8rem 1rem;border-radius:12px;background:#f1f5f9}.pdf-mobile-qr-status.success{background:#ecfdf5;color:#166534}.pdf-mobile-qr-status p,.pdf-mobile-qr-expiry{margin:.3rem 0 0;line-height:1.45}.pdf-mobile-qr-expiry{margin-top:1rem;color:#64748b;font-size:.9rem}.pdf-mobile-qr-done{width:100%;min-height:2.75rem;margin-top:1rem}.pdf-image-preview-dialog{width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;border:0;background:#07101be8}.pdf-image-preview-dialog::backdrop{background:#07101be8}.pdf-image-preview{position:relative;display:grid;width:100%;height:100%;place-items:center;padding:3rem}.pdf-image-preview img{max-width:88vw;max-height:88dvh;object-fit:contain;border-radius:10px;box-shadow:0 20px 70px #0009}.pdf-image-preview-close{position:fixed;z-index:1;top:1rem;right:1rem;display:grid;width:3rem;height:3rem;place-items:center;border:1px solid #fff5;border-radius:50%;background:#fff;color:#172033}.pdf-grading-feedback-dialog{width:min(760px,calc(100vw - 32px));overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior:contain;scrollbar-gutter:stable}.pdf-grading-feedback-criteria{display:grid;gap:.75rem;margin:1.25rem 0 0;padding:0;list-style:none}.pdf-grading-feedback-criteria li{padding:1rem;border:1px solid #dbe3ee;border-radius:12px;background:#f8fafc}.pdf-grading-feedback-criteria li>div{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.pdf-grading-feedback-criteria li>div span{flex:0 0 auto;font-weight:800}.pdf-grading-feedback-criteria li p{margin:.45rem 0 0;color:#64748b}.pdf-submit-button{width:100%;min-height:2.8rem;margin-top:1rem}@media(max-width:1050px){.pdf-exercise-workspace{grid-template-columns:1fr}.pdf-submission-panel{min-height:22rem}}@media(max-width:760px){.pdf-document-toolbar{align-items:flex-start;flex-direction:column}.pdf-document-actions span:not(:first-child){display:none}.pdf-document-viewer{min-height:28rem}.pdf-document-stage{min-height:22rem;padding:.65rem}}@media(max-width:600px){.pdf-exercise-workspace{padding:.5rem}.pdf-submission-heading{flex-direction:column}.pdf-submission-files li{grid-template-columns:auto 1fr repeat(2,auto)}.pdf-submission-files li button:nth-of-type(2),.pdf-submission-files li button:nth-of-type(3){display:none}}.teacher-pdf-submission{display:grid;gap:1rem;margin-top:1rem}.teacher-pdf-submission>header{display:flex;align-items:center;gap:.6rem;padding:.75rem;border-radius:12px;background:#fff}.teacher-pdf-submission>header div{display:grid}.teacher-pdf-submission>header small{color:#64748b}.teacher-pdf-submission>header>span{margin-left:auto;font-weight:800}.teacher-pdf-files{display:grid;gap:1rem}.teacher-pdf-files figure{margin:0;padding:1rem;text-align:center;border-radius:14px;background:#dbe2ea}.teacher-pdf-files img{max-width:100%;max-height:70vh;object-fit:contain;background:#fff}.pdf-question-outline{margin-bottom:1rem;padding:1rem;border-radius:14px;background:#f5f8fc}.pdf-question-outline ol{display:grid;gap:.45rem;margin:.65rem 0 0;padding-left:1.4rem}.pdf-question-outline li span,.pdf-question-outline li small{display:block}.pdf-question-outline li small{color:#64748b}.app-loading-screen{min-height:100dvh;padding:24px;display:grid;place-items:center;background:#fff;color:#12203a}.app-loading-card{width:min(100%,420px);box-sizing:border-box;padding:32px;border:1px solid rgb(18 32 58 / .08);border-radius:28px;background:#fff;box-shadow:0 8px 28px #12203a0f}.app-loading-brand{display:block;width:112px;height:auto;margin-bottom:32px}.app-loading-status{display:flex;align-items:center;gap:12px;line-height:1.5}.app-loading-spinner{flex:0 0 auto;color:#263891;animation:app-loading-rotate 1s linear infinite}.app-loading-card p{margin:12px 0 0;color:#5b6b82;font-size:14px;line-height:1.6}@keyframes app-loading-rotate{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.app-loading-spinner{animation:none}}.monaco-editor{font-family:-apple-system,BlinkMacSystemFont,Segoe WPC,Segoe UI,HelveticaNeue-Light,system-ui,Ubuntu,Droid Sans,sans-serif;--monaco-monospace-font: "SF Mono", Monaco, Menlo, Consolas, "Ubuntu Mono", "Liberation Mono", "DejaVu Sans Mono", "Courier New", monospace}.monaco-menu .monaco-action-bar.vertical .action-item .action-menu-item:focus .action-label{stroke-width:1.2px}.monaco-editor.vs-dark .monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .action-label,.monaco-editor.hc-black .monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .action-label,.monaco-editor.hc-light .monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .action-label{stroke-width:1.2px}.monaco-hover p{margin:0}.monaco-aria-container{position:absolute!important;top:0;height:1px;width:1px;margin:-1px;overflow:hidden;padding:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%)}.monaco-editor .synthetic-focus,.monaco-diff-editor .synthetic-focus,.monaco-editor [tabindex="0"]:focus,.monaco-diff-editor [tabindex="0"]:focus,.monaco-editor [tabindex="-1"]:focus,.monaco-diff-editor [tabindex="-1"]:focus,.monaco-editor button:focus,.monaco-diff-editor button:focus,.monaco-editor input[type=button]:focus,.monaco-diff-editor input[type=button]:focus,.monaco-editor input[type=checkbox]:focus,.monaco-diff-editor input[type=checkbox]:focus,.monaco-editor input[type=search]:focus,.monaco-diff-editor input[type=search]:focus,.monaco-editor input[type=text]:focus,.monaco-diff-editor input[type=text]:focus,.monaco-editor select:focus,.monaco-diff-editor select:focus,.monaco-editor textarea:focus,.monaco-diff-editor textarea:focus{outline-width:1px;outline-style:solid;outline-offset:-1px;outline-color:var(--vscode-focusBorder);opacity:1}.monaco-aria-container{position:absolute;left:-999em}::-ms-clear{display:none}.monaco-editor .editor-widget input{color:inherit}.monaco-editor{position:relative;overflow:visible;-webkit-text-size-adjust:100%;text-spacing-trim:space-all;color:var(--vscode-editor-foreground);background-color:var(--vscode-editor-background);overflow-wrap:initial}.monaco-editor-background{background-color:var(--vscode-editor-background)}.monaco-editor .rangeHighlight{background-color:var(--vscode-editor-rangeHighlightBackground);box-sizing:border-box;border:1px solid var(--vscode-editor-rangeHighlightBorder)}.monaco-editor.hc-black .rangeHighlight,.monaco-editor.hc-light .rangeHighlight{border-style:dotted}.monaco-editor .symbolHighlight{background-color:var(--vscode-editor-symbolHighlightBackground);box-sizing:border-box;border:1px solid var(--vscode-editor-symbolHighlightBorder)}.monaco-editor.hc-black .symbolHighlight,.monaco-editor.hc-light .symbolHighlight{border-style:dotted}.monaco-editor .editorCanvas{position:absolute;width:100%;height:100%;z-index:0;pointer-events:none}.monaco-editor .overflow-guard{position:relative;overflow:hidden}.monaco-editor .view-overlays{position:absolute;top:0}.monaco-editor .view-overlays>div,.monaco-editor .margin-view-overlays>div{position:absolute;width:100%}.monaco-editor .squiggly-error{border-bottom:4px double var(--vscode-editorError-border)}.monaco-editor .squiggly-error:before{display:block;content:"";width:100%;height:100%;background:var(--vscode-editorError-background)}.monaco-editor .squiggly-warning{border-bottom:4px double var(--vscode-editorWarning-border)}.monaco-editor .squiggly-warning:before{display:block;content:"";width:100%;height:100%;background:var(--vscode-editorWarning-background)}.monaco-editor .squiggly-info{border-bottom:4px double var(--vscode-editorInfo-border)}.monaco-editor .squiggly-info:before{display:block;content:"";width:100%;height:100%;background:var(--vscode-editorInfo-background)}.monaco-editor .squiggly-hint{border-bottom:2px dotted var(--vscode-editorHint-border)}.monaco-editor.showUnused .squiggly-unnecessary{border-bottom:2px dashed var(--vscode-editorUnnecessaryCode-border)}.monaco-editor.showDeprecated .squiggly-inline-deprecated{text-decoration:line-through;text-decoration-color:var(--vscode-editor-foreground, inherit)}.monaco-scrollable-element>.scrollbar>.scra{cursor:pointer;font-size:11px!important}.monaco-scrollable-element>.visible{opacity:1;background:#0000;transition:opacity .1s linear;z-index:11}.monaco-scrollable-element>.invisible{opacity:0;pointer-events:none}.monaco-scrollable-element>.invisible.fade{transition:opacity .8s linear}.disable-animations .monaco-scrollable-element>.visible,.disable-animations .monaco-scrollable-element>.invisible.fade{transition:none}.monaco-scrollable-element>.shadow{position:absolute;display:none}.monaco-scrollable-element>.shadow.top{display:block;top:0;left:3px;height:3px;width:100%;box-shadow:var(--vscode-scrollbar-shadow) 0 6px 6px -6px inset}.monaco-scrollable-element>.shadow.left{display:block;top:3px;left:0;height:100%;width:3px;box-shadow:var(--vscode-scrollbar-shadow) 6px 0 6px -6px inset}.monaco-scrollable-element>.shadow.top-left-corner{display:block;top:0;left:0;height:3px;width:3px}.monaco-scrollable-element>.shadow.top.left{box-shadow:var(--vscode-scrollbar-shadow) 6px 0 6px -6px inset}.monaco-scrollable-element>.scrollbar{background:var(--vscode-scrollbar-background)}.monaco-scrollable-element>.scrollbar>.slider{background:var(--vscode-scrollbarSlider-background)}.monaco-scrollable-element>.scrollbar>.slider:hover{background:var(--vscode-scrollbarSlider-hoverBackground)}.monaco-scrollable-element>.scrollbar>.slider.active{background:var(--vscode-scrollbarSlider-activeBackground)}.monaco-editor .blockDecorations-container{position:absolute;top:0;pointer-events:none}.monaco-editor .blockDecorations-block{position:absolute;box-sizing:border-box}.monaco-editor .view-overlays .current-line,.monaco-editor .margin-view-overlays .current-line{display:block;position:absolute;left:0;top:0;box-sizing:border-box;height:100%}.monaco-editor .margin-view-overlays .current-line.current-line-margin.current-line-margin-both{border-right:0}.monaco-editor .lines-content .cdr{position:absolute;height:100%}.monaco-editor .glyph-margin{position:absolute;top:0}.monaco-editor .glyph-margin-widgets .cgmr{position:absolute;display:flex;align-items:center;justify-content:center}.monaco-editor .glyph-margin-widgets .cgmr.codicon-modifier-spin:before{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.monaco-editor .lines-content .core-guide{position:absolute;box-sizing:border-box;height:100%}.monaco-editor .margin-view-overlays .line-numbers{bottom:0;font-variant-numeric:tabular-nums;position:absolute;text-align:right;display:inline-block;vertical-align:middle;box-sizing:border-box;cursor:default}.monaco-editor .relative-current-line-number{text-align:left;display:inline-block;width:100%}.monaco-editor .margin-view-overlays .line-numbers.lh-odd{margin-top:1px}.monaco-editor .line-numbers{color:var(--vscode-editorLineNumber-foreground)}.monaco-editor .line-numbers.active-line-number{color:var(--vscode-editorLineNumber-activeForeground)}.monaco-mouse-cursor-text{cursor:text}.mtkcontrol{color:#fff!important;background:#960000!important}.mtkoverflow{background-color:var(--vscode-button-background, var(--vscode-editor-background));color:var(--vscode-button-foreground, var(--vscode-editor-foreground));border-width:1px;border-style:solid;border-color:var(--vscode-contrastBorder);border-radius:2px;padding:4px;cursor:pointer}.mtkoverflow:hover{background-color:var(--vscode-button-hoverBackground)}.monaco-editor.no-user-select .lines-content,.monaco-editor.no-user-select .view-line,.monaco-editor.no-user-select .view-lines{user-select:none;-webkit-user-select:none}.monaco-editor.mac .lines-content:hover,.monaco-editor.mac .view-line:hover,.monaco-editor.mac .view-lines:hover{user-select:text;-webkit-user-select:text;-ms-user-select:text}.monaco-editor.enable-user-select{user-select:initial;-webkit-user-select:initial}.monaco-editor .view-lines{white-space:nowrap}.monaco-editor .view-line{box-sizing:border-box;position:absolute;width:100%}.monaco-editor .lines-content>.view-lines>.view-line>span{top:0;bottom:0;position:absolute}.monaco-editor .mtkw{color:var(--vscode-editorWhitespace-foreground)!important}.monaco-editor .mtkz{display:inline-block;color:var(--vscode-editorWhitespace-foreground)!important}.monaco-editor .lines-decorations{position:absolute;top:0;background:#fff}.monaco-editor .margin-view-overlays .cldr{position:absolute;height:100%}.monaco-editor .margin{background-color:var(--vscode-editorGutter-background)}.monaco-editor .margin-view-overlays .cmdr{position:absolute;left:0;width:100%;height:100%}.monaco-editor .minimap.slider-mouseover .minimap-slider{opacity:0;transition:opacity .1s linear}.monaco-editor .minimap.slider-mouseover:hover .minimap-slider,.monaco-editor .minimap.slider-mouseover .minimap-slider.active{opacity:1}.monaco-editor .minimap-slider .minimap-slider-horizontal{background:var(--vscode-minimapSlider-background)}.monaco-editor .minimap-slider:hover .minimap-slider-horizontal{background:var(--vscode-minimapSlider-hoverBackground)}.monaco-editor .minimap-slider.active .minimap-slider-horizontal{background:var(--vscode-minimapSlider-activeBackground)}.monaco-editor .minimap-shadow-visible{box-shadow:var(--vscode-shadow-md)}.monaco-editor .minimap-shadow-hidden{position:absolute;width:0}.monaco-editor .minimap-shadow-visible{position:absolute;left:-6px;width:6px;pointer-events:none}.monaco-editor.no-minimap-shadow .minimap-shadow-visible{position:absolute;left:-1px;width:1px}.minimap.minimap-autohide-mouseover,.minimap.minimap-autohide-scroll{opacity:0;transition:opacity .5s}.minimap.minimap-autohide-scroll{pointer-events:none}.minimap.minimap-autohide-mouseover:hover,.minimap.minimap-autohide-scroll.active{opacity:1;pointer-events:auto}.monaco-editor .minimap{z-index:5}.monaco-editor .minimap canvas{opacity:.9}.monaco-editor .overlayWidgets{position:absolute;top:0;left:0}.monaco-editor .view-ruler{position:absolute;top:0;box-shadow:1px 0 0 0 var(--vscode-editorRuler-foreground) inset;pointer-events:none}.monaco-editor .scroll-decoration{position:absolute;top:0;left:0;height:6px;box-shadow:var(--vscode-scrollbar-shadow) 0 6px 6px -6px inset}.monaco-editor .lines-content .cslr{position:absolute}.monaco-editor .focused .selected-text{background-color:var(--vscode-editor-selectionBackground)}.monaco-editor .selected-text{background-color:var(--vscode-editor-inactiveSelectionBackground)}.monaco-editor .top-left-radius{border-top-left-radius:3px}.monaco-editor .bottom-left-radius{border-bottom-left-radius:3px}.monaco-editor .top-right-radius{border-top-right-radius:3px}.monaco-editor .bottom-right-radius{border-bottom-right-radius:3px}.monaco-editor.hc-black .top-left-radius{border-top-left-radius:0}.monaco-editor.hc-black .bottom-left-radius{border-bottom-left-radius:0}.monaco-editor.hc-black .top-right-radius{border-top-right-radius:0}.monaco-editor.hc-black .bottom-right-radius{border-bottom-right-radius:0}.monaco-editor.hc-light .top-left-radius{border-top-left-radius:0}.monaco-editor.hc-light .bottom-left-radius{border-bottom-left-radius:0}.monaco-editor.hc-light .top-right-radius{border-top-right-radius:0}.monaco-editor.hc-light .bottom-right-radius{border-bottom-right-radius:0}.monaco-editor .cursors-layer{position:absolute;top:0}.monaco-editor .cursors-layer>.cursor{position:absolute;overflow:hidden;box-sizing:border-box}.monaco-editor .cursors-layer.cursor-smooth-caret-animation>.cursor{transition:all 80ms}.monaco-editor .cursors-layer.cursor-block-outline-style>.cursor{background:transparent!important;border-style:solid;border-width:1px}.monaco-editor .cursors-layer.cursor-underline-style>.cursor{border-bottom-width:2px;border-bottom-style:solid;background:transparent!important}.monaco-editor .cursors-layer.cursor-underline-thin-style>.cursor{border-bottom-width:1px;border-bottom-style:solid;background:transparent!important}@keyframes monaco-cursor-smooth{0%,20%{opacity:1}60%,to{opacity:0}}@keyframes monaco-cursor-phase{0%,20%{opacity:1}90%,to{opacity:0}}@keyframes monaco-cursor-expand{0%,20%{transform:scaleY(1)}80%,to{transform:scaleY(0)}}.cursor-smooth{animation:monaco-cursor-smooth .5s ease-in-out 0s 20 alternate}.cursor-phase{animation:monaco-cursor-phase .5s ease-in-out 0s 20 alternate}.cursor-expand>.cursor{animation:monaco-cursor-expand .5s ease-in-out 0s 20 alternate}.monaco-editor .mwh{position:absolute;color:var(--vscode-editorWhitespace-foreground)!important}.monaco-editor .monaco-decoration-css-rule-extractor{visibility:hidden;pointer-events:none}.monaco-editor .inputarea{min-width:0;min-height:0;margin:0;padding:0;position:absolute;outline:none!important;resize:none;border:none;overflow:hidden;color:transparent;background-color:transparent;z-index:-10}.monaco-editor .inputarea.ime-input{z-index:10;caret-color:var(--vscode-editorCursor-foreground);color:var(--vscode-editor-foreground)}.monaco-editor .native-edit-context{margin:0;padding:0;position:absolute;overflow-y:scroll;scrollbar-width:none;z-index:-10;white-space:pre-wrap}.monaco-editor .ime-text-area{min-width:0;min-height:0;margin:0;padding:0;position:absolute;outline:none!important;resize:none;border:none;overflow:hidden;color:transparent;background-color:transparent;z-index:-10}.monaco-editor .edit-context-composition-none{background-color:transparent;border-bottom:none}.monaco-editor :not(.hc-black,.hc-light) .edit-context-composition-secondary{border-bottom:1px solid var(--vscode-editor-compositionBorder)}.monaco-editor :not(.hc-black,.hc-light) .edit-context-composition-primary{border-bottom:2px solid var(--vscode-editor-compositionBorder)}.monaco-editor :is(.hc-black,.hc-light) .edit-context-composition-secondary{border:1px solid var(--vscode-editor-compositionBorder)}.monaco-editor :is(.hc-black,.hc-light) .edit-context-composition-primary{border:2px solid var(--vscode-editor-compositionBorder)}.monaco-editor .margin-view-overlays .gpu-mark{position:absolute;top:0;bottom:0;left:0;width:100%;display:inline-block;border-left:solid 2px var(--vscode-editorWarning-foreground);opacity:.2;transition:background-color .1s linear}.monaco-editor .margin-view-overlays .gpu-mark:hover{background-color:var(--vscode-editorWarning-foreground)}.monaco-hover.workbench-hover{position:relative;font-size:13px;line-height:19px;z-index:40;overflow:hidden;max-width:700px;background:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-editorHoverWidget-border);border-radius:5px;color:var(--vscode-editorHoverWidget-foreground);box-shadow:var(--vscode-shadow-lg)}.monaco-hover.workbench-hover.with-pointer{border-radius:3px}.monaco-hover.workbench-hover .monaco-action-bar .action-item .codicon{width:13px;height:13px}.monaco-hover.workbench-hover hr{border-bottom:none}.monaco-hover.workbench-hover.compact{font-size:12px}.monaco-hover.workbench-hover.compact .monaco-action-bar .action-item .codicon{width:12px;height:12px}.monaco-hover.workbench-hover.compact .hover-contents{padding:2px 8px}.workbench-hover-container.locked .monaco-hover.workbench-hover{outline:1px solid var(--vscode-editorHoverWidget-border)}.workbench-hover-container:focus-within.locked .monaco-hover.workbench-hover{outline-color:var(--vscode-focusBorder)}.workbench-hover-pointer{position:absolute;z-index:41;pointer-events:none}.workbench-hover-pointer:after{content:"";position:absolute;width:5px;height:5px;background-color:var(--vscode-editorHoverWidget-background);border-right:1px solid var(--vscode-editorHoverWidget-border);border-bottom:1px solid var(--vscode-editorHoverWidget-border)}.workbench-hover-container:not(:focus-within).locked .workbench-hover-pointer:after{width:4px;height:4px;border-right-width:2px;border-bottom-width:2px}.workbench-hover-container:focus-within .workbench-hover-pointer:after{border-right:1px solid var(--vscode-focusBorder);border-bottom:1px solid var(--vscode-focusBorder)}.workbench-hover-pointer.left{left:-3px}.workbench-hover-pointer.right{right:3px}.workbench-hover-pointer.top{top:-3px}.workbench-hover-pointer.bottom{bottom:3px}.workbench-hover-pointer.left:after{transform:rotate(135deg)}.workbench-hover-pointer.right:after{transform:rotate(315deg)}.workbench-hover-pointer.top:after{transform:rotate(225deg)}.workbench-hover-pointer.bottom:after{transform:rotate(45deg)}.monaco-hover.workbench-hover a{color:var(--vscode-textLink-foreground)}.monaco-hover.workbench-hover a:focus{outline:1px solid;outline-offset:-1px;text-decoration:underline;outline-color:var(--vscode-focusBorder)}.monaco-hover.workbench-hover a.codicon:focus,.monaco-hover.workbench-hover a.monaco-button:focus{text-decoration:none}.monaco-hover.workbench-hover a:hover,.monaco-hover.workbench-hover a:active{color:var(--vscode-textLink-activeForeground)}.monaco-hover.workbench-hover code{background:var(--vscode-textCodeBlock-background)}.monaco-hover.workbench-hover .hover-row .actions{background:var(--vscode-editorHoverWidget-statusBarBackground)}.monaco-hover.workbench-hover.right-aligned{left:1px}.monaco-hover.workbench-hover.right-aligned .hover-row.status-bar .actions{flex-direction:row-reverse}.monaco-hover.workbench-hover.right-aligned .hover-row.status-bar .actions .action-container{margin-right:0;margin-left:16px}.monaco-hover{cursor:default;position:absolute;overflow:hidden;user-select:text;-webkit-user-select:text;box-sizing:border-box;line-height:1.5em;white-space:var(--vscode-hover-whiteSpace, normal)}.monaco-hover.fade-in{animation:fadein .1s linear}.monaco-hover.hidden{display:none}.monaco-hover a:hover:not(.disabled){cursor:pointer}.monaco-hover .hover-contents:not(.html-hover-contents){padding:4px 8px}.monaco-hover .markdown-hover>.hover-contents:not(.code-hover-contents){max-width:var(--vscode-hover-maxWidth, 500px);word-wrap:break-word}.monaco-hover .markdown-hover>.hover-contents:not(.code-hover-contents) hr{min-width:100%}.monaco-hover p,.monaco-hover .code,.monaco-hover ul,.monaco-hover h1,.monaco-hover h2,.monaco-hover h3,.monaco-hover h4,.monaco-hover h5,.monaco-hover h6{margin:8px 0}.monaco-hover h1,.monaco-hover h2,.monaco-hover h3,.monaco-hover h4,.monaco-hover h5,.monaco-hover h6{line-height:1.1}.monaco-hover code{font-family:var(--monaco-monospace-font)}.monaco-hover hr{box-sizing:border-box;border-left:0px;border-right:0px;margin:4px -8px -4px;height:1px}.monaco-hover p:first-child,.monaco-hover .code:first-child,.monaco-hover ul:first-child{margin-top:0}.monaco-hover p:last-child,.monaco-hover .code:last-child,.monaco-hover ul:last-child{margin-bottom:0}.monaco-hover ul,.monaco-hover ol{padding-left:20px}.monaco-hover li>p{margin-bottom:0}.monaco-hover li>ul{margin-top:0}.monaco-hover code{border-radius:3px;padding:0 .4em}.monaco-hover .monaco-tokenized-source{white-space:var(--vscode-hover-sourceWhiteSpace, pre-wrap)}.monaco-hover .hover-row.status-bar{font-size:12px;line-height:22px}.monaco-hover .hover-row.status-bar .info{font-style:italic;padding:0 8px}.monaco-hover .hover-row.status-bar .actions{display:flex;padding:0 8px;width:100%;box-sizing:border-box}.monaco-hover .hover-row.status-bar .actions .action-container{margin-right:16px;cursor:pointer;overflow:hidden;text-wrap:nowrap;text-overflow:ellipsis}.monaco-hover .hover-row.status-bar .actions .action-container .action .icon{padding-right:4px;vertical-align:middle;font-size:inherit}.monaco-hover .hover-row.status-bar .actions .action-container a{color:var(--vscode-textLink-foreground);text-decoration:var(--text-link-decoration)}.monaco-hover .hover-row.status-bar .actions .action-container a .icon.codicon{color:var(--vscode-textLink-foreground)}.monaco-hover .markdown-hover .hover-contents .codicon{color:inherit;font-size:inherit;vertical-align:middle}.monaco-hover .hover-contents a.code-link:hover,.monaco-hover .hover-contents a.code-link{color:inherit}.monaco-hover .hover-contents a.code-link:before{content:"("}.monaco-hover .hover-contents a.code-link:after{content:")"}.monaco-hover .hover-contents a.code-link>span{text-decoration:underline;border-bottom:1px solid transparent;text-underline-position:under;color:var(--vscode-textLink-foreground)}.monaco-hover .hover-contents a.code-link>span:hover{color:var(--vscode-textLink-activeForeground)}.monaco-hover .markdown-hover .hover-contents:not(.code-hover-contents):not(.html-hover-contents) span.codicon{margin-bottom:2px}.monaco-hover-content .action-container a{-webkit-user-select:none;user-select:none}.monaco-hover-content .action-container.disabled{pointer-events:none;opacity:.4;cursor:default}.monaco-hover .action-container,.monaco-hover .action,.monaco-hover button,.monaco-hover .monaco-button,.monaco-hover .monaco-text-button,.monaco-hover [role=button]{-webkit-user-select:none;user-select:none}.context-view{position:absolute}.context-view.fixed{all:initial;font-family:inherit;font-size:13px;position:fixed;color:inherit}.monaco-select-box{width:100%;cursor:pointer;border-radius:var(--vscode-cornerRadius-small)}.monaco-select-box-dropdown-container{font-size:13px;font-weight:400;text-transform:none}.monaco-action-bar .action-item.select-container{cursor:default}.monaco-action-bar .action-item .monaco-select-box{cursor:pointer;min-width:100px;min-height:18px;padding:2px 23px 2px 8px}.mac .monaco-action-bar .action-item .monaco-select-box{font-size:11px;border-radius:var(--vscode-cornerRadius-small);min-height:24px}.monaco-list{position:relative;height:100%;width:100%;white-space:nowrap;overflow:hidden}.monaco-list.mouse-support{user-select:none;-webkit-user-select:none}.monaco-list>.monaco-scrollable-element{height:100%}.monaco-list-rows{position:relative;width:100%;height:100%}.monaco-list.horizontal-scrolling .monaco-list-rows{width:auto;min-width:100%}.monaco-list-row{position:absolute;box-sizing:border-box;overflow:hidden;width:100%}.monaco-list.mouse-support .monaco-list-row{cursor:pointer;touch-action:none}.monaco-list .monaco-scrollable-element>.scrollbar.vertical,.monaco-pane-view>.monaco-split-view2.vertical>.monaco-scrollable-element>.scrollbar.vertical{z-index:14}.monaco-list-row.scrolling{display:none!important}.monaco-list.element-focused,.monaco-list.selection-single,.monaco-list.selection-multiple{outline:0!important}.monaco-list-type-filter-message{position:absolute;box-sizing:border-box;width:100%;height:100%;top:0;left:0;padding:40px 1em 1em;text-align:center;white-space:normal;opacity:.7;pointer-events:none}.monaco-list-type-filter-message:empty{display:none}.monaco-drag-image{display:inline-block;padding:1px 7px;border-radius:10px;font-size:12px;position:absolute;z-index:1000;background-color:var(--vscode-list-activeSelectionBackground);color:var(--vscode-list-activeSelectionForeground);outline:1px solid var(--vscode-list-focusOutline);outline-offset:-1px;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.monaco-select-box-dropdown-container{display:none;box-sizing:border-box;border-radius:var(--vscode-cornerRadius-large);box-shadow:var(--vscode-shadow-lg)}.monaco-select-box-dropdown-container>.select-box-details-pane>.select-box-description-markdown *{margin:0}.monaco-select-box-dropdown-container>.select-box-details-pane>.select-box-description-markdown a:focus{outline:1px solid -webkit-focus-ring-color;outline-offset:-1px}.monaco-select-box-dropdown-container>.select-box-details-pane>.select-box-description-markdown code{line-height:15px;font-family:var(--monaco-monospace-font)}.monaco-select-box-dropdown-container.visible{display:flex;flex-direction:column;text-align:left;width:1px;overflow:hidden}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container{flex:0 0 auto;align-self:flex-start;width:100%;overflow:hidden;box-sizing:border-box}.monaco-select-box-dropdown-container>.select-box-details-pane{padding:5px 6px}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container .monaco-list:focus:before{outline:0!important}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container .monaco-list .monaco-list-row{cursor:pointer;padding-left:2px}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container .monaco-list .monaco-list-row>.option-text{text-overflow:ellipsis;overflow:hidden;padding-left:6px;white-space:nowrap;float:left}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container .monaco-list .monaco-list-row>.option-detail{text-overflow:ellipsis;overflow:hidden;padding-left:6px;white-space:nowrap;float:left;opacity:.7}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container .monaco-list .monaco-list-row>.option-decorator-right{text-overflow:ellipsis;overflow:hidden;padding-right:10px;white-space:nowrap;float:right}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container .monaco-list .monaco-list-row.option-separator{cursor:default;border-radius:0;padding:0}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container .monaco-list .monaco-list-row.option-separator>.option-text{visibility:hidden;width:0;float:none}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container .monaco-list .monaco-list-row.option-separator>.option-detail{display:none}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container .monaco-list .monaco-list-row.option-separator>.option-decorator-right{color:var(--vscode-descriptionForeground);font-size:12px}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container .monaco-list .monaco-list-row.option-separator:after{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background-color:var(--vscode-menu-separatorBackground)}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container .monaco-list .monaco-list-row>.visually-hidden{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.monaco-select-box-dropdown-container>.select-box-dropdown-container-width-control{flex:1 1 auto;align-self:flex-start;opacity:0}.monaco-select-box-dropdown-container>.select-box-dropdown-container-width-control>.width-control-div{overflow:hidden;max-height:0px}.monaco-select-box-dropdown-container>.select-box-dropdown-container-width-control>.width-control-div>.option-text-width-control{padding-left:8px;padding-right:8px;white-space:nowrap}.monaco-action-bar{white-space:nowrap;height:100%}.monaco-action-bar .actions-container{display:flex;margin:0 auto;padding:0;height:100%;width:100%;align-items:center}.monaco-action-bar.vertical .actions-container{display:inline-block}.monaco-action-bar .action-item{display:block;align-items:center;justify-content:center;cursor:pointer;position:relative}.monaco-action-bar .action-item.disabled{cursor:default}.monaco-action-bar .action-item .icon,.monaco-action-bar .action-item .codicon{display:block}.monaco-action-bar .action-item .codicon{display:flex;align-items:center;width:16px;height:16px}.monaco-action-bar .action-label,.monaco-action-bar .action-item .keybinding{display:flex;font-size:11px;padding:3px;border-radius:var(--vscode-cornerRadius-medium)}.monaco-action-bar .action-item.disabled .action-label:not(.icon),.monaco-action-bar .action-item.disabled .action-label:not(.icon):before,.monaco-action-bar .action-item.disabled .action-label:not(.icon):hover{color:var(--vscode-disabledForeground)}.monaco-action-bar .action-item.disabled .action-label.icon,.monaco-action-bar .action-item.disabled .action-label.icon:before,.monaco-action-bar .action-item.disabled .action-label.icon:hover{opacity:.6}.monaco-action-bar.vertical{text-align:left}.monaco-action-bar.vertical .action-item{display:block}.monaco-action-bar.vertical .action-item .action-label.separator{display:block;border-bottom:1px solid var(--vscode-menu-separatorBackground, var(--vscode-disabledForeground));padding-top:1px;margin:4px .8em;width:100%;height:0;background-color:transparent}.monaco-action-bar .action-item .action-label.separator{width:1px;height:16px;margin:5px 4px!important;cursor:default;min-width:1px;padding:0;background-color:var(--vscode-disabledForeground)}.secondary-actions .monaco-action-bar .action-label{margin-left:6px}.monaco-action-bar .action-item.select-container{overflow:hidden;flex:1;max-width:170px;min-width:60px;display:flex;align-items:center;justify-content:center;margin-right:10px}.monaco-action-bar .action-item.action-dropdown-item{display:flex}.monaco-action-bar .action-item.action-dropdown-item>.action-dropdown-item-separator{display:flex;align-items:center;cursor:default}.monaco-action-bar .action-item.action-dropdown-item>.action-dropdown-item-separator>div{width:1px}.monaco-dropdown{height:100%;padding:0}.monaco-dropdown>.dropdown-label{cursor:pointer;height:100%;display:flex;align-items:center;justify-content:center}.monaco-dropdown>.dropdown-label>.action-label.disabled{cursor:default}.monaco-dropdown .dropdown-menu{border-radius:var(--vscode-cornerRadius-large);box-shadow:var(--vscode-shadow-lg)}.monaco-dropdown-with-primary{display:flex!important;flex-direction:row;border-radius:5px}.monaco-dropdown-with-primary>.action-container>.action-label{margin-right:0}.monaco-dropdown-with-primary>.dropdown-action-container>.monaco-dropdown>.dropdown-label .codicon[class*=codicon-]{font-size:12px;padding-left:0;padding-right:0;line-height:16px;margin-left:-3px}.monaco-dropdown-with-primary>.dropdown-action-container>.monaco-dropdown>.dropdown-label>.action-label{display:block;background-size:16px;background-position:center center;background-repeat:no-repeat}.monaco-action-bar .action-item.menu-entry .action-label.icon{width:16px;height:16px;background-repeat:no-repeat;background-position:50%;background-size:16px}.monaco-action-bar .action-item.menu-entry.text-only .action-label{color:var(--vscode-descriptionForeground);overflow:hidden;border-radius:2px}.monaco-action-bar .action-item.menu-entry.text-only.use-comma:not(:last-of-type) .action-label:after{content:", "}.monaco-action-bar .action-item.menu-entry.text-only+.action-item:not(.text-only)>.monaco-dropdown .action-label{color:var(--vscode-descriptionForeground)}.monaco-dropdown-with-default{display:flex!important;flex-direction:row;border-radius:5px}.monaco-dropdown-with-default>.action-container>.action-label{margin-right:0}.monaco-dropdown-with-default>.action-container.menu-entry>.action-label.icon{width:16px;height:16px;background-repeat:no-repeat;background-position:50%;background-size:16px}.monaco-dropdown-with-default>.action-container.disabled{cursor:default}.monaco-dropdown-with-default>.action-container.disabled>.action-label{opacity:.4;pointer-events:none}.monaco-dropdown-with-default:hover{background-color:var(--vscode-toolbar-hoverBackground)}.monaco-dropdown-with-default>.dropdown-action-container>.monaco-dropdown>.dropdown-label .codicon[class*=codicon-]{font-size:12px;padding-left:0;padding-right:0;line-height:16px;margin-left:-3px}.monaco-dropdown-with-default>.dropdown-action-container>.monaco-dropdown>.dropdown-label>.action-label{display:block;background-size:16px;background-position:center center;background-repeat:no-repeat}:root{--vscode-sash-size: 4px;--vscode-sash-hover-size: 4px}.monaco-sash{position:absolute;z-index:35;touch-action:none}.monaco-sash.disabled{pointer-events:none}.monaco-sash.mac.vertical{cursor:col-resize}.monaco-sash.vertical.minimum{cursor:e-resize}.monaco-sash.vertical.maximum{cursor:w-resize}.monaco-sash.mac.horizontal{cursor:row-resize}.monaco-sash.horizontal.minimum{cursor:s-resize}.monaco-sash.horizontal.maximum{cursor:n-resize}.monaco-sash.disabled{cursor:default!important;pointer-events:none!important}.monaco-sash.vertical{cursor:ew-resize;top:0;width:var(--vscode-sash-size);height:100%}.monaco-sash.horizontal{cursor:ns-resize;left:0;width:100%;height:var(--vscode-sash-size)}.monaco-sash:not(.disabled)>.orthogonal-drag-handle{content:" ";height:calc(var(--vscode-sash-size) * 2);width:calc(var(--vscode-sash-size) * 2);z-index:100;display:block;cursor:all-scroll;position:absolute}.monaco-sash.horizontal.orthogonal-edge-north:not(.disabled)>.orthogonal-drag-handle.start,.monaco-sash.horizontal.orthogonal-edge-south:not(.disabled)>.orthogonal-drag-handle.end{cursor:nwse-resize}.monaco-sash.horizontal.orthogonal-edge-north:not(.disabled)>.orthogonal-drag-handle.end,.monaco-sash.horizontal.orthogonal-edge-south:not(.disabled)>.orthogonal-drag-handle.start{cursor:nesw-resize}.monaco-sash.vertical>.orthogonal-drag-handle.start{left:calc(var(--vscode-sash-size) * -.5);top:calc(var(--vscode-sash-size) * -1)}.monaco-sash.vertical>.orthogonal-drag-handle.end{left:calc(var(--vscode-sash-size) * -.5);bottom:calc(var(--vscode-sash-size) * -1)}.monaco-sash.horizontal>.orthogonal-drag-handle.start{top:calc(var(--vscode-sash-size) * -.5);left:calc(var(--vscode-sash-size) * -1)}.monaco-sash.horizontal>.orthogonal-drag-handle.end{top:calc(var(--vscode-sash-size) * -.5);right:calc(var(--vscode-sash-size) * -1)}.monaco-sash:before{content:"";pointer-events:none;position:absolute;width:100%;height:100%;background:transparent}.monaco-enable-motion .monaco-sash:before{transition:background-color .1s ease-out}.monaco-sash.hover:before,.monaco-sash.active:before{background:var(--vscode-sash-hoverBorder)}.monaco-sash.vertical:before{width:var(--vscode-sash-hover-size);left:calc(50% - (var(--vscode-sash-hover-size) / 2))}.monaco-sash.horizontal:before{height:var(--vscode-sash-hover-size);top:calc(50% - (var(--vscode-sash-hover-size) / 2))}.pointer-events-disabled{pointer-events:none!important}.monaco-sash.debug{background:#0ff}.monaco-sash.debug.disabled{background:#0ff3}.monaco-sash.debug:not(.disabled)>.orthogonal-drag-handle{background:red}.monaco-split-view2{position:relative;width:100%;height:100%}.monaco-split-view2>.sash-container{position:absolute;width:100%;height:100%;pointer-events:none}.monaco-split-view2>.sash-container>.monaco-sash{pointer-events:initial}.monaco-split-view2>.monaco-scrollable-element{width:100%;height:100%}.monaco-split-view2>.monaco-scrollable-element>.split-view-container{width:100%;height:100%;white-space:nowrap;position:relative}.monaco-split-view2>.monaco-scrollable-element>.split-view-container>.split-view-view{white-space:initial;position:absolute}.monaco-split-view2>.monaco-scrollable-element>.split-view-container>.split-view-view:not(.visible){display:none}.monaco-split-view2.vertical>.monaco-scrollable-element>.split-view-container>.split-view-view{width:100%}.monaco-split-view2.horizontal>.monaco-scrollable-element>.split-view-container>.split-view-view{height:100%}.monaco-split-view2.separator-border>.monaco-scrollable-element>.split-view-container>.split-view-view:not(:first-child):before{content:" ";position:absolute;top:0;left:0;z-index:5;pointer-events:none;background-color:var(--separator-border)}.monaco-split-view2.separator-border.horizontal>.monaco-scrollable-element>.split-view-container>.split-view-view:not(:first-child):before{height:100%;width:1px}.monaco-split-view2.separator-border.vertical>.monaco-scrollable-element>.split-view-container>.split-view-view:not(:first-child):before{height:1px;width:100%}.monaco-table{display:flex;flex-direction:column;position:relative;height:100%;width:100%;white-space:nowrap;overflow:hidden}.monaco-table>.monaco-split-view2{border-bottom:1px solid transparent}.monaco-table>.monaco-list{flex:1}.monaco-table-tr{display:flex;height:100%}.monaco-table-th{width:100%;height:100%;font-weight:700;overflow:hidden;text-overflow:ellipsis}.monaco-table-th,.monaco-table-td{box-sizing:border-box;flex-shrink:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.monaco-table>.monaco-split-view2 .monaco-sash.vertical:before{content:"";position:absolute;left:calc(var(--vscode-sash-size) / 2);width:0;border-left:1px solid transparent}.monaco-enable-motion .monaco-table>.monaco-split-view2,.monaco-enable-motion .monaco-table>.monaco-split-view2 .monaco-sash.vertical:before{transition:border-color .2s ease-out}.monaco-custom-toggle{margin-left:2px;float:left;cursor:pointer;overflow:hidden;width:20px;height:20px;border-radius:3px;border:1px solid transparent;padding:1px;box-sizing:border-box;user-select:none;-webkit-user-select:none}.monaco-custom-toggle:hover{background-color:var(--vscode-inputOption-hoverBackground)}.monaco-custom-toggle.disabled{opacity:.4;cursor:default;pointer-events:none}.hc-black .monaco-custom-toggle:hover,.hc-light .monaco-custom-toggle:hover{border:1px dashed var(--vscode-focusBorder)}.hc-black .monaco-custom-toggle,.hc-light .monaco-custom-toggle,.hc-black .monaco-custom-toggle:hover,.hc-light .monaco-custom-toggle:hover{background:none}.monaco-custom-toggle.monaco-checkbox{height:18px;width:18px;border:1px solid transparent;border-radius:3px;margin-right:9px;margin-left:0;padding:0;opacity:1;background-size:16px!important}.monaco-action-bar .checkbox-action-item{display:flex;align-items:center;border-radius:2px;padding-right:2px}.monaco-action-bar .checkbox-action-item:hover{background-color:var(--vscode-toolbar-hoverBackground)}.monaco-action-bar .checkbox-action-item>.monaco-custom-toggle.monaco-checkbox{margin-right:4px}.monaco-action-bar .checkbox-action-item>.checkbox-label{font-size:12px}.monaco-inputbox{position:relative;display:block;padding:0;box-sizing:border-box;border-radius:4px;font-size:inherit}.monaco-inputbox>.ibwrapper>.input,.monaco-inputbox>.ibwrapper>.mirror{padding:4px 6px}.monaco-inputbox>.ibwrapper{position:relative;width:100%}.monaco-inputbox>.ibwrapper>.input{display:inline-block;box-sizing:border-box;width:100%;height:100%;line-height:inherit;border:none;font-family:inherit;font-size:inherit;resize:none;color:inherit}.monaco-inputbox>.ibwrapper>input{text-overflow:ellipsis}.monaco-inputbox>.ibwrapper>textarea.input{display:block;scrollbar-width:none;outline:none}.monaco-inputbox>.ibwrapper>textarea.input::-webkit-scrollbar{display:none}.monaco-inputbox>.ibwrapper>textarea.input.empty{white-space:nowrap}.monaco-inputbox>.ibwrapper>.mirror{position:absolute;display:inline-block;width:100%;top:0;left:0;box-sizing:border-box;white-space:pre-wrap;visibility:hidden;word-wrap:break-word}.monaco-inputbox-container{text-align:right}.monaco-inputbox-container .monaco-inputbox-message{display:inline-block;overflow:hidden;text-align:left;width:100%;box-sizing:border-box;padding:.4em;font-size:12px;line-height:17px;margin-top:-1px;word-wrap:break-word}.monaco-inputbox .monaco-action-bar{position:absolute;right:2px;top:4px}.monaco-inputbox .monaco-action-bar .action-item{margin-left:2px}.monaco-inputbox .monaco-action-bar .action-item .codicon{background-repeat:no-repeat;width:16px;height:16px;color:var(--vscode-icon-foreground)}.monaco-findInput{position:relative}.monaco-findInput .monaco-inputbox{font-size:13px;width:100%}.monaco-findInput>.controls{position:absolute;top:3px;right:2px}.vs .monaco-findInput.disabled{background-color:#e1e1e1}.vs-dark .monaco-findInput.disabled{background-color:#333}.monaco-findInput.highlight-0 .controls,.hc-light .monaco-findInput.highlight-0 .controls{animation:monaco-findInput-highlight-0 .1s linear 0s}.monaco-findInput.highlight-1 .controls,.hc-light .monaco-findInput.highlight-1 .controls{animation:monaco-findInput-highlight-1 .1s linear 0s}.hc-black .monaco-findInput.highlight-0 .controls,.vs-dark .monaco-findInput.highlight-0 .controls{animation:monaco-findInput-highlight-dark-0 .1s linear 0s}.hc-black .monaco-findInput.highlight-1 .controls,.vs-dark .monaco-findInput.highlight-1 .controls{animation:monaco-findInput-highlight-dark-1 .1s linear 0s}@keyframes monaco-findInput-highlight-0{0%{background:#fdff00cc}to{background:transparent}}@keyframes monaco-findInput-highlight-1{0%{background:#fdff00cc}99%{background:transparent}}@keyframes monaco-findInput-highlight-dark-0{0%{background:#ffffff70}to{background:transparent}}@keyframes monaco-findInput-highlight-dark-1{0%{background:#ffffff70}99%{background:transparent}}.monaco-tl-row{display:flex;height:100%;align-items:center;position:relative}.monaco-tl-row.disabled{cursor:default}.monaco-tl-indent{height:100%;position:absolute;top:0;left:16px;pointer-events:none}.hide-arrows .monaco-tl-indent{left:12px}.monaco-tl-indent>.indent-guide{display:inline-block;box-sizing:border-box;height:100%;border-left:1px solid transparent;opacity:0}.monaco-enable-motion .monaco-tl-indent>.indent-guide{transition:opacity .1s linear}.monaco-tl-twistie,.monaco-tl-contents{height:100%}.monaco-tl-twistie{font-size:10px;text-align:right;padding-right:6px;flex-shrink:0;width:16px;display:flex!important;align-items:center;justify-content:center;transform:translate(3px)}.monaco-tl-contents{flex:1;overflow:hidden}.monaco-tl-twistie:before{border-radius:20px}.monaco-tl-twistie.collapsed:before{transform:rotate(-90deg)}.monaco-tl-twistie.codicon-tree-item-loading:before{animation:codicon-spin 1.25s steps(30) infinite;transform-origin:center center}.monaco-tree-type-filter{position:absolute;top:0;right:0;display:flex;padding:3px;max-width:200px;z-index:100;margin:0 10px 0 6px;border:1px solid var(--vscode-widget-border);border-bottom-left-radius:4px;border-bottom-right-radius:4px}.monaco-enable-motion .monaco-tree-type-filter{transition:top .3s}.monaco-tree-type-filter.disabled{top:-40px!important}.monaco-tree-type-filter-input{flex:1}.monaco-tree-type-filter-input .monaco-inputbox{height:23px}.monaco-tree-type-filter-input .monaco-inputbox>.ibwrapper>.input,.monaco-tree-type-filter-input .monaco-inputbox>.ibwrapper>.mirror{padding:2px 4px}.monaco-tree-type-filter-input .monaco-findInput>.controls{top:2px}.monaco-tree-type-filter-actionbar{margin-left:4px}.monaco-tree-type-filter-actionbar .monaco-action-bar .action-label{padding:2px}.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container{position:absolute;top:0;left:0;width:100%;height:0;z-index:13;background-color:var(--vscode-sideBar-background)}.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container .monaco-tree-sticky-row.monaco-list-row{position:absolute;width:100%;opacity:1!important;overflow:hidden;background-color:var(--vscode-sideBar-background)}.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container .monaco-tree-sticky-row:hover{background-color:var(--vscode-list-hoverBackground)!important;cursor:pointer}.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container.empty,.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container.empty .monaco-tree-sticky-container-shadow{display:none}.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container .monaco-tree-sticky-container-shadow{position:absolute;bottom:-3px;left:0;height:0px;width:100%}.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container[tabindex="0"]:focus{outline:none}.quick-input-widget{font-size:13px}.quick-input-widget .monaco-highlighted-label .highlight{color:#0066bf}.vs .quick-input-widget .monaco-list-row.focused .monaco-highlighted-label .highlight{color:#9dddff}.vs-dark .quick-input-widget .monaco-highlighted-label .highlight{color:#0097fb}.hc-black .quick-input-widget .monaco-highlighted-label .highlight{color:#f38518}.hc-light .quick-input-widget .monaco-highlighted-label .highlight{color:#0f4a85}.monaco-keybinding>.monaco-keybinding-key{background-color:#ddd6;border:solid 1px rgba(204,204,204,.4);border-bottom-color:#bbb6;box-shadow:inset 0 -1px #bbb6;color:#555}.hc-black .monaco-keybinding>.monaco-keybinding-key{background-color:transparent;border:solid 1px rgb(111,195,223);box-shadow:none;color:#fff}.hc-light .monaco-keybinding>.monaco-keybinding-key{background-color:transparent;border:solid 1px #0F4A85;box-shadow:none;color:#292929}.vs-dark .monaco-keybinding>.monaco-keybinding-key{background-color:#8080802b;border:solid 1px rgba(51,51,51,.6);border-bottom-color:#4449;box-shadow:inset 0 -1px #4449;color:#ccc}.quick-input-widget{position:absolute;width:600px;z-index:2550;left:50%;-webkit-app-region:no-drag;border-radius:var(--vscode-cornerRadius-xLarge);box-shadow:var(--vscode-shadow-xl)}.quick-input-titlebar{cursor:grab;display:flex;align-items:center;border-top-right-radius:5px;border-top-left-radius:5px}.quick-input-widget.no-drag .quick-input-titlebar,.quick-input-widget.no-drag .quick-input-title,.quick-input-widget.no-drag .quick-input-header{cursor:default}.quick-input-widget .monaco-inputbox .monaco-action-bar{top:0}.quick-input-widget .monaco-action-bar .monaco-custom-toggle{margin-left:0;border-radius:5px;box-sizing:content-box}.quick-input-left-action-bar{display:flex;margin-left:4px}.quick-input-inline-action-bar .actions-container>.action-item:first-child{margin-left:5px}.quick-input-inline-action-bar .actions-container>.action-item{margin-top:2px}.quick-input-title{cursor:grab;padding:3px 0;text-align:center;text-overflow:ellipsis;overflow:hidden;flex:1}.quick-input-right-action-bar{display:flex;margin-right:4px}.quick-input-right-action-bar .actions-container{justify-content:flex-end}.quick-input-right-action-bar .actions-container>.action-item{margin-left:4px}.quick-input-inline-action-bar .actions-container>.action-item{margin-left:4px}.quick-input-titlebar .monaco-action-bar .action-label.codicon{background-position:center;background-repeat:no-repeat;padding:2px}.quick-input-description{margin:6px 6px 6px 11px}.quick-input-header .quick-input-description{margin:4px 2px;flex:1}.quick-input-header{cursor:grab;display:flex;padding:6px 6px 4px}.quick-input-widget .quick-input-filter .monaco-inputbox{border-radius:var(--vscode-cornerRadius-medium)}.quick-input-widget.hidden-input .quick-input-header{padding:0;margin-bottom:0}.quick-input-and-message{display:flex;flex-direction:column;flex-grow:1;min-width:0;position:relative}.quick-input-check-all{align-self:center;margin:0}.quick-input-widget .quick-input-header .monaco-checkbox{margin-top:6px}.quick-input-filter{flex-grow:1;display:flex;position:relative}.quick-input-box{flex-grow:1}.quick-input-widget.show-checkboxes .quick-input-box,.quick-input-widget.show-checkboxes .quick-input-message{margin-left:5px}.quick-input-visible-count{position:absolute;left:-10000px}.quick-input-count{align-self:center;position:absolute;right:4px;display:flex;align-items:center}.quick-input-count .monaco-count-badge{vertical-align:middle;padding:2px 4px;border-radius:2px;min-height:auto;line-height:normal}.quick-input-action{margin-left:6px}.quick-input-message{margin-top:-1px;padding:5px;overflow-wrap:break-word}.quick-input-message>.codicon{margin:0 .2em;vertical-align:text-bottom}.quick-input-message a{color:inherit}.quick-input-progress.monaco-progress-container{position:relative}.quick-input-list{line-height:22px}.quick-input-widget.hidden-input .quick-input-list{margin-top:4px;padding-bottom:4px}.quick-input-list .monaco-list{overflow:hidden;max-height:440px;padding-bottom:7px}.quick-input-list .monaco-scrollable-element{padding:0 6px}.quick-input-list .quick-input-list-entry{box-sizing:border-box;overflow:hidden;display:flex;padding:0 6px}.quick-input-list .quick-input-list-entry.quick-input-list-separator-border{border-top-width:1px;border-top-style:solid}.quick-input-list .monaco-list-row{border-radius:3px}.quick-input-list .monaco-list-row[data-index="0"] .quick-input-list-entry.quick-input-list-separator-border{border-top-style:none}.quick-input-list .quick-input-list-label{overflow:hidden;display:flex;height:100%;flex:1}.quick-input-widget .monaco-checkbox{margin-right:0}.quick-input-widget .quick-input-list .monaco-checkbox,.quick-input-widget .quick-input-tree .monaco-checkbox{margin-top:4px}.quick-input-list .quick-input-list-icon{background-size:16px;background-position:left center;background-repeat:no-repeat;padding-right:6px;width:16px;height:22px;display:flex;align-items:center;justify-content:center}.quick-input-list .quick-input-list-rows{overflow:hidden;text-overflow:ellipsis;display:flex;flex-direction:column;height:100%;flex:1;margin-left:5px}.quick-input-list .quick-input-list-rows>.quick-input-list-row{display:flex;align-items:center}.quick-input-list .quick-input-list-rows>.quick-input-list-row .monaco-icon-label,.quick-input-list .quick-input-list-rows>.quick-input-list-row .monaco-icon-label .monaco-icon-label-container>.monaco-icon-name-container{flex:1}.quick-input-list .quick-input-list-rows>.quick-input-list-row .codicon[class*=codicon-]{vertical-align:text-bottom}.quick-input-list .quick-input-list-rows .monaco-highlighted-label>span{opacity:1}.quick-input-list .quick-input-list-entry .quick-input-list-entry-keybinding{margin-right:8px}.quick-input-list .quick-input-list-label-meta{opacity:.7;line-height:normal;text-overflow:ellipsis;overflow:hidden}.quick-input-list .monaco-list .monaco-list-row .monaco-highlighted-label .highlight{font-weight:700;background-color:unset;color:var(--vscode-list-highlightForeground)!important}.quick-input-list .monaco-list .monaco-list-row.focused .monaco-highlighted-label .highlight{color:var(--vscode-quickInputList-focusHighlightForeground)!important}.quick-input-list .quick-input-list-entry .quick-input-list-separator{margin-right:4px;font-size:var(--vscode-bodyFontSize-xSmall);color:var(--vscode-descriptionForeground)}.quick-input-list .quick-input-list-entry-action-bar{display:flex;flex:0;overflow:visible}.quick-input-list .quick-input-list-entry-action-bar .action-label,.quick-input-list .quick-input-list-entry-action-bar .monaco-custom-toggle{display:none}.quick-input-list .quick-input-list-entry-action-bar .action-label.codicon{margin-right:4px;padding:2px}.quick-input-list .quick-input-list-entry-action-bar .monaco-custom-toggle.codicon{margin-right:4px}.quick-input-list .quick-input-list-entry-action-bar{margin-top:1px}.quick-input-list .quick-input-list-entry-action-bar{margin-right:4px}.quick-input-list .quick-input-list-entry .quick-input-list-entry-action-bar .action-label.always-visible,.quick-input-list .quick-input-list-entry:hover .quick-input-list-entry-action-bar .action-label,.quick-input-list .quick-input-list-entry.focus-inside .quick-input-list-entry-action-bar .action-label,.quick-input-list .monaco-list-row.focused .quick-input-list-entry-action-bar .action-label,.quick-input-list .monaco-list-row.passive-focused .quick-input-list-entry-action-bar .action-label,.quick-input-list .quick-input-list-entry .quick-input-list-entry-action-bar .monaco-custom-toggle.always-visible,.quick-input-list .quick-input-list-entry:hover .quick-input-list-entry-action-bar .monaco-custom-toggle,.quick-input-list .quick-input-list-entry.focus-inside .quick-input-list-entry-action-bar .monaco-custom-toggle,.quick-input-list .monaco-list-row.focused .quick-input-list-entry-action-bar .monaco-custom-toggle,.quick-input-list .monaco-list-row.passive-focused .quick-input-list-entry-action-bar .monaco-custom-toggle{display:flex}.quick-input-list>.monaco-list:focus .monaco-list-row.focused{outline:1px solid var(--vscode-list-focusOutline)!important;outline-offset:-1px}.quick-input-list>.monaco-list:focus .monaco-list-row.focused .quick-input-list-entry.quick-input-list-separator-border{border-color:transparent}.quick-input-list .monaco-list-row.focused .monaco-keybinding-key,.quick-input-list .monaco-list-row.focused .quick-input-list-entry .quick-input-list-separator{color:inherit}.quick-input-list .monaco-list-row.focused .monaco-keybinding-key,.quick-input-list .monaco-list-row:hover .monaco-keybinding-key{background:none;border-color:var(--vscode-widget-shadow)}:is(.vs,.vs-dark) .quick-input-list .monaco-list-row.focused .monaco-keybinding-key,:is(.vs,.vs-dark) .quick-input-list .monaco-list-row:hover .monaco-keybinding-key{border-color:color-mix(in srgb,currentColor 30%,transparent)}.quick-input-list .quick-input-list-separator-as-item{padding:4px 6px;font-size:12px}.quick-input-list .quick-input-list-separator-as-item .label-name{font-weight:600}.quick-input-list .quick-input-list-separator-as-item .label-description{opacity:1!important}.quick-input-list .monaco-tree-sticky-row .quick-input-list-entry.quick-input-list-separator-as-item.quick-input-list-separator-border{border-top-style:none}.quick-input-list .monaco-tree-sticky-row{padding:0 5px}.quick-input-list .monaco-tl-twistie{display:none!important}.quick-input-tree .monaco-list{overflow:hidden;max-height:440px;padding-bottom:5px}.quick-input-tree.quick-input-tree-flat .monaco-tl-indent,.quick-input-tree.quick-input-tree-flat .monaco-tl-twistie{display:none!important}.quick-input-tree.quick-input-tree-flat .monaco-checkbox{margin-left:6px}.quick-input-tree .quick-input-tree-entry{box-sizing:border-box;overflow:hidden;display:flex;padding-right:6px}.quick-input-tree .quick-input-tree-label{overflow:hidden;display:flex;height:100%;flex:1}.quick-input-tree .quick-input-tree-icon{background-size:16px;background-position:left center;background-repeat:no-repeat;padding-right:6px;width:16px;height:22px;display:flex;align-items:center;justify-content:center}.quick-input-tree .quick-input-tree-rows{overflow:hidden;text-overflow:ellipsis;display:flex;flex-direction:column;height:100%;flex:1;margin-left:5px}.quick-input-tree .quick-input-tree-rows>.quick-input-tree-row{display:flex;align-items:center}.quick-input-tree .quick-input-tree-rows>.quick-input-tree-row .monaco-icon-label,.quick-input-tree .quick-input-tree-rows>.quick-input-tree-row .monaco-icon-label .monaco-icon-label-container>.monaco-icon-name-container{flex:1}.quick-input-tree .quick-input-tree-rows>.quick-input-tree-row .codicon[class*=codicon-]{vertical-align:text-bottom}.quick-input-tree .quick-input-tree-rows .monaco-highlighted-label>span{opacity:1}.quick-input-tree .quick-input-tree-entry-action-bar{display:flex;flex:0;overflow:visible}.quick-input-tree .quick-input-tree-entry-action-bar .action-label,.quick-input-tree .quick-input-tree-entry-action-bar .monaco-custom-toggle{display:none}.quick-input-tree .quick-input-tree-entry-action-bar .action-label.codicon{margin-right:4px;padding:2px}.quick-input-tree .quick-input-tree-entry-action-bar .monaco-custom-toggle.codicon{margin-right:4px}.quick-input-tree .quick-input-tree-entry-action-bar{margin-top:1px}.quick-input-tree .quick-input-tree-entry-action-bar{margin-right:4px}.quick-input-tree .quick-input-tree-entry .quick-input-tree-entry-action-bar .action-label.always-visible,.quick-input-tree .quick-input-tree-entry:hover .quick-input-tree-entry-action-bar .action-label,.quick-input-tree .quick-input-tree-entry.focus-inside .quick-input-tree-entry-action-bar .action-label,.quick-input-tree .monaco-list-row.focused .quick-input-tree-entry-action-bar .action-label,.quick-input-tree .monaco-list-row.passive-focused .quick-input-tree-entry-action-bar .action-label,.quick-input-tree .quick-input-tree-entry .quick-input-tree-entry-action-bar .monaco-custom-toggle.always-visible,.quick-input-tree .quick-input-tree-entry:hover .quick-input-tree-entry-action-bar .monaco-custom-toggle,.quick-input-tree .quick-input-tree-entry.focus-inside .quick-input-tree-entry-action-bar .monaco-custom-toggle,.quick-input-tree .monaco-list-row.focused .quick-input-tree-entry-action-bar .monaco-custom-toggle,.quick-input-tree .monaco-list-row.passive-focused .quick-input-tree-entry-action-bar .monaco-custom-toggle{display:flex}.quick-input-tree>.monaco-list:focus .monaco-list-row.focused{outline:1px solid var(--vscode-list-focusOutline)!important;outline-offset:-1px}.monaco-toolbar{height:100%}.monaco-toolbar .toolbar-toggle-more{display:inline-block;padding:0}.monaco-toolbar.responsive.responsive-all .monaco-action-bar>.actions-container>.action-item{flex-shrink:1;min-width:var(--vscode-toolbar-action-min-width, 20px)}.monaco-toolbar.responsive.responsive-last .monaco-action-bar>.actions-container>.action-item{flex-shrink:0}.monaco-toolbar.responsive.responsive-last .monaco-action-bar:not(.has-overflow)>.actions-container>.action-item:last-child,.monaco-toolbar.responsive.responsive-last .monaco-action-bar.has-overflow>.actions-container>.action-item:nth-last-child(2){flex-shrink:1;min-width:var(--vscode-toolbar-action-min-width, 20px)}.monaco-text-button{box-sizing:border-box;display:flex;width:100%;padding:4px 8px;border-radius:4px;text-align:center;cursor:pointer;justify-content:center;align-items:center;border:1px solid var(--vscode-button-border, transparent);line-height:16px;font-size:12px;overflow-wrap:normal}.monaco-text-button.secondary{border-color:var(--vscode-button-secondaryBorder, var(--vscode-button-border, transparent))}.monaco-text-button.small{line-height:14px;font-size:11px;padding:3px 6px}.monaco-text-button:focus{outline-offset:2px!important}.monaco-text-button:hover{text-decoration:none!important}.monaco-button.disabled:focus,.monaco-button.disabled{opacity:.4!important;cursor:default}.monaco-text-button .codicon{margin:0 .2em;color:inherit!important}.monaco-text-button.monaco-text-button-with-short-label{flex-direction:row;flex-wrap:wrap;padding:0 4px;overflow:hidden;height:28px}.monaco-text-button.monaco-text-button-with-short-label>.monaco-button-label{flex-basis:100%}.monaco-text-button.monaco-text-button-with-short-label>.monaco-button-label-short{flex-grow:1;width:0;overflow:hidden}.monaco-text-button.monaco-text-button-with-short-label>.monaco-button-label,.monaco-text-button.monaco-text-button-with-short-label>.monaco-button-label-short{display:flex;justify-content:center;align-items:center;font-weight:400;font-style:inherit;line-height:18px;padding:4px 0}.monaco-button-dropdown{display:flex;cursor:pointer}.monaco-button-dropdown.disabled{cursor:default}.monaco-button-dropdown>.monaco-button:focus{outline-offset:-1px!important}.monaco-button-dropdown.disabled>.monaco-button.disabled,.monaco-button-dropdown.disabled>.monaco-button.disabled:focus,.monaco-button-dropdown.disabled>.monaco-button-dropdown-separator{opacity:.4!important}.monaco-button-dropdown>.monaco-button.monaco-text-button{border-right-width:0!important}.monaco-button-dropdown .monaco-button-dropdown-separator{padding:4px 0;cursor:default}.monaco-button-dropdown .monaco-button-dropdown-separator>div{height:100%;width:1px}.monaco-button-dropdown>.monaco-button.monaco-dropdown-button{border:1px solid var(--vscode-button-border, transparent);border-left-width:0!important;border-radius:0 4px 4px 0;padding:0 4px;display:flex;align-items:center}.monaco-button-dropdown>.monaco-button.monaco-dropdown-button.secondary{border-color:var(--vscode-button-secondaryBorder, var(--vscode-button-border, transparent))}.monaco-button-dropdown>.monaco-button.monaco-text-button{border-radius:4px 0 0 4px}.monaco-description-button{display:flex;flex-direction:column;align-items:center;margin:4px 5px}.monaco-description-button .monaco-button-description{font-style:italic;font-size:11px;padding:4px 20px}.monaco-description-button .monaco-button-label,.monaco-description-button .monaco-button-description{display:flex;justify-content:center;align-items:center}.monaco-description-button .monaco-button-label>.codicon,.monaco-description-button .monaco-button-description>.codicon{margin:0 .2em;color:inherit!important}.monaco-button.default-colors,.monaco-button-dropdown.default-colors>.monaco-button{color:var(--vscode-button-foreground);background-color:var(--vscode-button-background)}.monaco-button.default-colors:hover,.monaco-button-dropdown.default-colors>.monaco-button:hover{background-color:var(--vscode-button-hoverBackground)}.monaco-button.default-colors.secondary,.monaco-button-dropdown.default-colors>.monaco-button.secondary{color:var(--vscode-button-secondaryForeground);background-color:var(--vscode-button-secondaryBackground)}.monaco-button.default-colors.secondary:hover,.monaco-button-dropdown.default-colors>.monaco-button.secondary:hover{background-color:var(--vscode-button-secondaryHoverBackground)}.monaco-button-dropdown.default-colors .monaco-button-dropdown-separator{background-color:var(--vscode-button-background);border-top:1px solid var(--vscode-button-border);border-bottom:1px solid var(--vscode-button-border)}.monaco-button-dropdown.default-colors .monaco-button.secondary+.monaco-button-dropdown-separator{background-color:var(--vscode-button-secondaryBackground);border-top-color:var(--vscode-button-secondaryBorder, var(--vscode-button-border));border-bottom-color:var(--vscode-button-secondaryBorder, var(--vscode-button-border))}.monaco-button-dropdown.default-colors .monaco-button-dropdown-separator>div{background-color:var(--vscode-button-separator)}.monaco-count-badge{padding:3px 5px;border-radius:11px;font-size:11px;min-width:18px;min-height:18px;line-height:11px;font-weight:400;text-align:center;display:inline-block;box-sizing:border-box}.monaco-count-badge.long{padding:2px 3px;border-radius:2px;min-height:auto;line-height:normal}.monaco-progress-container{width:100%;height:2px;overflow:hidden}.monaco-progress-container .progress-bit{width:2%;height:2px;position:absolute;left:0;display:none}.monaco-progress-container.active .progress-bit{display:inherit}.monaco-progress-container.discrete .progress-bit{left:0;transition:width .1s linear}.monaco-progress-container.discrete.done .progress-bit{width:100%}.monaco-progress-container.infinite .progress-bit{animation-name:progress;animation-duration:4s;animation-iteration-count:infinite;transform:translateZ(0);animation-timing-function:linear}.monaco-progress-container.infinite.infinite-long-running .progress-bit{animation-timing-function:steps(100)}@keyframes progress{0%{transform:translate(0) scaleX(1)}50%{transform:translate(2500%) scaleX(3)}to{transform:translate(4900%) scaleX(1)}}.monaco-icon-label{display:flex;overflow:hidden;text-overflow:ellipsis}.monaco-icon-label:before{background-size:16px;background-position:left center;background-repeat:no-repeat;padding-right:6px;width:16px;height:22px;line-height:inherit!important;display:inline-block;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;vertical-align:top;flex-shrink:0}.monaco-icon-label-iconpath{width:16px;height:22px;margin-right:6px;display:flex}.monaco-icon-label-container.disabled{color:var(--vscode-disabledForeground)}.monaco-icon-label>.monaco-icon-label-container{min-width:0;overflow:hidden;text-overflow:ellipsis;flex:1}.monaco-icon-label>.monaco-icon-label-container>.monaco-icon-name-container>.label-name{color:inherit;white-space:pre}.monaco-icon-label>.monaco-icon-label-container>.monaco-icon-name-container>.label-name>.label-separator{margin:0 2px;opacity:.5}.monaco-icon-label>.monaco-icon-label-container>.monaco-icon-suffix-container>.label-suffix{opacity:.7;white-space:pre}.monaco-icon-label>.monaco-icon-label-container>.monaco-icon-description-container>.label-description{opacity:.7;margin-left:.5em;font-size:.9em;white-space:pre}.monaco-icon-label.nowrap>.monaco-icon-label-container>.monaco-icon-description-container>.label-description{white-space:nowrap}.vs .monaco-icon-label>.monaco-icon-label-container>.monaco-icon-description-container>.label-description{opacity:.95}.monaco-icon-label.bold>.monaco-icon-label-container>.monaco-icon-name-container>.label-name,.monaco-icon-label.bold>.monaco-icon-label-container>.monaco-icon-description-container>.label-description{font-weight:700}.monaco-icon-label.italic>.monaco-icon-label-container>.monaco-icon-name-container>.label-name,.monaco-icon-label.italic>.monaco-icon-label-container>.monaco-icon-description-container>.label-description{font-style:italic}.monaco-icon-label.deprecated{text-decoration:line-through;opacity:.66}.monaco-icon-label.strikethrough>.monaco-icon-label-container>.monaco-icon-name-container>.label-name,.monaco-icon-label.strikethrough>.monaco-icon-label-container>.monaco-icon-description-container>.label-description{text-decoration:line-through}.monaco-icon-label:after{opacity:.75;font-size:90%;font-weight:600;margin:auto 16px 0 5px;text-align:center}.monaco-list:focus .selected .monaco-icon-label,.monaco-list:focus .selected .monaco-icon-label:after{color:inherit!important}.monaco-list-row.focused.selected .label-description,.monaco-list-row.selected .label-description{opacity:.8}.monaco-keybinding{display:flex;align-items:center;line-height:10px}.monaco-keybinding>.monaco-keybinding-key{display:inline-flex;align-items:center;border-style:solid;border-width:1px;border-radius:3px;justify-content:center;min-width:12px;font-size:11px;padding:3px 5px;margin:0 2px}.monaco-keybinding>.monaco-keybinding-key:first-child{margin-left:0}.monaco-keybinding>.monaco-keybinding-key:last-child{margin-right:0}.monaco-keybinding>.monaco-keybinding-key-separator{display:inline-block}.monaco-keybinding>.monaco-keybinding-key-chord-separator{width:6px}.monaco-diff-editor .diff-review{position:absolute}.monaco-component.diff-review{user-select:none;-webkit-user-select:none;z-index:99}.monaco-component.diff-review .diff-review-line-number{text-align:right;display:inline-block;color:var(--vscode-editorLineNumber-foreground)}.monaco-component.diff-review .diff-review-summary{padding-left:10px}.monaco-component.diff-review .diff-review-shadow{position:absolute;box-shadow:var(--vscode-scrollbar-shadow) 0 -6px 6px -6px inset}.monaco-component.diff-review .diff-review-row{white-space:pre}.monaco-component.diff-review .diff-review-table{display:table;min-width:100%}.monaco-component.diff-review .diff-review-row{display:table-row;width:100%}.monaco-component.diff-review .diff-review-spacer{display:inline-block;width:10px;vertical-align:middle}.monaco-component.diff-review .diff-review-spacer>.codicon{font-size:9px!important}.monaco-component.diff-review .diff-review-actions{display:inline-block;position:absolute;right:10px;top:2px;z-index:100}.monaco-component.diff-review .diff-review-actions .action-label{width:16px;height:16px;margin:2px 0}.monaco-component.diff-review .revertButton{cursor:pointer}.monaco-component.diff-review .action-label{background:var(--vscode-editorActionList-background)}.monaco-editor .diff-hidden-lines-widget{width:100%}.monaco-editor .diff-hidden-lines{height:0px;transform:translateY(-10px);font-size:13px;line-height:14px}.monaco-editor .diff-hidden-lines:not(.dragging) .top:hover,.monaco-editor .diff-hidden-lines:not(.dragging) .bottom:hover,.monaco-editor .diff-hidden-lines .top.dragging,.monaco-editor .diff-hidden-lines .bottom.dragging{background-color:var(--vscode-focusBorder)}.monaco-editor .diff-hidden-lines .top,.monaco-editor .diff-hidden-lines .bottom{transition:background-color .1s ease-out;height:4px;background-color:transparent;background-clip:padding-box;border-bottom:2px solid transparent;border-top:4px solid transparent}.monaco-editor.draggingUnchangedRegion.canMoveTop:not(.canMoveBottom) *,.monaco-editor .diff-hidden-lines .top.canMoveTop:not(.canMoveBottom),.monaco-editor .diff-hidden-lines .bottom.canMoveTop:not(.canMoveBottom){cursor:n-resize!important}.monaco-editor.draggingUnchangedRegion:not(.canMoveTop).canMoveBottom *,.monaco-editor .diff-hidden-lines .top:not(.canMoveTop).canMoveBottom,.monaco-editor .diff-hidden-lines .bottom:not(.canMoveTop).canMoveBottom{cursor:s-resize!important}.monaco-editor.draggingUnchangedRegion.canMoveTop.canMoveBottom *,.monaco-editor .diff-hidden-lines .top.canMoveTop.canMoveBottom,.monaco-editor .diff-hidden-lines .bottom.canMoveTop.canMoveBottom{cursor:ns-resize!important}.monaco-editor .diff-hidden-lines .top{transform:translateY(4px)}.monaco-editor .diff-hidden-lines .bottom{transform:translateY(-6px)}.monaco-editor .diff-unchanged-lines{background:var(--vscode-diffEditor-unchangedCodeBackground)}.monaco-editor .noModificationsOverlay{z-index:1;background:var(--vscode-editor-background);display:flex;justify-content:center;align-items:center}.monaco-editor .diff-hidden-lines .center{background:var(--vscode-diffEditor-unchangedRegionBackground);color:var(--vscode-diffEditor-unchangedRegionForeground);overflow:hidden;display:block;text-overflow:ellipsis;white-space:nowrap;height:24px;box-shadow:inset 0 -5px 5px -7px var(--vscode-diffEditor-unchangedRegionShadow),inset 0 5px 5px -7px var(--vscode-diffEditor-unchangedRegionShadow)}.monaco-editor .diff-hidden-lines .center span.codicon{vertical-align:middle}.monaco-editor .diff-hidden-lines .center a:hover .codicon{cursor:pointer;color:var(--vscode-editorLink-activeForeground)!important}.monaco-editor .diff-hidden-lines div.breadcrumb-item{cursor:pointer}.monaco-editor .diff-hidden-lines div.breadcrumb-item:hover{color:var(--vscode-editorLink-activeForeground)}.monaco-editor .movedOriginal,.monaco-editor .movedModified{border:2px solid var(--vscode-diffEditor-move-border)}.monaco-editor .movedOriginal.currentMove,.monaco-editor .movedModified.currentMove{border:2px solid var(--vscode-diffEditor-moveActive-border)}.monaco-diff-editor .moved-blocks-lines path.currentMove{stroke:var(--vscode-diffEditor-moveActive-border)}.monaco-diff-editor .moved-blocks-lines path{pointer-events:visiblestroke}.monaco-diff-editor .moved-blocks-lines .arrow{fill:var(--vscode-diffEditor-move-border)}.monaco-diff-editor .moved-blocks-lines .arrow.currentMove{fill:var(--vscode-diffEditor-moveActive-border)}.monaco-diff-editor .moved-blocks-lines .arrow-rectangle{fill:var(--vscode-editor-background)}.monaco-diff-editor .moved-blocks-lines{position:absolute;pointer-events:none}.monaco-diff-editor .moved-blocks-lines path{fill:none;stroke:var(--vscode-diffEditor-move-border);stroke-width:2}.monaco-editor .char-delete.diff-range-empty{margin-left:-1px;border-left:solid var(--vscode-diffEditor-removedTextBackground) 3px}.monaco-editor .char-insert.diff-range-empty{border-left:solid var(--vscode-diffEditor-insertedTextBackground) 3px}.monaco-editor .fold-unchanged{cursor:pointer}.monaco-diff-editor .diff-moved-code-block{display:flex;justify-content:flex-end;margin-top:-4px}.monaco-diff-editor .diff-moved-code-block .action-bar .action-label.codicon{width:12px;height:12px;font-size:12px}.monaco-diff-editor .diffOverview{z-index:9}.monaco-diff-editor .diffOverview .diffViewport{z-index:10}.monaco-diff-editor.vs .diffOverview{background:#00000008}.monaco-diff-editor.vs-dark .diffOverview{background:#ffffff03}.monaco-scrollable-element.modified-in-monaco-diff-editor.vs .scrollbar,.monaco-scrollable-element.modified-in-monaco-diff-editor.vs-dark .scrollbar{background:#0000}.monaco-scrollable-element.modified-in-monaco-diff-editor.hc-black .scrollbar,.monaco-scrollable-element.modified-in-monaco-diff-editor.hc-light .scrollbar{background:none}.monaco-scrollable-element.modified-in-monaco-diff-editor .slider{z-index:10}.modified-in-monaco-diff-editor .slider.active{background:#ababab66}.modified-in-monaco-diff-editor.hc-black .slider.active,.modified-in-monaco-diff-editor.hc-light .slider.active{background:none}.monaco-editor .insert-sign,.monaco-diff-editor .insert-sign,.monaco-editor .delete-sign,.monaco-diff-editor .delete-sign{font-size:11px!important;opacity:.7!important;display:flex!important;align-items:center}.monaco-editor.hc-black .insert-sign,.monaco-diff-editor.hc-black .insert-sign,.monaco-editor.hc-black .delete-sign,.monaco-diff-editor.hc-black .delete-sign,.monaco-editor.hc-light .insert-sign,.monaco-diff-editor.hc-light .insert-sign,.monaco-editor.hc-light .delete-sign,.monaco-diff-editor.hc-light .delete-sign{opacity:1}.monaco-editor .inline-deleted-margin-view-zone,.monaco-editor .inline-added-margin-view-zone{text-align:right}.monaco-editor .arrow-revert-change{z-index:10;position:absolute}.monaco-editor .arrow-revert-change:hover{cursor:pointer}.monaco-editor .view-zones .view-lines .view-line span{display:inline-block}.monaco-editor .margin-view-zones .lightbulb-glyph:hover{cursor:pointer}.monaco-editor .char-insert,.monaco-diff-editor .char-insert{background-color:var(--vscode-diffEditor-insertedTextBackground)}.monaco-editor .line-insert,.monaco-diff-editor .line-insert{background-color:var(--vscode-diffEditor-insertedLineBackground, var(--vscode-diffEditor-insertedTextBackground))}.monaco-editor .line-insert,.monaco-editor .char-insert{box-sizing:border-box;border:1px solid var(--vscode-diffEditor-insertedTextBorder)}.monaco-editor.hc-black .line-insert,.monaco-editor.hc-light .line-insert,.monaco-editor.hc-black .char-insert,.monaco-editor.hc-light .char-insert{border-style:dashed}.monaco-editor .line-delete,.monaco-editor .char-delete{box-sizing:border-box;border:1px solid var(--vscode-diffEditor-removedTextBorder)}.monaco-editor.hc-black .line-delete,.monaco-editor.hc-light .line-delete,.monaco-editor.hc-black .char-delete,.monaco-editor.hc-light .char-delete{border-style:dashed}.monaco-editor .inline-added-margin-view-zone,.monaco-editor .gutter-insert,.monaco-diff-editor .gutter-insert{background-color:var(--vscode-diffEditorGutter-insertedLineBackground, var(--vscode-diffEditor-insertedLineBackground), var(--vscode-diffEditor-insertedTextBackground))}.monaco-editor .char-delete,.monaco-diff-editor .char-delete,.monaco-editor .inline-deleted-text{background-color:var(--vscode-diffEditor-removedTextBackground)}.monaco-editor .inline-deleted-text{text-decoration:line-through}.monaco-editor .line-delete,.monaco-diff-editor .line-delete{background-color:var(--vscode-diffEditor-removedLineBackground, var(--vscode-diffEditor-removedTextBackground))}.monaco-editor .inline-deleted-margin-view-zone,.monaco-editor .gutter-delete,.monaco-diff-editor .gutter-delete{background-color:var(--vscode-diffEditorGutter-removedLineBackground, var(--vscode-diffEditor-removedLineBackground), var(--vscode-diffEditor-removedTextBackground))}.monaco-diff-editor.side-by-side .editor.modified{box-shadow:-6px 0 5px -5px var(--vscode-scrollbar-shadow);border-left:1px solid var(--vscode-diffEditor-border)}.monaco-diff-editor.side-by-side .editor.original{box-shadow:6px 0 5px -5px var(--vscode-scrollbar-shadow);border-right:1px solid var(--vscode-diffEditor-border)}.monaco-diff-editor .diffViewport{background:var(--vscode-scrollbarSlider-background)}.monaco-diff-editor .diffViewport:hover{background:var(--vscode-scrollbarSlider-hoverBackground)}.monaco-diff-editor .diffViewport:active{background:var(--vscode-scrollbarSlider-activeBackground)}.monaco-editor .diagonal-fill{background-image:linear-gradient(-45deg,var(--vscode-diffEditor-diagonalFill) 12.5%,#0000 12.5%,#0000 50%,var(--vscode-diffEditor-diagonalFill) 50%,var(--vscode-diffEditor-diagonalFill) 62.5%,#0000 62.5%,#0000 100%);background-size:8px 8px}.monaco-diff-editor .gutter{position:relative;overflow:hidden;flex-shrink:0;flex-grow:0}.monaco-diff-editor .gutter>div{position:absolute}.monaco-diff-editor .gutter .gutterItem{opacity:0;transition:opacity .7s}.monaco-diff-editor .gutter .gutterItem.showAlways{opacity:1;transition:none}.monaco-diff-editor .gutter .gutterItem.noTransition{transition:none}.monaco-diff-editor .gutter:hover .gutterItem{opacity:1;transition:opacity .1s ease-in-out}.monaco-diff-editor .gutter .gutterItem .background{position:absolute;height:100%;left:50%;width:1px;border-left:2px var(--vscode-menu-separatorBackground) solid}.monaco-diff-editor .gutter .gutterItem .buttons{position:absolute;width:100%;display:flex;justify-content:center;align-items:center}.monaco-diff-editor .gutter .gutterItem .buttons .monaco-toolbar{height:fit-content}.monaco-diff-editor .gutter .gutterItem .buttons .monaco-toolbar .monaco-action-bar{line-height:1}.monaco-diff-editor .gutter .gutterItem .buttons .monaco-toolbar .monaco-action-bar .actions-container{width:fit-content;border-radius:4px;background:var(--vscode-editorGutter-itemBackground)}.monaco-diff-editor .gutter .gutterItem .buttons .monaco-toolbar .monaco-action-bar .actions-container .action-item:hover{background:var(--vscode-toolbar-hoverBackground)}.monaco-diff-editor .gutter .gutterItem .buttons .monaco-toolbar .monaco-action-bar .actions-container .action-item .action-label{color:var(--vscode-editorGutter-itemGlyphForeground);padding:1px 2px}.monaco-diff-editor .diff-hidden-lines-compact{display:flex;height:11px}.monaco-diff-editor .diff-hidden-lines-compact .line-left,.monaco-diff-editor .diff-hidden-lines-compact .line-right{height:1px;border-top:1px solid;border-color:var(--vscode-editorCodeLens-foreground);opacity:.5;margin:auto;width:100%}.monaco-diff-editor .diff-hidden-lines-compact .line-left{width:20px}.monaco-diff-editor .diff-hidden-lines-compact .text{color:var(--vscode-editorCodeLens-foreground);text-wrap:nowrap;font-size:11px;line-height:11px;margin:0 4px}.monaco-editor .line-delete-selectable{user-select:text!important;-webkit-user-select:text!important;z-index:1!important}.line-delete-selectable .view-line{user-select:text!important;-webkit-user-select:text!important}.monaco-editor .rendered-markdown kbd{background-color:var(--vscode-keybindingLabel-background);color:var(--vscode-keybindingLabel-foreground);border-style:solid;border-width:1px;border-radius:3px;border-color:var(--vscode-keybindingLabel-border);border-bottom-color:var(--vscode-keybindingLabel-bottomBorder);box-shadow:inset 0 -1px 0 var(--vscode-widget-shadow);vertical-align:middle;padding:1px 3px}.rendered-markdown li:has(input[type=checkbox]){list-style-type:none}.monaco-component.multiDiffEditor{background:var(--vscode-multiDiffEditor-background);position:relative;height:100%;width:100%;overflow-y:hidden}.monaco-component.multiDiffEditor>div{position:absolute;top:0;left:0;height:100%;width:100%}.monaco-component.multiDiffEditor>div.placeholder{visibility:hidden;display:grid;place-items:center;place-content:center}.monaco-component.multiDiffEditor>div.placeholder.visible{visibility:visible}.monaco-component.multiDiffEditor>.multi-diff-root-floating-menu{position:absolute;inset:auto 28px 24px auto;width:auto}.monaco-component.multiDiffEditor .active{--vscode-multiDiffEditor-border: var(--vscode-focusBorder)}.monaco-component.multiDiffEditor .multiDiffEntry{display:flex;flex-direction:column;flex:1;overflow:hidden}.monaco-component.multiDiffEditor .multiDiffEntry .collapse-button{margin:0 5px;cursor:pointer}.monaco-component.multiDiffEditor .multiDiffEntry .collapse-button a{display:block}.monaco-component.multiDiffEditor .multiDiffEntry .header{z-index:1000;background:var(--vscode-editor-background)}.monaco-component.multiDiffEditor .multiDiffEntry .header:not(.collapsed) .header-content{border-bottom:1px solid var(--vscode-sideBarSectionHeader-border)}.monaco-component.multiDiffEditor .multiDiffEntry .header .header-content{margin:8px 0 0;padding:4px 5px;border-top:1px solid var(--vscode-multiDiffEditor-border);display:flex;align-items:center;color:var(--vscode-foreground);background:var(--vscode-multiDiffEditor-headerBackground)}.monaco-component.multiDiffEditor .multiDiffEntry .header .header-content.shadow{box-shadow:var(--vscode-scrollbar-shadow) 0 6px 6px -6px}.monaco-component.multiDiffEditor .multiDiffEntry .header .header-content .file-path{display:flex;flex:1;min-width:0}.monaco-component.multiDiffEditor .multiDiffEntry .header .header-content .file-path .title{font-size:14px;line-height:22px}.monaco-component.multiDiffEditor .multiDiffEntry .header .header-content .file-path .title.original{flex:1;min-width:0;text-overflow:ellipsis}.monaco-component.multiDiffEditor .multiDiffEntry .header .header-content .file-path .status{font-weight:600;opacity:.75;margin:0 10px;line-height:22px}.monaco-component.multiDiffEditor .multiDiffEntry .header .header-content .actions{padding:0 8px}.monaco-component.multiDiffEditor .multiDiffEntry .editorParent{flex:1;display:flex;flex-direction:column;border-bottom:1px solid var(--vscode-multiDiffEditor-border);overflow:hidden}.monaco-component.multiDiffEditor .multiDiffEntry .editorContainer{flex:1}.monaco-editor .snippet-placeholder{min-width:2px;outline-style:solid;outline-width:1px;background-color:var(--vscode-editor-snippetTabstopHighlightBackground, transparent);outline-color:var(--vscode-editor-snippetTabstopHighlightBorder, transparent)}.monaco-editor .finish-snippet-placeholder{outline-style:solid;outline-width:1px;background-color:var(--vscode-editor-snippetFinalTabstopHighlightBackground, transparent);outline-color:var(--vscode-editor-snippetFinalTabstopHighlightBorder, transparent)}@font-face{font-family:codicon;font-display:block;src:url(/assets/codicon-Brq4_Ui5.ttf) format("truetype")}.codicon[class*=codicon-]{font: 16px/1 codicon;display:inline-block;text-decoration:none;text-rendering:auto;text-align:center;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;user-select:none;-webkit-user-select:none}.codicon-wrench-subaction{opacity:.5}@keyframes codicon-spin{to{transform:rotate(360deg)}}.codicon-sync.codicon-modifier-spin,.codicon-loading.codicon-modifier-spin,.codicon-gear.codicon-modifier-spin,.codicon-notebook-state-executing.codicon-modifier-spin,.codicon-loading,.codicon-tree-item-loading:before{animation:codicon-spin 1.5s steps(30) infinite;transform-origin:center center}.codicon-modifier-disabled{opacity:.4}.monaco-editor .suggest-widget{width:430px;z-index:40;display:flex;flex-direction:column;border-radius:var(--vscode-cornerRadius-large);box-shadow:var(--vscode-shadow-lg)}.monaco-editor .suggest-widget.message{flex-direction:row;align-items:center}.monaco-editor .suggest-widget,.monaco-editor .suggest-details{flex:0 1 auto;width:100%;border-style:solid;border-width:1px;border-color:var(--vscode-editorSuggestWidget-border);background-color:var(--vscode-editorSuggestWidget-background)}.monaco-editor.hc-black .suggest-widget,.monaco-editor.hc-black .suggest-details,.monaco-editor.hc-light .suggest-widget,.monaco-editor.hc-light .suggest-details{border-width:2px}.monaco-editor .suggest-widget .suggest-status-bar{box-sizing:border-box;display:none;flex-flow:row nowrap;justify-content:space-between;width:100%;font-size:80%;padding:0 4px;border-top:1px solid var(--vscode-editorSuggestWidget-border);overflow:hidden}.monaco-editor .suggest-widget.with-status-bar .suggest-status-bar{display:flex}.monaco-editor .suggest-widget .suggest-status-bar .left{padding-right:8px}.monaco-editor .suggest-widget.with-status-bar .suggest-status-bar .action-label{color:var(--vscode-editorSuggestWidgetStatus-foreground)}.monaco-editor .suggest-widget.with-status-bar .suggest-status-bar .action-item:not(:last-of-type) .action-label{margin-right:0}.monaco-editor .suggest-widget.with-status-bar .suggest-status-bar .action-item:not(:last-of-type) .action-label:after{content:", ";margin-right:.3em}.monaco-editor .suggest-widget.with-status-bar .monaco-list .monaco-list-row>.contents>.main>.right>.readMore,.monaco-editor .suggest-widget.with-status-bar .monaco-list .monaco-list-row.focused.string-label>.contents>.main>.right>.readMore{display:none}.monaco-editor .suggest-widget.with-status-bar:not(.docs-side) .monaco-list .monaco-list-row:hover>.contents>.main>.right.can-expand-details>.details-label{width:100%}.monaco-editor .suggest-widget>.message{padding-left:22px}.monaco-editor .suggest-widget>.tree{height:100%;width:100%}.monaco-editor .suggest-widget .monaco-list{user-select:none;-webkit-user-select:none;border-radius:var(--vscode-cornerRadius-large)}.monaco-editor .suggest-widget .monaco-list .monaco-list-row{display:flex;-mox-box-sizing:border-box;box-sizing:border-box;padding-right:10px;background-repeat:no-repeat;background-position:2px 2px;white-space:nowrap;cursor:pointer;touch-action:none}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused{color:var(--vscode-editorSuggestWidget-selectedForeground)}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused .codicon{color:var(--vscode-editorSuggestWidget-selectedIconForeground)}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents{flex:1;height:100%;overflow:hidden;padding-left:2px}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main{display:flex;overflow:hidden;text-overflow:ellipsis;white-space:pre;justify-content:space-between}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.left,.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right{display:flex}.monaco-editor .suggest-widget .monaco-list .monaco-list-row:not(.focused)>.contents>.main .monaco-icon-label{color:var(--vscode-editorSuggestWidget-foreground)}.monaco-editor .suggest-widget:not(.frozen) .monaco-highlighted-label .highlight{font-weight:700}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main .monaco-highlighted-label .highlight{color:var(--vscode-editorSuggestWidget-highlightForeground)}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused>.contents>.main .monaco-highlighted-label .highlight{color:var(--vscode-editorSuggestWidget-focusHighlightForeground)}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.header>.codicon-close,.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.readMore:before{color:inherit;opacity:1;font-size:14px;cursor:pointer}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.header>.codicon-close{position:absolute;top:6px;right:2px}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.header>.codicon-close:hover,.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.readMore:hover{opacity:1}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.details-label{color:var(--vscode-editorSuggestWidget-foreground)}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused>.contents>.main>.right>.details-label{color:var(--vscode-editorSuggestWidget-selectedForeground)}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.left>.signature-label{overflow:hidden;text-overflow:ellipsis;opacity:.6}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.left>.qualifier-label{margin-left:12px;opacity:.4;font-size:85%;line-height:initial;text-overflow:ellipsis;overflow:hidden;align-self:center}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.details-label{font-size:85%;margin-left:1.1em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.details-label>.monaco-tokenized-source{display:inline}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.details-label{display:none}.monaco-editor .suggest-widget:not(.shows-details) .monaco-list .monaco-list-row.focused>.contents>.main>.right>.details-label{display:inline}.monaco-editor .suggest-widget .monaco-list .monaco-list-row:not(.string-label)>.contents>.main>.right>.details-label,.monaco-editor .suggest-widget.docs-side .monaco-list .monaco-list-row.focused:not(.string-label)>.contents>.main>.right>.details-label{display:inline}.monaco-editor .suggest-widget:not(.docs-side) .monaco-list .monaco-list-row.focused:hover>.contents>.main>.right.can-expand-details>.details-label{width:calc(100% - 26px)}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.left{flex-shrink:1;flex-grow:1;overflow:hidden}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.left>.monaco-icon-label{flex-shrink:0}.monaco-editor .suggest-widget .monaco-list .monaco-list-row:not(.string-label)>.contents>.main>.left>.monaco-icon-label{max-width:100%}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.string-label>.contents>.main>.left>.monaco-icon-label{flex-shrink:1}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right{overflow:hidden;flex-shrink:4;max-width:70%}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.readMore{display:inline-block;position:absolute;right:10px;width:18px;height:18px;visibility:hidden}.monaco-editor .suggest-widget.docs-side .monaco-list .monaco-list-row>.contents>.main>.right>.readMore{display:none!important}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.string-label>.contents>.main>.right>.readMore{display:none}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused.string-label>.contents>.main>.right>.readMore{display:inline-block}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused:hover>.contents>.main>.right>.readMore{visibility:visible}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .monaco-icon-label.deprecated{opacity:.66;text-decoration:unset}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .monaco-icon-label.deprecated>.monaco-icon-label-container>.monaco-icon-name-container{text-decoration:line-through}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .monaco-icon-label:before{height:100%}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon{display:block;height:16px;width:16px;margin-left:2px;background-repeat:no-repeat;background-size:80%;background-position:center}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon.hide{display:none}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .suggest-icon{display:flex;align-items:center;margin-right:4px}.monaco-editor .suggest-widget.no-icons .monaco-list .monaco-list-row .icon,.monaco-editor .suggest-widget.no-icons .monaco-list .monaco-list-row .suggest-icon:before{display:none}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon.customcolor .colorspan{margin:0 0 0 .3em;border:.1em solid #000;width:.7em;height:.7em;display:inline-block}.monaco-editor .suggest-details-container{z-index:41}.monaco-editor .suggest-details{display:flex;flex-direction:column;cursor:default;color:var(--vscode-editorSuggestWidget-foreground)}.monaco-editor .suggest-details:focus{border-color:var(--vscode-focusBorder)}.monaco-editor .suggest-details a{color:var(--vscode-textLink-foreground)}.monaco-editor .suggest-details a:hover{color:var(--vscode-textLink-activeForeground)}.monaco-editor .suggest-details code{background-color:var(--vscode-textCodeBlock-background)}.monaco-editor .suggest-details.no-docs{display:none}.monaco-editor .suggest-details>.monaco-scrollable-element{flex:1}.monaco-editor .suggest-details>.monaco-scrollable-element>.body{box-sizing:border-box;height:100%;width:100%}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.header>.type{flex:2;overflow:hidden;text-overflow:ellipsis;opacity:.7;white-space:pre;margin:0 24px 0 0;padding:4px 0 4px 5px}.monaco-editor .suggest-details.detail-and-doc>.monaco-scrollable-element>.body>.header>.type{padding-bottom:12px}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.header>.type.auto-wrap{white-space:normal;word-break:break-all}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs{margin:0;padding:4px 5px;white-space:pre-wrap}.monaco-editor .suggest-details.no-type>.monaco-scrollable-element>.body>.docs{margin-right:24px;overflow:hidden}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs{padding:0;white-space:initial;min-height:calc(1rem + 8px)}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs>div,.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs>span:not(:empty){padding:4px 5px}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs>div>p:first-child{margin-top:0}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs>div>p:last-child{margin-bottom:0}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs .monaco-tokenized-source{white-space:pre}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs .code{white-space:pre-wrap;word-wrap:break-word}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs .codicon{vertical-align:sub}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>p:empty{display:none}.monaco-editor .suggest-details code{border-radius:3px;padding:0 .4em}.monaco-editor .suggest-details ul,.monaco-editor .suggest-details ol{padding-left:20px}.monaco-editor .suggest-details p code{font-family:var(--monaco-monospace-font)}.monaco-editor .codicon.codicon-symbol-array,.monaco-workbench .codicon-colored.codicon.codicon-symbol-array{color:var(--vscode-symbolIcon-arrayForeground)}.monaco-editor .codicon.codicon-symbol-boolean,.monaco-workbench .codicon-colored.codicon.codicon-symbol-boolean{color:var(--vscode-symbolIcon-booleanForeground)}.monaco-editor .codicon.codicon-symbol-class,.monaco-workbench .codicon-colored.codicon.codicon-symbol-class{color:var(--vscode-symbolIcon-classForeground)}.monaco-editor .codicon.codicon-symbol-method,.monaco-workbench .codicon-colored.codicon.codicon-symbol-method{color:var(--vscode-symbolIcon-methodForeground)}.monaco-editor .codicon.codicon-symbol-color,.monaco-workbench .codicon-colored.codicon.codicon-symbol-color{color:var(--vscode-symbolIcon-colorForeground)}.monaco-editor .codicon.codicon-symbol-constant,.monaco-workbench .codicon-colored.codicon.codicon-symbol-constant{color:var(--vscode-symbolIcon-constantForeground)}.monaco-editor .codicon.codicon-symbol-constructor,.monaco-workbench .codicon-colored.codicon.codicon-symbol-constructor{color:var(--vscode-symbolIcon-constructorForeground)}.monaco-editor .codicon.codicon-symbol-value,.monaco-workbench .codicon-colored.codicon.codicon-symbol-value,.monaco-editor .codicon.codicon-symbol-enum,.monaco-workbench .codicon-colored.codicon.codicon-symbol-enum{color:var(--vscode-symbolIcon-enumeratorForeground)}.monaco-editor .codicon.codicon-symbol-enum-member,.monaco-workbench .codicon-colored.codicon.codicon-symbol-enum-member{color:var(--vscode-symbolIcon-enumeratorMemberForeground)}.monaco-editor .codicon.codicon-symbol-event,.monaco-workbench .codicon-colored.codicon.codicon-symbol-event{color:var(--vscode-symbolIcon-eventForeground)}.monaco-editor .codicon.codicon-symbol-field,.monaco-workbench .codicon-colored.codicon.codicon-symbol-field{color:var(--vscode-symbolIcon-fieldForeground)}.monaco-editor .codicon.codicon-symbol-file,.monaco-workbench .codicon-colored.codicon.codicon-symbol-file{color:var(--vscode-symbolIcon-fileForeground)}.monaco-editor .codicon.codicon-symbol-folder,.monaco-workbench .codicon-colored.codicon.codicon-symbol-folder{color:var(--vscode-symbolIcon-folderForeground)}.monaco-editor .codicon.codicon-symbol-function,.monaco-workbench .codicon-colored.codicon.codicon-symbol-function{color:var(--vscode-symbolIcon-functionForeground)}.monaco-editor .codicon.codicon-symbol-interface,.monaco-workbench .codicon-colored.codicon.codicon-symbol-interface{color:var(--vscode-symbolIcon-interfaceForeground)}.monaco-editor .codicon.codicon-symbol-key,.monaco-workbench .codicon-colored.codicon.codicon-symbol-key{color:var(--vscode-symbolIcon-keyForeground)}.monaco-editor .codicon.codicon-symbol-keyword,.monaco-workbench .codicon-colored.codicon.codicon-symbol-keyword{color:var(--vscode-symbolIcon-keywordForeground)}.monaco-editor .codicon.codicon-symbol-module,.monaco-workbench .codicon-colored.codicon.codicon-symbol-module{color:var(--vscode-symbolIcon-moduleForeground)}.monaco-editor .codicon.codicon-symbol-namespace,.monaco-workbench .codicon-colored.codicon.codicon-symbol-namespace{color:var(--vscode-symbolIcon-namespaceForeground)}.monaco-editor .codicon.codicon-symbol-null,.monaco-workbench .codicon-colored.codicon.codicon-symbol-null{color:var(--vscode-symbolIcon-nullForeground)}.monaco-editor .codicon.codicon-symbol-number,.monaco-workbench .codicon-colored.codicon.codicon-symbol-number{color:var(--vscode-symbolIcon-numberForeground)}.monaco-editor .codicon.codicon-symbol-object,.monaco-workbench .codicon-colored.codicon.codicon-symbol-object{color:var(--vscode-symbolIcon-objectForeground)}.monaco-editor .codicon.codicon-symbol-operator,.monaco-workbench .codicon-colored.codicon.codicon-symbol-operator{color:var(--vscode-symbolIcon-operatorForeground)}.monaco-editor .codicon.codicon-symbol-package,.monaco-workbench .codicon-colored.codicon.codicon-symbol-package{color:var(--vscode-symbolIcon-packageForeground)}.monaco-editor .codicon.codicon-symbol-property,.monaco-workbench .codicon-colored.codicon.codicon-symbol-property{color:var(--vscode-symbolIcon-propertyForeground)}.monaco-editor .codicon.codicon-symbol-reference,.monaco-workbench .codicon-colored.codicon.codicon-symbol-reference{color:var(--vscode-symbolIcon-referenceForeground)}.monaco-editor .codicon.codicon-symbol-snippet,.monaco-workbench .codicon-colored.codicon.codicon-symbol-snippet{color:var(--vscode-symbolIcon-snippetForeground)}.monaco-editor .codicon.codicon-symbol-string,.monaco-workbench .codicon-colored.codicon.codicon-symbol-string{color:var(--vscode-symbolIcon-stringForeground)}.monaco-editor .codicon.codicon-symbol-struct,.monaco-workbench .codicon-colored.codicon.codicon-symbol-struct{color:var(--vscode-symbolIcon-structForeground)}.monaco-editor .codicon.codicon-symbol-text,.monaco-workbench .codicon-colored.codicon.codicon-symbol-text{color:var(--vscode-symbolIcon-textForeground)}.monaco-editor .codicon.codicon-symbol-type-parameter,.monaco-workbench .codicon-colored.codicon.codicon-symbol-type-parameter{color:var(--vscode-symbolIcon-typeParameterForeground)}.monaco-editor .codicon.codicon-symbol-unit,.monaco-workbench .codicon-colored.codicon.codicon-symbol-unit{color:var(--vscode-symbolIcon-unitForeground)}.monaco-editor .codicon.codicon-symbol-variable,.monaco-workbench .codicon-colored.codicon.codicon-symbol-variable{color:var(--vscode-symbolIcon-variableForeground)}.profile-settings-link{display:inline-flex;align-items:center;gap:8px;padding:9px 12px;border:1px solid var(--border, #dce2ee);border-radius:10px;color:inherit;background:var(--surface, #fff);font:inherit;font-weight:600;text-decoration:none}.profile-settings-link:hover{background:#f1f4fb}.profile-settings-link:focus-visible{outline:3px solid #4f46e5;outline-offset:3px}.account-profile-popover .profile-settings-link{width:100%;border:0;border-radius:0}.driver-active .driver-overlay,.driver-active *{pointer-events:none}.driver-active .driver-active-element,.driver-active .driver-active-element *,.driver-popover,.driver-popover *{pointer-events:auto}@keyframes animate-fade-in{0%{opacity:0}to{opacity:1}}.driver-fade .driver-overlay{animation:animate-fade-in .2s ease-in-out}.driver-fade .driver-popover{animation:animate-fade-in .2s}.driver-popover{all:unset;box-sizing:border-box;color:#2d2d2d;margin:0;padding:15px;border-radius:5px;min-width:250px;max-width:300px;box-shadow:0 1px 10px #0006;z-index:1000000000;position:fixed;top:0;right:0;background-color:#fff}.driver-popover *{font-family:Helvetica Neue,Inter,ui-sans-serif,"Apple Color Emoji",Helvetica,Arial,sans-serif}.driver-popover-title{font:19px/normal sans-serif;font-weight:700;display:block;position:relative;line-height:1.5;zoom:1;margin:0}.driver-popover-close-btn{all:unset;position:absolute;top:0;right:0;width:32px;height:28px;cursor:pointer;font-size:18px;font-weight:500;color:#d2d2d2;z-index:1;text-align:center;transition:color;transition-duration:.2s}.driver-popover-close-btn:hover,.driver-popover-close-btn:focus{color:#2d2d2d}.driver-popover-title[style*=block]+.driver-popover-description{margin-top:5px}.driver-popover-description{margin-bottom:0;font:14px/normal sans-serif;line-height:1.5;font-weight:400;zoom:1}.driver-popover-footer{margin-top:15px;text-align:right;zoom:1;display:flex;align-items:center;justify-content:space-between}.driver-popover-progress-text{font-size:13px;font-weight:400;color:#727272;zoom:1}.driver-popover-footer button{all:unset;display:inline-block;box-sizing:border-box;padding:3px 7px;text-decoration:none;text-shadow:1px 1px 0 #fff;background-color:#fff;color:#2d2d2d;font:12px/normal sans-serif;cursor:pointer;outline:0;zoom:1;line-height:1.3;border:1px solid #ccc;border-radius:3px}.driver-popover-footer .driver-popover-btn-disabled{opacity:.5;pointer-events:none}:not(body):has(>.driver-active-element){overflow:hidden!important}.driver-no-interaction,.driver-no-interaction *{pointer-events:none!important}.driver-popover-footer button:hover,.driver-popover-footer button:focus{background-color:#f7f7f7}.driver-popover-navigation-btns{display:flex;flex-grow:1;justify-content:flex-end}.driver-popover-navigation-btns button+button{margin-left:4px}.driver-popover-arrow{content:"";position:absolute;border:5px solid #fff}.driver-popover-arrow-side-over{display:none}.driver-popover-arrow-side-left{left:100%;border-right-color:transparent;border-bottom-color:transparent;border-top-color:transparent}.driver-popover-arrow-side-right{right:100%;border-left-color:transparent;border-bottom-color:transparent;border-top-color:transparent}.driver-popover-arrow-side-top{top:100%;border-right-color:transparent;border-bottom-color:transparent;border-left-color:transparent}.driver-popover-arrow-side-bottom{bottom:100%;border-left-color:transparent;border-top-color:transparent;border-right-color:transparent}.driver-popover-arrow-side-center{display:none}.driver-popover-arrow-side-left.driver-popover-arrow-align-start,.driver-popover-arrow-side-right.driver-popover-arrow-align-start{top:15px}.driver-popover-arrow-side-top.driver-popover-arrow-align-start,.driver-popover-arrow-side-bottom.driver-popover-arrow-align-start{left:15px}.driver-popover-arrow-align-end.driver-popover-arrow-side-left,.driver-popover-arrow-align-end.driver-popover-arrow-side-right{bottom:15px}.driver-popover-arrow-side-top.driver-popover-arrow-align-end,.driver-popover-arrow-side-bottom.driver-popover-arrow-align-end{right:15px}.driver-popover-arrow-side-left.driver-popover-arrow-align-center,.driver-popover-arrow-side-right.driver-popover-arrow-align-center{top:50%;margin-top:-5px}.driver-popover-arrow-side-top.driver-popover-arrow-align-center,.driver-popover-arrow-side-bottom.driver-popover-arrow-align-center{left:50%;margin-left:-5px}.driver-popover-arrow-none{display:none}.tutorial-page{min-height:100vh;background:#fff;color:#12203a;font-family:DM Sans,Avenir Next,sans-serif}.tutorial-page button,.tutorial-invite button{font:inherit;cursor:pointer}.tutorial-page button:focus-visible,.tutorial-invite button:focus-visible,.tutorial-driver-popover button:focus-visible{outline:3px solid #3052c8;outline-offset:3px}.tutorial-header{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:76px;padding:12px max(24px,calc((100vw - 1240px)/2));background:#fffffff2;border-bottom:1px solid #e8ecf5;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.tutorial-header button,.tutorial-header select,.tutorial-workspace-footer button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:8px 14px;border:1px solid #dce3f2;border-radius:14px;background:#fff;color:#12203a;font-weight:700}.tutorial-brand{display:flex;align-items:center;gap:9px}.tutorial-brand strong{font-family:Nunito,sans-serif;font-size:18px}.tutorial-brand span,.tutorial-practice-banner{padding:5px 11px;border-radius:999px;background:#eaf3ed;color:#267643;font-size:12px;font-weight:800}.tutorial-language select{min-width:92px}.tutorial-catalog,.tutorial-workspace{max-width:1240px;margin:auto;padding:48px 24px 90px}.tutorial-catalog-intro{max-width:680px;margin-bottom:35px}.tutorial-eyebrow{font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:900;color:#3152af}.tutorial-page h1,.tutorial-page h2{font-family:Nunito,sans-serif;letter-spacing:-.025em}.tutorial-page h1{font-size:clamp(32px,4vw,52px);line-height:1.12;margin:10px 0}.tutorial-page h2{font-size:23px;margin:8px 0 18px}.tutorial-page p{color:#5b6b82;line-height:1.55}.tutorial-topic-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:18px}.tutorial-topic{padding:24px;border:1px solid #e4e9f3;border-radius:28px;background:linear-gradient(155deg,#fff,#f8faff);box-shadow:8px 12px 28px #20336012,-4px -4px 16px #fff}.tutorial-lesson-list{display:grid;gap:8px}.tutorial-lesson-list button{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:56px;padding:10px 12px;text-align:left;border:1px solid #e9edf5;border-radius:14px;background:#fff;color:#12203a}.tutorial-lesson-list button:hover{border-color:#7d94df;background:#f6f8ff}.tutorial-lesson-list button>span{display:grid;gap:4px;font-weight:700}.tutorial-status{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:#62718a;font-weight:600}.tutorial-status.complete{color:#247843}.tutorial-status.active{color:#3152af}.tutorial-more-button{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:56px;margin:30px 0 18px;padding:0 20px;border:1px solid #dce3f2;border-radius:17px;background:#fff;color:#12203a;font-weight:800}.tutorial-workspace-heading{margin-bottom:26px}.tutorial-workspace-heading p{margin:0}.tutorial-practice{overflow:hidden;border:1px solid #e2e8f3;border-radius:28px;background:#fff;box-shadow:0 16px 42px #20336017}.tutorial-practice-banner{display:inline-flex;align-items:center;gap:8px;margin:20px 24px 0}.tutorial-practice-dot{width:8px;height:8px;border-radius:50%;background:#2eac59}.tutorial-practice-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:60px;padding:12px 24px;border-bottom:1px solid #e9edf5}.tutorial-practice-toolbar span{font-size:13px;color:#5b6b82}.tutorial-practice-columns{display:grid;grid-template-columns:260px minmax(0,1fr);min-height:420px}.tutorial-practice-navigation{display:grid;align-content:start;gap:8px;padding:20px;background:#f9fbff;border-right:1px solid #e9edf5}.tutorial-practice-nav-item{display:flex;align-items:center;gap:10px;min-height:42px;padding:8px 10px;border-radius:12px;color:#5b6b82;font-size:13px}.tutorial-practice-nav-item.current{background:#eaf0ff;color:#173ca3;font-weight:800}.tutorial-practice-nav-item>span{display:grid;place-items:center;min-width:20px;height:20px;border-radius:50%;background:#e8ebf2}.tutorial-practice-content{padding:30px}.tutorial-practice-content h2{margin:7px 0}.tutorial-practice-action{display:grid;justify-items:start;gap:14px;max-width:520px;margin-top:30px;padding:24px;border:1px solid #dce3f2;border-radius:22px;background:#fcfdff}.tutorial-practice-action label{display:grid;gap:8px;width:100%;font-size:13px;font-weight:800}.tutorial-practice-action input{width:100%;height:46px;padding:10px 13px;border:1px solid #c8d3e8;border-radius:11px;font:inherit}.tutorial-practice-action small{color:#a12727}.tutorial-primary{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;padding:10px 18px;border:0;border-radius:13px;background:linear-gradient(130deg,#2845b0,#3769dc);color:#fff!important;font-weight:800;box-shadow:0 8px 18px #2845b033}.tutorial-practice-placeholder{display:flex;align-items:center;gap:12px;margin-top:30px;padding:28px;border:1px dashed #c8d3e8;border-radius:20px;color:#5b6b82}.tutorial-practice-log{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}.tutorial-practice-log strong{width:100%;font-size:13px}.tutorial-practice-log span{display:inline-flex;align-items:center;gap:5px;padding:6px 9px;border-radius:8px;background:#eaf3ed;color:#287648;font-size:12px}.tutorial-workspace-footer{display:flex;align-items:center;justify-content:flex-end;gap:9px;margin-top:18px}.tutorial-workspace-footer>span{margin-right:auto;color:#5b6b82;font-size:13px}.tutorial-state{display:grid;justify-items:center;gap:18px;margin:80px auto;padding:30px;max-width:560px;text-align:center}.tutorial-invite{position:absolute;right:24px;top:75px;z-index:25;max-width:340px;padding:21px;border:1px solid #dce3f2;border-radius:20px;background:#fff;box-shadow:0 18px 42px #1a2c5430;font-family:DM Sans,sans-serif;color:#12203a}.tutorial-invite strong{font:800 18px Nunito,sans-serif}.tutorial-invite p{font-size:13px;line-height:1.5;color:#5b6b82}.tutorial-invite>div{display:flex;justify-content:flex-end;gap:8px}.tutorial-invite button{min-height:44px;padding:9px 12px;border:1px solid #dce3f2;border-radius:12px;background:#fff;color:#12203a;font-size:13px;font-weight:800}.tutorial-driver-popover{max-width:min(360px,calc(100vw - 28px));border-radius:20px!important;padding:6px!important;box-shadow:0 18px 50px #1428503b!important;font-family:DM Sans,sans-serif!important}.tutorial-driver-popover .driver-popover-title{font:800 19px Nunito,sans-serif;color:#12203a}.tutorial-driver-popover .driver-popover-description{color:#5b6b82;line-height:1.5}.tutorial-driver-popover button{min-height:40px;border-radius:10px!important;text-shadow:none!important}.driver-overlay,.driver-overlay path{pointer-events:none!important}.driver-active .tutorial-header,.driver-active .tutorial-header *,.driver-active .tutorial-workspace-footer,.driver-active .tutorial-workspace-footer *,.driver-active .tutorial-page .teacher-reward-mark-dialog,.driver-active .tutorial-page .teacher-reward-mark-dialog *{pointer-events:auto}.tutorial-practice-action textarea{width:100%;padding:12px;border:1px solid #c8d3e8;border-radius:11px;font:14px JetBrains Mono,monospace;resize:vertical}.tutorial-code-commit{min-height:42px;margin-top:10px;padding:8px 14px;border:1px solid #afc2f6;border-radius:11px;background:#eaf0ff;color:#2446a2;font-weight:800}.tutorial-code-commit:disabled{opacity:.5;cursor:not-allowed}.tutorial-real-page{position:relative;min-height:520px;overflow:auto}.tutorial-real-page .app-shell{min-height:520px}.tutorial-class-panel{position:relative;display:grid;gap:14px;max-width:540px;margin:18px 24px 28px;padding:22px;border:1px solid #dce3f2;border-radius:20px;background:#fff;box-shadow:0 12px 30px #2033601a}.tutorial-class-panel>strong{font:800 20px Nunito,sans-serif}.tutorial-class-panel label{display:grid;gap:7px;font-size:13px;font-weight:800}.tutorial-class-panel input,.tutorial-class-panel select{min-height:44px;padding:8px 12px;border:1px solid #c8d3e8;border-radius:10px;background:#fff;font:inherit}.tutorial-class-field{display:grid;gap:10px}.tutorial-class-field button{justify-self:start;min-height:44px;padding:8px 14px;border:1px solid #dce3f2;border-radius:10px;background:#fff;color:#12203a;font-weight:800}.tutorial-class-panel small{color:#a12727}@media(max-width:700px){.tutorial-header{padding:10px 12px}.tutorial-brand span{display:none}.tutorial-catalog,.tutorial-workspace{padding:28px 12px 80px}.tutorial-practice-columns{grid-template-columns:1fr}.tutorial-practice-navigation{display:flex;overflow:auto;border-right:0;border-bottom:1px solid #e9edf5}.tutorial-practice-nav-item{flex:0 0 180px}.tutorial-practice-content{padding:22px}.tutorial-practice-toolbar span{display:none}.tutorial-invite{position:fixed;inset:auto 16px 18px;max-width:none}.tutorial-workspace-footer{flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){.tutorial-page *,.tutorial-invite *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}.tutorial-invite[popover]{position:fixed;inset:auto;margin:0;width:min(340px,calc(100vw - 32px));max-width:none;box-sizing:border-box;z-index:1000}@media(max-width:700px){.tutorial-invite[popover]{top:auto!important;bottom:max(18px,env(safe-area-inset-bottom))!important;left:16px!important;right:16px!important;width:auto}}.tutorial-tool-practice{min-height:340px;background:#f5f7fc;border-radius:20px;padding:24px;position:relative}.tutorial-tool-bar{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid #dce3ef;border-radius:16px;padding:14px 18px}.tutorial-tool-bar strong{margin-right:auto}.tutorial-tool-bar button,.tutorial-tool-card button{border:1px solid #cdd8eb;border-radius:10px;background:#fff;padding:9px 14px;color:#182543;cursor:pointer}.tutorial-tool-card{max-width:460px;margin:24px auto;background:#fff;border:1px solid #dce3ef;border-radius:20px;padding:28px;box-shadow:0 18px 50px #1c2b4b1c}.tutorial-tool-card strong{font-size:20px}.tutorial-tool-card p{color:#526178}.tutorial-tool-card .tutorial-tool-close{float:right}.tutorial-presenter-practice{min-height:430px;background:#101826;color:#f4f7ff;border-radius:20px;overflow:hidden}.tutorial-presenter-top{display:flex;align-items:center;gap:16px;padding:18px 22px;background:#18243a}.tutorial-presenter-top strong{margin-right:auto}.tutorial-presenter-top div,.tutorial-presenter-actions{display:flex;gap:8px}.tutorial-presenter-top button,.tutorial-presenter-actions button{border:1px solid #596986;border-radius:10px;background:#243553;color:#fff;padding:9px 14px;cursor:pointer}.tutorial-presenter-top button[aria-pressed=true]{background:#3d62bb}.tutorial-presenter-board{padding:30px;min-height:280px}.tutorial-presenter-board h2{font-size:22px}.tutorial-presenter-board pre{background:#0c1320;color:#d7e8ff;padding:18px;border-radius:12px}.tutorial-presenter-solution{color:#a4e9b1}.tutorial-presenter-actions{padding:0 30px 28px}.tutorial-tool-practice .tutorial-presenter-board{background:#101826;color:#fff;border-radius:16px;margin-top:18px}.tutorial-report-practice{background:#f6f8fd;border:1px solid #dce4f3;border-radius:20px;padding:28px;min-height:420px;color:#182543}.tutorial-report-practice header h2{margin:10px 0 2px}.tutorial-report-practice header p{color:#586780}.tutorial-report-practice label{display:flex;align-items:center;gap:12px;margin:24px 0;font-weight:700}.tutorial-report-practice select,.tutorial-report-practice button{background:#fff;border:1px solid #cbd7e9;border-radius:10px;padding:10px 14px;color:#182543;cursor:pointer}.tutorial-report-row{display:flex;gap:15px;align-items:center;flex-wrap:wrap;background:#fff;border:1px solid #dce4f3;border-radius:14px;padding:16px}.tutorial-report-row span{font-weight:800}.tutorial-report-row strong{color:#ab5d19;margin-right:auto}.tutorial-report-detail{background:#fff8e9;border-radius:12px;padding:10px 16px;margin-top:8px}.tutorial-report-practice [data-tutorial-target=print-report]{margin-top:20px}.tutorial-page [data-tutorial-target=save-course]{scroll-margin-top:90px}.tutorial-finish-dialog{width:min(440px,calc(100vw - 32px));max-height:calc(100dvh - 32px);margin:auto;padding:36px 32px 32px;border:1px solid #e3e9f3;border-radius:32px;background:#fff;color:#12203a;text-align:center;box-shadow:0 28px 80px #0f204547;font-family:DM Sans,Avenir Next,sans-serif}.tutorial-finish-dialog::backdrop{background:#101c3499;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.tutorial-finish-icon{display:grid;place-items:center;width:72px;height:72px;margin:0 auto 18px;border-radius:22px;background:#fff8d8;color:#e2ae00}.tutorial-finish-dialog h2{margin:10px 0 6px;font:800 30px/1.15 Nunito,sans-serif;letter-spacing:-.03em}.tutorial-finish-dialog p{margin:0 0 18px;color:#52617b;line-height:1.5}.tutorial-finish-save{display:flex;align-items:center;justify-content:center;gap:7px;min-height:24px;margin-bottom:22px;color:#247843;font-size:13px;font-weight:700}.tutorial-finish-dialog button{cursor:pointer;font:inherit}.tutorial-finish-dialog button:focus-visible{outline:3px solid #3052c8;outline-offset:3px}.tutorial-finish-back{width:100%;min-height:50px}.tutorial-finish-retry{display:inline-flex;align-items:center;gap:7px;min-height:42px;margin:0 auto 16px;padding:8px 12px;border:1px solid #dce3f2;border-radius:12px;background:#fff;color:#12203a;font-weight:700}.tutorial-finish-replay{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:48px;margin-top:10px;border:1px solid #dce3f2;border-radius:14px;background:#fff;color:#2845b0;font-weight:800}.tutorial-finish-replay:hover{background:#f1f5ff}@media(max-width:700px){.tutorial-finish-dialog{padding:28px 22px;border-radius:26px}}.tutorial-page button.tutorial-primary,.tutorial-invite button.tutorial-primary{border-color:transparent;background:linear-gradient(130deg,#2845b0,#3769dc);color:#fff}.tutorial-invite[popover]{position:fixed;inset:auto;width:min(340px,calc(100vw - 32px));max-height:calc(100dvh - 32px);margin:0;overflow:auto;z-index:2147483647}.tutorial-invite-error{color:#a12727!important;font-weight:700}@media(max-width:700px){.tutorial-invite[popover]{top:auto!important;right:16px;bottom:calc(16px + env(safe-area-inset-bottom));left:16px!important;width:auto;max-width:none}}:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#18212f;background:#f6f7fb;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--ink: #18212f;--muted: #607086;--line: #d9dfeb;--panel: #ffffff;--blue: #2563eb;--blue-dark: #1d4ed8;--green: #059669;--amber: #d97706;--red: #dc2626;--code: #101827}.notebook-workbench{display:grid;grid-template-rows:auto minmax(0,1fr);min-height:0;overflow:hidden}.notebook-toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;min-height:52px;padding:8px 12px;border-bottom:1px solid var(--student-border, #d9dfeb);background:#fff}.notebook-kernel{margin-right:auto;color:var(--color-text-muted, #607086);font-size:13px;font-weight:700}.notebook-toolbar button{min-height:36px;display:inline-flex;align-items:center;gap:6px}.notebook-frame{width:100%;height:100%;min-height:560px;border:0;background:#fff}.student-layout.notebook-mode>.notebook-workbench{display:flex;flex-direction:column;height:640px;min-height:0;gap:0}.student-layout.notebook-mode>.notebook-workbench>.notebook-toolbar{flex:0 0 auto}.student-layout.notebook-mode>.notebook-workbench>.notebook-frame{flex:1 1 0;height:0;min-height:0}.student-layout.notebook-mode .notebook-task-navigator{flex:0 0 auto;border-top:1px solid var(--student-border, #d9dfeb);background:#fff}.notebook-author-editor{display:grid;gap:12px}.teacher-notebook-pane{display:grid;gap:16px;align-content:start;min-height:280px;padding:24px;border:1px solid var(--line);border-radius:16px;background:var(--panel)}.teacher-notebook-pane p{margin:0;color:var(--muted);line-height:1.5}.teacher-notebook-pane button{justify-self:start}.lesson-viewer{width:100%;height:100%;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;border:1px solid var(--student-border, #d9dfeb);border-radius:14px;background:var(--color-surface, #fff)}.lesson-viewer-header,.lesson-viewer-footer{min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px}.lesson-viewer-header{border-bottom:1px solid var(--student-border, #d9dfeb)}.lesson-viewer-title{min-width:0;display:flex;align-items:center;gap:10px}.lesson-viewer-title>span:last-child{min-width:0;display:grid;gap:2px}.lesson-viewer-header small{overflow:hidden;color:var(--color-text-muted, #607086);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.lesson-viewer-icon{width:34px;height:34px;display:grid;flex:0 0 auto;place-items:center;border-radius:9px;background:var(--color-primary-soft, #eef0fb);color:var(--color-primary, #263891)}.lesson-viewer-header-actions{display:flex;flex:0 0 auto;align-items:center;gap:8px}.lesson-page-count{flex:0 0 auto;padding:6px 10px;border-radius:999px;background:#f1f4f8;color:var(--color-text-muted, #607086);font-size:12px;font-weight:800}.lesson-fullscreen-button{min-height:36px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:7px 11px;border:1px solid var(--student-border, #d9dfeb);border-radius:9px;background:var(--color-surface, #fff);color:var(--color-primary, #263891);font:inherit;font-size:13px;font-weight:800;cursor:pointer}.lesson-fullscreen-button:hover:not(:disabled){border-color:var(--color-primary, #263891);background:var(--color-primary-soft, #eef0fb)}.lesson-fullscreen-button:focus-visible{outline:3px solid rgb(37 99 235 / 28%);outline-offset:2px}.lesson-fullscreen-button:disabled{opacity:.45;cursor:not-allowed}.lesson-fullscreen-error{margin:0;padding:8px 14px;border-bottom:1px solid #fecaca;background:#fff1f2;color:#b42318;font-size:13px;font-weight:700}.lesson-frame-shell{min-width:0;min-height:0;padding:12px;background:#edf1f7}.lesson-frame-shell iframe{width:100%;height:100%;min-height:420px;display:block;border:0;border-radius:8px;background:#fff}.lesson-frame-empty{width:100%;height:100%;min-height:420px;display:grid;place-content:center;justify-items:center;gap:8px;color:var(--color-text-muted, #607086);text-align:center}.lesson-frame-empty p{max-width:420px;margin:0}.lesson-viewer-footer{border-top:1px solid var(--student-border, #d9dfeb)}.lesson-page-navigation{display:flex;gap:8px}.lesson-page-navigation button,.lesson-viewer-footer>button{display:inline-flex;align-items:center;gap:7px}.lesson-viewer:fullscreen{width:100vw;height:100vh;border:0;border-radius:0;background:var(--color-surface, #fff)}.lesson-viewer:fullscreen .lesson-frame-shell iframe,.lesson-viewer:fullscreen .lesson-frame-empty{min-height:0}@media(max-width:620px){.lesson-viewer-footer{align-items:stretch;flex-direction:column}.lesson-page-navigation{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.lesson-frame-shell{padding:6px}.lesson-fullscreen-button{width:38px;padding-inline:0}.lesson-fullscreen-button span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}}.student-pin-join{width:fit-content;margin-top:8px;display:grid;gap:8px}.student-pin-join>button,.student-pin-join form,.class-pin-control{display:flex;align-items:center;gap:8px}.student-pin-join form{flex-wrap:wrap;padding:10px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 8px 22px #0f172a12}.student-pin-join input{width:132px;min-height:42px;text-align:center;font-size:18px;font-weight:850;letter-spacing:.18em;font-variant-numeric:tabular-nums}.student-pin-join form>small{flex-basis:100%;color:var(--color-danger, #b42318)}.teacher-layout .class-pin-control{min-height:58px;padding:7px 9px 7px 12px;border:1px solid #cfd7ef;border-radius:12px;background:#fff}.class-pin-control>span{display:grid;gap:1px;margin-right:4px}.class-pin-control small{color:var(--muted);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.class-pin-control strong{font-size:18px;font-variant-numeric:tabular-nums;letter-spacing:.12em}.teacher-management .add-student.account-search-picker,.account-search-picker{position:relative;width:100%;display:grid;grid-template-columns:minmax(0,1fr);gap:7px}.account-search-picker label,.account-search-picker input{width:100%}.account-search-results{position:absolute;z-index:30;top:calc(100% + 3px);left:0;right:0;max-height:260px;padding:5px;display:grid;gap:3px;overflow-y:auto;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 18px 38px #0f172a24}.teacher-management .account-search-results button,.account-search-results button{width:100%;min-height:52px;padding:8px 10px;display:flex;justify-content:space-between;text-align:left;border-color:transparent;background:transparent}.account-search-results button:hover,.account-search-results button:focus-visible{border-color:#c5cff5;background:#f3f5ff}.account-search-results button>span{min-width:0;display:grid;gap:2px}.account-search-results strong,.account-search-results small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-search-results small{color:var(--muted)}@media(max-width:600px){.student-pin-join,.student-pin-join>button,.student-pin-join form{width:100%}.student-pin-join form>label,.student-pin-join input,.student-pin-join form>button{width:100%}.teacher-layout .class-pin-control{align-items:stretch;flex-wrap:wrap}.class-pin-control>span{flex:1 0 100%}}input[type=search]:focus,input[type=search]:focus-visible{border-color:var(--color-primary, #3146aa);outline:none;outline-offset:0}@media(forced-colors:active){input[type=search]:focus-visible{outline:2px solid CanvasText;outline-offset:2px}}.course-content-bootstrap{width:min(100% - 32px,560px);min-height:100dvh;margin:0 auto;display:grid;place-content:center;justify-items:center;gap:12px;color:var(--ink);text-align:center}.course-content-bootstrap h1,.course-content-bootstrap p{margin:0}.course-content-bootstrap p{max-width:460px;color:var(--muted);line-height:1.55}.course-content-bootstrap>button{min-height:44px;margin-top:4px;display:inline-flex;align-items:center;gap:8px}.auth-page,.session-setup-page,.playground-page{width:min(1180px,calc(100% - 32px));margin:0 auto;padding:clamp(32px,6vw,72px) 0}.auth-page{display:grid;place-items:center;min-height:calc(100dvh - 76px)}.auth-card,.session-setup-card{width:min(100%,620px);display:grid;gap:18px;padding:clamp(24px,4vw,42px);border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:var(--shadow-2)}.auth-card>button,.session-setup-card>button{width:100%}.clerk-auth-controls,.pin-fallback-note{padding:15px;border:1px solid #cbd5e1;border-radius:10px;background:#f8fafc}.pin-fallback-note{display:flex;align-items:flex-start;gap:10px;color:var(--muted)}.clerk-signed-out{display:grid;grid-template-columns:1fr;gap:10px}.clerk-signed-out button{width:100%}.clerk-signed-in{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px}.clerk-signed-in-icon{display:grid;width:40px;height:40px;place-items:center;border-radius:50%;background:#dcfce7;color:var(--green)}.clerk-signed-in>span:nth-child(2),.clerk-role-mismatch>span,.clerk-role-setup>span{display:grid;gap:2px}.clerk-signed-in small,.clerk-role-mismatch small,.clerk-role-setup small{color:var(--muted)}.clerk-role-mismatch,.clerk-role-setup{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px 12px}.clerk-role-mismatch{color:#9a3412}.clerk-role-mismatch>button,.clerk-role-setup>button,.clerk-role-error{grid-column:1 / -1}.clerk-role-mismatch>button,.clerk-role-setup>button{width:100%}.clerk-role-error{color:var(--red)!important}.demo-auth-warning{color:#9a3412;line-height:1.45}.student-session-page{width:min(1440px,calc(100% - 48px));margin:0 auto;padding:clamp(36px,7vw,76px) 0}.student-sessions-glass{min-height:100dvh;background:#fff}.student-sessions-glass .student-sessions-topbar{position:relative;overflow:visible;min-height:76px;margin:12px;padding:10px 18px 16px;border:1px solid rgb(18 32 58 / .08);border-radius:28px;background:#fffc;box-shadow:0 8px 28px #12203a0f,inset 0 1px #ffffffe6;backdrop-filter:blur(22px) saturate(165%);-webkit-backdrop-filter:blur(22px) saturate(165%)}.student-sessions-glass .student-sessions-topbar:after{content:"";position:absolute;right:0;bottom:0;left:0;height:6px;background:linear-gradient(90deg,#fdd209 0 34%,#28b350 34% 67%,#263891 67% 100%)}.student-sessions-glass .student-sessions-topbar .brand-mark{width:44px;height:44px;border-radius:16px;background:#fff}.student-sessions-glass .student-sessions-topbar .brand-academy,.student-sessions-glass .student-session-heading h1,.student-sessions-glass .session-grid-card strong,.student-sessions-glass .session-grid-column-heading h2{color:#12203a;font-family:Nunito,ui-rounded,Trebuchet MS,sans-serif;font-weight:800}.student-sessions-glass .student-sessions-topbar .brand-lab,.student-sessions-glass .student-session-page,.student-sessions-glass .student-session-page input,.student-sessions-glass .student-session-page select,.student-sessions-glass .student-session-page button{font-family:Avenir Next,Avenir,DM Sans,Inter,ui-sans-serif,system-ui,sans-serif}.student-sessions-glass .student-session-page{width:calc(100% - 48px);padding:clamp(34px,5vw,64px) 0 72px}.student-sessions-glass .student-session-heading{gap:12px;max-width:720px;margin-bottom:32px}.student-sessions-glass .student-session-heading .eyebrow{color:#263891;font-size:12px;font-weight:800;letter-spacing:.14em}.student-sessions-glass .student-session-heading h1{font-size:clamp(2rem,4vw,3rem);letter-spacing:-.03em}.student-sessions-glass .student-session-heading p{max-width:60ch;color:#5b6b82;font-size:16px;line-height:1.55}.student-sessions-glass .student-pin-join>button,.student-sessions-glass .role-home-actions>button{min-height:44px;border-color:#c9d5f3;border-radius:16px;background:#fff;color:#263891;font-weight:700}.student-sessions-glass .session-view-filters{padding:4px;border-color:#12203a14;border-radius:16px;background:#f1f4fb}.student-sessions-glass .session-view-filters button{min-height:44px;border-radius:12px}.student-sessions-glass .session-view-filters button.active{border-color:transparent;background:#fff;color:#263891}.student-sessions-glass .session-search-toolbar{margin-bottom:32px}.student-sessions-glass .session-search-field,.student-sessions-glass .session-sort-field{min-height:48px;border-color:#dbe3f1;border-radius:16px;box-shadow:none}.student-sessions-glass .session-grid-column-heading{padding-bottom:14px;border-bottom-color:#12203a1a}.student-sessions-glass .session-card-grid{gap:18px}.student-sessions-glass .session-grid-card{border-color:#12203a14;border-radius:24px;box-shadow:0 8px 28px #12203a0d}.student-sessions-glass .session-grid-card:hover{border-color:#b8c6ef;box-shadow:0 14px 32px #2638911f}.student-sessions-glass .student-session-grid-card>button{min-height:220px;padding:20px}.student-sessions-glass .student-session-icon{border-radius:16px;background:linear-gradient(135deg,#26389124,#28b35029);color:#263891}.student-sessions-glass .session-status-chip.open{background:#ecfdf3;color:#16803d}.student-sessions-glass .session-type-badge.class{background:#eef2ff;color:#263891}.student-sessions-glass .session-type-badge.assessment{background:#effcf3;color:#16803d}.student-sessions-glass .session-card-action{color:#263891;font-weight:800}@media(max-width:700px){.student-sessions-glass .student-sessions-topbar{margin:8px;padding-inline:14px}.student-sessions-glass .student-session-page{width:calc(100% - 32px);padding-top:32px}}.student-session-account{display:flex;align-items:center;gap:12px;color:var(--muted);font-weight:700}.account-profile-menu{position:relative;color:var(--text)}.account-profile-menu summary{min-height:42px;padding:8px 11px;display:flex;align-items:center;gap:8px;border:1px solid var(--border);border-radius:10px;background:var(--surface);cursor:pointer;list-style:none;white-space:nowrap}.account-profile-menu summary::-webkit-details-marker{display:none}.account-profile-menu summary:hover,.account-profile-menu[open] summary{border-color:var(--blue);color:var(--blue)}.account-profile-menu[open] .account-profile-chevron{transform:rotate(180deg)}.account-profile-chevron{transition:transform .15s ease}.account-profile-popover{position:absolute;z-index:80;top:calc(100% + 8px);right:0;width:min(260px,calc(100vw - 32px));padding:10px;display:grid;gap:8px;border:1px solid var(--border);border-radius:12px;background:var(--surface, #fff);box-shadow:0 18px 44px #0f172a29}.account-profile-identity{min-width:0;padding:6px 8px 10px;display:grid;gap:3px;border-bottom:1px solid var(--border)}.account-profile-identity small{color:var(--muted);font-weight:600}.account-profile-identity strong{overflow:hidden;text-overflow:ellipsis}.account-profile-popover button{width:100%;justify-content:flex-start}.student-session-heading{display:grid;gap:8px;margin-bottom:26px}.student-session-heading h1,.student-session-heading p,.student-session-state p{margin:0}.student-session-heading h1{font-size:clamp(2rem,5vw,3.25rem)}.student-session-heading p,.student-session-state p{color:var(--muted)}.student-session-list{display:grid;gap:14px}.teacher-session-page{width:min(1520px,calc(100% - 48px))}.teacher-session-heading{grid-template-columns:minmax(0,1fr) auto;align-items:end}.teacher-session-heading>div{display:grid;gap:8px}.teacher-create-session{width:max-content}.teacher-session-list{display:grid;gap:14px}.session-search-toolbar{display:grid;grid-template-columns:minmax(280px,1fr) auto auto;align-items:center;gap:12px;margin:0 0 28px}.session-view-filter-row{display:flex;align-items:center;margin:0 0 16px}.session-view-filters{display:inline-grid;grid-auto-flow:column;grid-auto-columns:minmax(150px,max-content);gap:5px;padding:5px;border:1px solid var(--line);border-radius:14px;background:#e9edf7;box-shadow:inset 0 1px #ffffffb3}.session-view-filters button{min-height:46px;display:inline-flex;align-items:center;justify-content:space-between;gap:14px;padding:8px 14px;border-color:transparent;background:transparent;color:#526078;font-weight:800;transition:color .16s ease,background-color .16s ease,box-shadow .16s ease}.session-view-filters button small{min-width:26px;min-height:24px;display:inline-grid;place-items:center;padding:0 7px;border-radius:999px;background:#dbe3f5;color:#3046a5;font-size:.75rem;font-variant-numeric:tabular-nums}.session-view-filters button.active{border-color:#c8d2eb;background:#fff;color:#243b96;box-shadow:var(--shadow-1)}.session-view-filters button.active small{background:#e8edff;color:#243b96}.session-view-filters button:focus-visible,.session-type-filters button:focus-visible{outline:3px solid rgb(48 70 165 / 24%);outline-offset:2px}.session-search-field,.session-sort-field{min-width:0;min-height:52px;display:flex;align-items:center;gap:10px;padding:0 14px;border:1px solid var(--line);border-radius:12px;background:#fff;color:#64748b;box-shadow:var(--shadow-1)}.session-search-field:focus-within,.session-sort-field:focus-within{border-color:#8197ec;box-shadow:0 0 0 3px #3e56b81f}.session-search-field input,.session-sort-field select{width:100%;min-width:0;padding:0;border:0;outline:0;background:transparent;box-shadow:none}.session-search-field input:focus,.session-search-field input:focus-visible,.session-sort-field select:focus,.session-sort-field select:focus-visible{border:0;outline:0;box-shadow:none}.session-sort-field{min-width:184px}.session-type-filters{display:flex;align-items:center;gap:5px;min-height:48px;padding:5px;border:1px solid var(--line);border-radius:12px;background:#eef2f8}.session-type-filters button{min-height:44px;padding:6px 13px;border-color:transparent;background:transparent;color:#64748b}.session-type-filters button.active{border-color:#cbd5e1;background:#fff;color:#203b9b;box-shadow:var(--shadow-1)}.session-results-section{display:grid;gap:18px;min-width:0}.session-grid-column-heading{padding-bottom:12px;border-bottom:1px solid var(--line)}.session-grid-column-heading>div{display:flex;align-items:center;justify-content:space-between;gap:16px}.session-grid-column-heading h2{margin:0;color:var(--navy);font-size:1.28rem}.session-grid-column-heading span{color:var(--muted);font-size:.82rem;font-weight:700}.session-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:16px}.session-grid-card{min-width:0;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:var(--shadow-1);overflow:hidden;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.session-grid-card:hover{border-color:#9cace4;box-shadow:0 13px 30px #24356d1a;transform:translateY(-2px)}.session-grid-card:focus-within{border-color:#6f86dd;box-shadow:0 0 0 3px #3046a529,0 13px 30px #24356d1a}.session-grid-card button{text-align:left}.student-session-grid-card>button,.teacher-session-grid-open{width:100%;min-height:100%;display:grid;grid-template-columns:minmax(0,1fr);justify-content:stretch;justify-items:stretch;gap:16px;padding:20px;border:0;border-radius:0;background:transparent;text-align:left}.student-session-grid-card>button:disabled{cursor:default;opacity:.72}.student-session-grid-card[aria-busy=true]>button{opacity:1;cursor:progress}.student-session-open-error{margin:0;padding:0 20px 16px;color:#b42318;font-size:.875rem}.student-editor-overflow-host{position:fixed;inset:0;z-index:1000;pointer-events:none;background:transparent!important}.student-editor-overflow-host .overflowingContentWidgets,.student-editor-overflow-host .overflowingOverlayWidgets{pointer-events:auto}.monaco-editor .suggest-widget.message{visibility:hidden!important;pointer-events:none}.student-session-grid-card>button:active:not(:disabled),.teacher-session-grid-open:active{background:#f4f6fd}.teacher-session-grid-open:disabled{cursor:progress;opacity:.76}.teacher-session-grid-open[aria-busy=true]{opacity:1}.teacher-session-grid-open[aria-busy=true] .session-card-action{color:#263891}.session-grid-card-topline{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.session-status-chip{display:inline-flex;align-items:center;min-height:26px;padding:4px 9px;border-radius:999px;background:#eef1f5;color:#5d6470;font-size:.7rem;font-weight:800;line-height:1;text-transform:capitalize}.session-status-chip.open{background:#dcfce7;color:#137333}.session-grid-card-copy{min-width:0;display:grid;gap:7px}.session-grid-card-copy>span:first-child{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.session-grid-card-copy strong{color:var(--navy);font-size:1.06rem;line-height:1.35;overflow-wrap:anywhere}.session-grid-card-copy small{color:var(--muted);font-weight:600;line-height:1.45}.session-grid-card-copy .session-type-badge{margin-left:0}.student-session-progress{display:grid;gap:8px;align-self:end}.student-session-progress-track{height:7px;width:100%;max-width:240px;border-radius:999px;background:#e7ebf3;overflow:hidden}.student-session-progress-track>span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#3049ab,#5b75dc)}.student-session-progress small{color:var(--muted)}.student-session-complete{display:flex;align-items:center;gap:7px;color:#16733e;font-size:.86rem;font-weight:800}.session-card-action{display:inline-flex;align-items:center;justify-content:space-between;gap:8px;margin-top:2px;color:#263e9d;font-weight:800}.session-column-empty{min-height:150px;display:grid;place-items:center;align-content:center;gap:9px;padding:24px;border:1px dashed #bdc8dc;border-radius:16px;background:#ffffff8c;color:var(--muted);text-align:center}.teacher-session-grid-card{display:grid}.teacher-session-grid-card.editing{grid-column:1 / -1;padding:18px;border-color:#93a8ff}.teacher-session-grid-open{gap:13px}.student-session-grid-card .session-grid-card-topline,.teacher-session-grid-open .session-grid-card-topline,.student-session-grid-card .session-card-action,.teacher-session-grid-open .session-card-action{justify-content:flex-start}.teacher-session-grid-meta{display:grid;gap:4px;color:#53627a;font-size:.79rem;font-weight:700}.teacher-session-participants{min-height:46px;display:flex;align-items:center;flex-wrap:wrap;gap:7px}.session-participant{max-width:100%;display:inline-flex;align-items:center;gap:6px;color:#475569;font-size:.75rem;font-weight:700}.session-participant>span:last-child{max-width:105px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.playground-display-controls{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-right:4px}.playground-font-control,.playground-theme-trigger{display:inline-flex;align-items:center;gap:4px;padding:3px;border:1px solid var(--pg-control-border, rgba(148, 163, 184, .28));border-radius:999px;background:var(--pg-control-bg, rgba(15, 23, 42, .35))}.playground-font-control button,.playground-theme-trigger{min-height:30px;min-width:34px;padding:0 10px;border:0;border-radius:999px;background:transparent;color:var(--pg-toolbar-fg, #dbe7ff);font-size:12px;font-weight:800}.playground-font-control button,.playground-theme-trigger{display:inline-flex;align-items:center;justify-content:center;gap:4px}.playground-font-control button:hover:not(:disabled),.playground-theme-trigger:hover:not(:disabled){background:var(--pg-active-bg, rgba(96, 165, 250, .22));color:var(--pg-active-fg, #ffffff)}.playground-font-control button:disabled{opacity:.35;cursor:not-allowed}.playground-font-value{min-width:42px;padding:0 4px;color:var(--pg-toolbar-fg, #e2e8f0);font-size:12px;font-weight:800;text-align:center;font-variant-numeric:tabular-nums}.playground-font-control button.is-active,.playground-theme-trigger.is-active,.playground-theme-preset-grid button.is-active{background:var(--pg-active-bg, rgba(96, 165, 250, .28));color:var(--pg-active-fg, #ffffff)}.playground-theme-picker{position:relative}.playground-theme-swatch{width:14px;height:14px;border-radius:999px;border:1px solid rgba(255,255,255,.35);box-shadow:inset 0 0 0 1px #0f172a33}.playground-theme-menu{position:absolute;top:calc(100% + 8px);right:0;z-index:40;width:min(320px,78vw);padding:12px;border:1px solid var(--pg-control-border, #334155);border-radius:16px;background:var(--pg-toolbar-bg, #111827);color:var(--pg-toolbar-fg, #e2e8f0);box-shadow:0 18px 40px #0f172a47}.playground-theme-menu-title{margin:0 0 8px;color:var(--pg-control-muted, #94a3b8);font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.playground-theme-preset-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:12px}.playground-theme-preset-grid button,.playground-theme-apply{min-height:34px;display:inline-flex;align-items:center;gap:8px;justify-content:flex-start;padding:0 10px;border:1px solid var(--pg-button-border, #334155);border-radius:10px;background:var(--pg-button-bg, #1e293b);color:var(--pg-button-fg, #e2e8f0);font-size:12px;font-weight:700}.playground-theme-preset-grid button:hover:not(:disabled),.playground-theme-apply:hover:not(:disabled){border-color:var(--pg-button-border, #8293ad);background:var(--pg-active-bg, #2a3951);color:var(--pg-active-fg, #eef4ff)}.playground-theme-custom-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:10px}.playground-theme-color-field{display:grid;gap:4px;font-size:11px;font-weight:700;color:var(--pg-control-muted, #94a3b8)}.playground-theme-color-field input[type=color]{width:100%;height:34px;padding:0;border:1px solid var(--pg-button-border, #334155);border-radius:8px;background:transparent}.playground-theme-apply{width:100%;justify-content:center}.playground-page-draw{position:contents}.playground-page-draw-canvas{position:fixed;inset:0;z-index:60;width:100vw;height:100dvh;pointer-events:none;touch-action:none}.playground-page-draw-canvas.is-drawing{pointer-events:auto;cursor:crosshair}.playground-page-draw-canvas.is-sticker{cursor:copy}.playground-draw-fab{position:fixed;right:max(16px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));z-index:80;width:56px;height:56px;display:inline-flex;align-items:center;justify-content:center;border:2px solid #22c55e;border-radius:999px;background:#0f172a;color:#22c55e;box-shadow:0 10px 30px #0f172a59}.playground-draw-fab.is-open,.playground-draw-fab:hover{background:#14532d;color:#bbf7d0}.playground-draw-dock{position:fixed;right:max(16px,env(safe-area-inset-right));bottom:calc(82px + env(safe-area-inset-bottom));z-index:75;display:flex;align-items:flex-end;gap:10px}.playground-draw-rail,.playground-sticker-rail{display:flex;flex-direction:column;gap:4px;padding:8px;border:1px solid rgba(148,163,184,.28);border-radius:18px;background:#0f172af0;box-shadow:0 16px 40px #0f172a59;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.playground-draw-rail button,.playground-sticker-rail button{width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:12px;background:transparent;color:#e2e8f0}.playground-draw-rail button:hover,.playground-sticker-rail button:hover,.playground-draw-rail button.is-active,.playground-sticker-rail button.is-active{background:#3b82f647;color:#fff}.playground-draw-rail button:disabled{opacity:.35;cursor:not-allowed}.playground-draw-rail-color{width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center}.playground-draw-rail-color input[type=color]{width:24px;height:24px;padding:0;border:0;border-radius:999px;background:transparent;cursor:pointer}.playground-shell .editor-toolbar{border-bottom-color:var(--pg-toolbar-border, #263246);background:var(--pg-toolbar-bg, #141e2d);color:var(--pg-toolbar-fg, #dbe7ff)}.playground-shell .toolbar-actions>button{color:var(--pg-button-fg, #dbe7ff);border-color:var(--pg-button-border, #40506a);background:var(--pg-button-bg, #182338)}.playground-shell .toolbar-actions>button.primary{color:#fff;border-color:var(--color-primary);background:var(--color-primary)}.playground-shell .toolbar-actions>button:hover:not(:disabled){color:var(--pg-button-fg, #dbe7ff);border-color:var(--pg-button-border, #8293ad);background:var(--pg-active-bg, #2a3951)}.playground-shell .toolbar-actions>button.primary:hover:not(:disabled){color:#fff;border-color:var(--color-primary-hover, #1d4ed8);background:var(--color-primary-hover, #1d4ed8)}.playground-shell .playground-columns>.terminal-panel{border-left-color:var(--pg-toolbar-border, #27364d);background:var(--pg-panel-bg, #0b1220);color:var(--pg-panel-fg, #e5edf8)}.playground-shell .terminal-toolbar{border-bottom-color:var(--pg-toolbar-border, #263246);background:var(--pg-toolbar-bg, #101827);color:var(--pg-toolbar-fg, #e5edf8)}.playground-shell .terminal-toolbar button{border-color:var(--pg-button-border, #40506a);background:var(--pg-button-bg, #182338);color:var(--pg-button-fg, #dbe7ff)}.playground-shell .terminal-toolbar button:hover:not(:disabled){border-color:var(--pg-button-border, #8293ad);background:var(--pg-active-bg, #2a3951);color:var(--pg-active-fg, #eef4ff)}.playground-shell .terminal-host,.playground-shell .code-editor-wrap{background:var(--pg-panel-bg, #0b1220)}@media(max-width:820px){.playground-shell .playground-columns>.terminal-panel{border-top-color:var(--pg-toolbar-border, #27364d)}.playground-theme-menu{right:auto;left:0;width:min(100vw - 24px,340px)}}@media(max-width:820px){.playground-heading,.playground-shell .topbar{flex-direction:row;align-items:center;flex-wrap:wrap;gap:10px}.playground-shell{height:100dvh;min-height:100dvh;overflow:hidden}.playground-page{width:calc(100% - 16px);padding-block:8px}.playground-workspace .editor-panel{min-height:0}.playground-shell .editor-toolbar{flex-direction:column;align-items:stretch;gap:8px;min-height:0;padding:8px}.playground-shell .editor-toolbar>span:first-child{display:none}.playground-shell .toolbar-actions{width:100%;justify-content:flex-start;gap:6px}.playground-display-controls{width:100%;margin-right:0;gap:6px}.playground-font-control,.playground-theme-trigger,.playground-shell .toolbar-actions>button{min-height:40px}.playground-font-control button{min-width:40px;min-height:40px}.playground-shell .toolbar-actions>button{flex:1 1 auto;min-width:44px;padding-inline:10px}.playground-columns{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1.35fr) minmax(180px,.65fr)}.playground-columns>.terminal-panel{border-top:1px solid var(--pg-toolbar-border, #27364d);border-left:0;min-height:160px}.playground-theme-picker{flex:1 1 auto}.playground-theme-trigger{width:100%;justify-content:center}}@media(max-width:560px){.playground-page{width:calc(100% - 12px);padding-block:6px}.playground-shell>.topbar{padding-inline:10px}.playground-shell .brand-divider,.playground-shell .brand-lab,.playground-action-label,.playground-theme-label{display:none}.playground-theme-trigger{min-width:44px;width:auto;padding-inline:8px;gap:6px}.playground-font-value{min-width:36px}.playground-display-controls{display:flex;flex-wrap:wrap;align-items:center}.playground-columns{grid-template-rows:minmax(0,1.2fr) minmax(150px,.8fr)}.playground-draw-fab{width:52px;height:52px;right:12px;bottom:12px}.playground-draw-dock{right:12px;bottom:72px}.terminal-toolbar span:first-child{display:none}}@media(min-width:821px){.playground-columns{grid-template-columns:minmax(0,1.65fr) minmax(320px,.75fr);grid-template-rows:minmax(0,1fr)}.playground-columns>.terminal-panel{border-top:0;border-left:1px solid var(--pg-toolbar-border, #27364d)}}.session-participant-avatar{width:27px;height:27px;display:grid;flex:0 0 auto;place-items:center;border-radius:999px;background:#e5eafd;color:#2942a1;font-size:.7rem;font-weight:900}.teacher-session-participants small{color:var(--muted);font-weight:700}.teacher-session-grid-actions{display:flex;justify-content:flex-start;gap:7px;padding:10px 20px;border-top:1px solid var(--line);background:#fbfcff}.teacher-session-grid-actions button{min-height:36px;display:inline-flex;align-items:center;gap:6px;padding:6px 10px}.teacher-session-grid-actions .danger{border-color:#fecaca;background:#fff7f7;color:#b91c1c}@media(max-width:960px){.session-search-toolbar{grid-template-columns:minmax(0,1fr) auto}.session-type-filters{grid-column:1 / -1;justify-self:start}}.teacher-session-filters{display:inline-flex;align-items:center;gap:6px;width:max-content;padding:5px;border:1px solid var(--line);border-radius:12px;background:#e9edf7}.teacher-session-filters button{display:inline-flex;align-items:center;gap:9px;min-height:42px;padding:8px 14px;border-color:transparent;background:transparent;color:#475569}.teacher-session-filters button.active{border-color:#ccd5ea;background:#fff;color:var(--navy);box-shadow:var(--shadow-1)}.teacher-session-filters button span{display:grid;place-items:center;min-width:24px;min-height:24px;padding:0 6px;border-radius:999px;background:#dce4f7;color:#3046a5;font-size:.78rem;font-weight:800}.teacher-session-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:var(--shadow-1);overflow:hidden}.teacher-session-card.read-only{grid-template-columns:minmax(0,1fr)}.teacher-session-card.editing{display:block;padding:20px;border-color:#93a8ff}.teacher-session-open{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;width:100%;min-width:0;padding:20px;text-align:left;border:0;border-radius:0;background:transparent}.teacher-session-open:hover{background:#f8faff}.teacher-session-open>span:nth-child(2){display:grid;gap:5px;min-width:0}.teacher-session-open strong,.teacher-session-open small{overflow-wrap:anywhere}.teacher-session-open small{color:var(--muted)}.teacher-session-open .teacher-session-creator{color:#475569;font-weight:600}.teacher-session-card-actions{display:flex;align-items:center;gap:8px;padding:14px;border-left:1px solid var(--line);background:#fbfcff}.teacher-session-card-actions button,.teacher-session-edit-actions button{display:inline-flex;align-items:center;justify-content:center;gap:7px}@media(orientation:portrait),(max-width:820px){.teacher-workspace,.teacher-target-controls,.class-pacing-bar{grid-template-columns:1fr}.teacher-management,.teacher-progress-pane{position:static;max-height:none}.playground-heading{flex-direction:column;align-items:stretch}.teacher-workspace .editor-panel{min-height:640px}}.teacher-session-card-actions .danger{color:#b91c1c;border-color:#fecaca;background:#fff7f7}.teacher-session-card-actions .danger:hover{background:#fee2e2}.teacher-session-edit-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.7fr) auto;align-items:end;gap:14px}.teacher-session-edit-form label{display:grid;gap:7px;color:var(--muted);font-weight:700}.teacher-session-edit-lock{grid-column:1 / -1;margin:-4px 0 0;color:#8a4b08;font-weight:700}.teacher-session-edit-actions{display:flex;gap:8px}.student-session-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;width:100%;padding:20px;text-align:left;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:var(--shadow-1)}.student-session-card:hover{border-color:#93a8ff;transform:translateY(-1px)}.student-session-card>span:nth-child(2){display:grid;gap:5px}.student-session-card small{color:var(--muted)}.student-session-icon,.student-session-state>svg{color:#28429d}.student-session-icon{display:grid;width:46px;height:46px;place-items:center;border-radius:12px;background:#eef2ff}.student-session-state{display:grid;justify-items:center;gap:10px;padding:50px 24px;text-align:center;border:1px dashed #b8c3d8;border-radius:16px;background:#fff}.student-session-state.error{border-color:#fecaca;background:#fff7f7;color:var(--red)}@media(max-width:720px){.student-session-page,.teacher-session-page{width:min(100% - 28px,100%);padding-top:28px}.teacher-session-heading,.teacher-session-edit-form{grid-template-columns:1fr;align-items:stretch}.teacher-create-actions{align-items:stretch;flex-direction:column}.teacher-create-actions>button,.teacher-create-actions .school-selector{width:100%}.teacher-create-session{width:100%}.session-search-toolbar{grid-template-columns:1fr}.session-view-filter-row,.session-view-filters{width:100%}.session-view-filters{grid-auto-columns:minmax(0,1fr)}.session-sort-field,.session-type-filters{width:100%}.session-type-filters{grid-column:auto}.session-type-filters button{flex:1}.session-card-grid{grid-template-columns:1fr}.teacher-session-filters{display:grid;grid-template-columns:1fr 1fr;width:100%}.teacher-session-card{grid-template-columns:1fr}.teacher-session-card-actions{justify-content:flex-end;border-top:1px solid var(--line);border-left:0}.teacher-session-edit-actions{justify-content:flex-end}}.session-type-badge{display:inline-flex;align-items:center;width:fit-content;margin-left:8px;padding:3px 8px;border-radius:999px;font-size:.7rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#17427a;background:#e9f3ff}.session-type-badge.exam,.session-type-badge.assessment,.session-type-badge.open{color:#6c3a00;background:#fff0ca}.session-type-badge.closed{color:#5d6470;background:#eceff3}.teacher-create-actions,.exam-form-actions,.teacher-exam-actions,.exam-invite-form,.admin-panel form,.admin-row,.admin-school-list,.exam-monitor-card header{display:flex;align-items:center;gap:12px}.exam-form-page,.teacher-exam-page,.admin-page{width:min(1180px,calc(100% - 32px));margin:0 auto;padding:32px 0 56px}.exam-form-card,.teacher-exam-actions,.exam-invite-form,.exam-monitor-card,.competency-section,.admin-panel{padding:24px;border:1px solid var(--border);border-radius:18px;background:var(--surface);box-shadow:var(--shadow-sm)}.exam-form-card{max-width:900px;margin:0 auto}.exam-form-card>label,.exam-form-row label,.exam-invite-form label,.admin-panel form{display:grid;gap:7px}.exam-form-card input,.exam-form-card select,.exam-invite-form input,.admin-panel input,.admin-panel select{min-height:44px;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text)}.exam-form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.exam-form-card fieldset{margin:20px 0;padding:18px;border:1px solid var(--border);border-radius:14px}.exam-topic-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.exam-topic-option{display:flex;gap:10px;align-items:flex-start;padding:12px;border:1px solid var(--border);border-radius:10px}.exam-topic-option span,.admin-row span,.admin-school-list button,.exam-monitor-card header div{display:grid;gap:3px}.exam-form-actions{justify-content:flex-end}.exam-form-shell{min-height:100dvh;background:radial-gradient(circle at 12% 0%,rgba(38,86,191,.08),transparent 30%),#f6f8fc}.exam-form-shell .role-topbar{position:sticky;top:0;z-index:20}.exam-form-page{width:calc(100% - 40px);padding-top:40px}.exam-create-hero{margin-bottom:28px;display:flex;align-items:flex-end;justify-content:space-between;gap:32px}.exam-create-hero>div:first-child{max-width:720px}.exam-create-hero h1{margin:5px 0 8px;font-family:var(--font-display);font-size:clamp(34px,4vw,48px);line-height:1.08;letter-spacing:-.035em}.exam-create-hero p{margin:0;color:var(--text-muted);font-size:16px;line-height:1.6}.exam-create-guardrails{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.exam-create-guardrails span{min-height:36px;padding:7px 11px;display:inline-flex;align-items:center;gap:7px;border:1px solid #ccd7ec;border-radius:999px;background:#fffc;color:#33445f;font-size:12px;font-weight:750}.exam-builder{display:grid;grid-template-columns:minmax(0,1fr) 330px;align-items:start;gap:24px}.exam-builder-main{min-width:0;display:grid;gap:18px}.exam-builder-section,.exam-builder-summary{border:1px solid #d8e0ee;border-radius:18px;background:#fff;box-shadow:0 8px 24px #1e30550e}.exam-builder-section{padding:clamp(20px,3vw,28px)}.exam-section-heading{margin-bottom:24px;display:flex;align-items:flex-start;gap:13px}.exam-section-heading h2,.exam-summary-heading h2{margin:0;font-family:var(--font-display);font-size:19px;line-height:1.3}.exam-section-heading p,.exam-summary-heading p{margin:3px 0 0;color:var(--text-muted);font-size:13px;line-height:1.5}.exam-section-number{width:30px;height:30px;flex:0 0 auto;display:grid;place-items:center;border-radius:9px;background:#e9eeff;color:#263c9b;font-size:13px;font-weight:850}.exam-field{display:grid;gap:7px}.exam-field>span:first-child{color:#202b3c;font-size:13px;font-weight:750}.exam-field em{color:#b42318;font-style:normal}.exam-field input{width:100%;min-height:48px;padding:11px 13px;border:1px solid #bcc8da;border-radius:11px;outline:none;background:#fff;color:var(--text);font:inherit;transition:border-color .16s ease,box-shadow .16s ease}.exam-field input:hover{border-color:#8798b3}.exam-field input:focus{border-color:#3146aa;box-shadow:0 0 0 3px #3146aa24}.exam-field input[aria-invalid=true]{border-color:#d1493f}.exam-field small,.exam-publish-note{color:var(--text-muted);font-size:12px;line-height:1.45}.exam-field .exam-field-error,.exam-topic-error{color:#b42318;font-weight:650}.exam-duration-layout{margin-top:18px;display:grid;grid-template-columns:minmax(210px,.7fr) minmax(300px,1.3fr);align-items:end;gap:20px}.exam-input-suffix{position:relative;display:block}.exam-input-suffix input{padding-right:78px}.exam-input-suffix>span{position:absolute;right:13px;top:50%;transform:translateY(-50%);color:var(--text-muted);font-size:12px;font-weight:700;pointer-events:none}.exam-duration-presets{padding-bottom:25px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.exam-duration-presets button,.exam-topic-bulk-actions button{min-height:44px;border:1px solid #cbd4e2;border-radius:10px;background:#f8faff;color:#344055;font-size:12px;font-weight:750;cursor:pointer}.exam-duration-presets button:hover,.exam-topic-bulk-actions button:hover{border-color:#8798b3;background:#f1f4fb}.exam-duration-presets button.active{border-color:#3146aa;background:#edf0ff;color:#243893;box-shadow:inset 0 0 0 1px #3146aa}.exam-attempt-options,.exam-topic-fieldset,.exam-assessment-fieldset,.exam-student-fieldset{margin:0;padding:0;border:0}.exam-attempt-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.exam-attempt-option{min-height:74px;padding:14px;display:flex;align-items:center;gap:11px;border:1px solid #d1d9e6;border-radius:12px;background:#fff;cursor:pointer;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease}.exam-attempt-option:hover{border-color:#8798b3;background:#fafbfe}.exam-attempt-option.selected{border-color:#3146aa;background:#f3f5ff;box-shadow:inset 0 0 0 1px #3146aa}.exam-attempt-option input,.exam-topic-option input,.exam-assessment-option input,.exam-student-option input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.exam-attempt-option:focus-within,.exam-topic-option:focus-within,.exam-assessment-option:focus-within,.exam-student-option:focus-within,.exam-duration-presets button:focus-visible,.exam-topic-bulk-actions button:focus-visible{outline:3px solid rgba(49,70,170,.22);outline-offset:2px}.exam-radio-mark{width:20px;height:20px;flex:0 0 auto;border:2px solid #8c99ad;border-radius:50%;background:#fff}.exam-attempt-option.selected .exam-radio-mark{border:6px solid #3146aa}.exam-attempt-option>span:last-child{display:grid;gap:3px}.exam-assessment-fieldset{min-width:0}.exam-assessment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.exam-assessment-option{min-height:88px;padding:14px;display:flex;align-items:center;gap:11px;border:1px solid #d1d9e6;border-radius:12px;background:#fff;cursor:pointer;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease}.exam-assessment-option:hover{border-color:#8798b3;background:#fafbfe}.exam-assessment-option.selected{border-color:#3146aa;background:#f3f5ff;box-shadow:inset 0 0 0 1px #3146aa}.exam-assessment-option>span:last-child{min-width:0;display:grid;gap:3px}.exam-assessment-option strong{color:#172033;font-size:14px;line-height:1.3}.exam-assessment-option small{color:var(--text-muted);font-size:12px;line-height:1.45}.exam-assessment-radio{width:20px;height:20px;flex:0 0 auto;border:2px solid #8c99ad;border-radius:50%;background:#fff}.exam-assessment-option.selected .exam-assessment-radio{border:6px solid #3146aa}.exam-assessment-loading{min-height:130px;display:grid;place-items:center;align-content:center;gap:10px;border:1px dashed #c6d0df;border-radius:12px;background:#f9fafe;color:var(--text-muted);font-size:13px;text-align:center}.exam-attempt-option strong,.exam-topic-option strong{color:#172033;font-size:14px;line-height:1.3}.exam-attempt-option small,.exam-topic-option small{color:var(--text-muted);font-size:12px}.exam-assessment-error{display:block;margin-top:10px}.exam-topics-heading{align-items:center}.exam-topics-heading>div:nth-child(2),.exam-assessment-heading>div:nth-child(2){flex:1}.exam-topic-bulk-actions{display:flex;gap:8px}.exam-topic-bulk-actions button{min-height:38px;padding:7px 11px}.exam-topic-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.exam-topic-option{min-width:0;min-height:80px;padding:13px;align-items:center;border-color:#d1d9e6;border-radius:12px;background:#fff;cursor:pointer;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease}.exam-topic-option:hover{border-color:#8798b3;background:#fafbfe}.exam-topic-option.selected{border-color:#8795d8;background:#f5f6ff;box-shadow:inset 0 0 0 1px #3146aa52}.exam-topic-check{width:24px;height:24px;flex:0 0 auto;display:grid!important;place-items:center;border:1.5px solid #9aa7ba;border-radius:7px;background:#fff;color:#fff}.exam-topic-option.selected .exam-topic-check{border-color:#3146aa;background:#3146aa}.exam-topic-loading{min-height:180px;display:grid;place-items:center;align-content:center;gap:10px;border:1px dashed #c6d0df;border-radius:12px;background:#f9fafe;color:var(--text-muted);font-size:13px}.exam-students-heading{align-items:center}.exam-students-heading>div:nth-child(2){flex:1}.exam-student-directory{display:grid;gap:14px}.exam-student-search{display:grid;gap:7px}.exam-student-search>span{color:#202b3c;font-size:13px;font-weight:750}.exam-student-search input{width:100%;min-height:46px;padding:10px 13px;border:1px solid #bcc8da;border-radius:11px;outline:none;background:#fff;color:var(--text);font:inherit}.exam-student-search input:focus{border-color:#3146aa;box-shadow:0 0 0 3px #3146aa24}.exam-student-grid{max-height:330px;overflow-y:auto;padding:2px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.exam-student-option{min-width:0;min-height:70px;padding:13px;display:flex;align-items:center;gap:11px;border:1px solid #d1d9e6;border-radius:12px;background:#fff;cursor:pointer;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease}.exam-student-option:hover{border-color:#8798b3;background:#fafbfe}.exam-student-option.selected{border-color:#8795d8;background:#f5f6ff;box-shadow:inset 0 0 0 1px #3146aa52}.exam-student-check{width:24px;height:24px;flex:0 0 auto;display:grid;place-items:center;border:1.5px solid #9aa7ba;border-radius:7px;background:#fff;color:#fff}.exam-student-option.selected .exam-student-check{border-color:#3146aa;background:#3146aa}.exam-student-option>span:last-child{min-width:0;display:grid;gap:3px}.exam-student-option strong,.exam-student-option small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.exam-student-option strong{color:#172033;font-size:14px}.exam-student-option small,.exam-directory-state,.exam-student-note{color:var(--text-muted);font-size:12px}.exam-directory-state{min-height:88px;padding:18px;display:flex;align-items:center;justify-content:center;gap:8px;border:1px dashed #c6d0df;border-radius:12px;background:#f9fafe;text-align:center}.exam-directory-error{align-items:center}.exam-directory-error>span{flex:1;display:grid;gap:2px}.exam-directory-error button{min-height:40px;background:#fff}.exam-student-note{margin:0;display:flex;align-items:flex-start;gap:7px;line-height:1.45}.exam-student-note svg{flex:0 0 auto}.exam-topic-error{display:block;margin-top:10px}.exam-builder-summary{position:sticky;top:92px;padding:22px}.exam-summary-heading{padding-bottom:18px;display:flex;align-items:center;gap:11px;border-bottom:1px solid #e1e6ef}.exam-summary-heading>span{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;background:#e9eeff;color:#263c9b}.exam-builder-summary dl{margin:14px 0}.exam-builder-summary dl>div{min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid #edf0f5}.exam-builder-summary dt{display:inline-flex;align-items:center;gap:8px;color:var(--text-muted);font-size:13px}.exam-builder-summary dd{margin:0;color:#1a2435;font-size:13px;font-weight:800;text-align:right}.exam-summary-school{margin:14px 0;padding:12px;display:grid;gap:3px;border-radius:10px;background:#f4f6fa}.exam-summary-school span{color:var(--text-muted);font-size:11px;font-weight:650;text-transform:uppercase;letter-spacing:.06em}.exam-summary-school strong{overflow-wrap:anywhere;color:#263248;font-size:13px}.exam-readiness{margin:16px 0;padding:12px;display:flex;align-items:flex-start;gap:9px;border:1px solid;border-radius:11px}.exam-readiness.incomplete{border-color:#ebc58d;background:#fff9ed;color:#7a4700}.exam-readiness.ready{border-color:#9dd4b2;background:#effaf3;color:#176632}.exam-readiness>span{display:grid;gap:2px;font-size:12px;line-height:1.45}.exam-readiness strong{font-size:13px}.exam-builder-summary .exam-form-actions{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:9px}.exam-builder-summary .exam-form-actions button{width:100%;min-height:46px;justify-content:center}.exam-publish-note{margin:13px 0 0;display:flex;align-items:flex-start;gap:7px}.exam-publish-note svg{flex:0 0 auto;margin-top:1px}.exam-load-error{align-items:center}.exam-load-error>span,.notice.error>span{flex:1;display:grid;gap:2px}.exam-load-error button{min-height:40px;background:#fff}.exam-state-shell .student-session-state{max-width:720px;margin:80px auto}.exam-result-score{display:flex;align-items:center;gap:12px;font-size:2rem;color:var(--success)}.exam-timer{display:inline-flex;align-items:center;gap:7px;padding:8px 12px;border-radius:999px;font-weight:800;color:#173f6b;background:#e7f2ff}.exam-timer.urgent{color:#8c1d18;background:#ffe7e5}.exam-student-layout{grid-template-columns:minmax(210px,.8fr) minmax(260px,1fr) minmax(420px,1.8fr) minmax(280px,1fr)}.exam-task-rail .curriculum-exercise{width:100%}.exam-feedback.success{border-color:#83c99a}.exam-feedback.error{border-color:#e4a19c}.student-header-actions>.assessment-sound-toggle{width:36px;min-height:36px;padding:7px;border:1px solid #d8ddeb;background:#fff}.student-layout .task-timer-chip.urgent{border-color:#fca5a5;background:#fff1f2;color:#b42318}.student-layout .task-steps button.failed{border-color:#fca5a5;background:#fee2e2;color:#b91c1c}.curriculum-exercise.assessment-failed:not(.active){background:snow}.teacher-exam-shell{min-height:100dvh;background:radial-gradient(circle at 10% 0%,rgb(37 99 235 / 7%),transparent 30rem),#f6f8fc}.teacher-exam-page{width:calc(100% - 48px);padding-top:28px}.teacher-exam-page>.notice{margin-bottom:16px}.teacher-exam-overview{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,auto);gap:32px;padding:32px;overflow:hidden;border:1px solid #d9e1f1;border-radius:22px;background:linear-gradient(135deg,#fff,#f5f8ff);box-shadow:0 16px 40px #1d315a14}.teacher-exam-intro{max-width:690px}.teacher-exam-intro h1{margin:14px 0 6px;color:#111827;font-size:clamp(2rem,4vw,3rem);line-height:1.04;letter-spacing:-.045em}.teacher-exam-intro p{max-width:66ch;margin:8px 0 0;color:#5b6880;line-height:1.6}.teacher-exam-intro .teacher-exam-name{color:#233862;font-size:1.05rem;font-weight:800}.teacher-exam-overview .session-type-badge{gap:7px;margin-left:0;min-height:28px;padding-inline:10px}.teacher-exam-overview .status-dot{width:7px;height:7px;border-radius:999px;background:currentColor;box-shadow:0 0 0 3px #6c3a001a}.teacher-exam-action-panel{align-content:start;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:min(100%,390px)}.teacher-exam-action-panel button{min-height:46px;justify-content:center;white-space:nowrap}.teacher-exam-action-panel button:first-child,.teacher-exam-action-panel button:last-child{grid-column:1 / -1}.teacher-exam-action-panel button.danger{border-color:#fecaca;color:#b42318;background:#fff}.teacher-exam-action-panel button.danger:hover:not(:disabled){background:#fff1f1}.exam-pin-control{grid-column:1 / -1;min-height:58px;padding:8px;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;border:1px solid #cfd7ef;border-radius:13px;background:#fff}.exam-pin-control>span{min-width:0;padding-left:4px;display:grid;gap:2px}.exam-pin-control small{color:#657189;font-size:.65rem;font-weight:850;letter-spacing:.07em;text-transform:uppercase}.exam-pin-control strong{overflow:hidden;color:#172033;font-size:1rem;font-variant-numeric:tabular-nums;letter-spacing:.08em;text-overflow:ellipsis;white-space:nowrap}.exam-pin-control button{min-height:38px;padding-inline:10px;font-size:.75rem}.exam-monitor-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:18px}.exam-monitor-metrics article{min-width:0;padding:18px;display:flex;align-items:center;gap:13px;border:1px solid #dce3ef;border-radius:16px;background:#fff;box-shadow:0 6px 20px #17284d0d}.exam-monitor-metrics article>span,.exam-access-card .section-icon{width:42px;height:42px;flex:0 0 auto;display:grid;place-items:center;border-radius:12px;color:#2945a4;background:#edf1ff}.exam-monitor-metrics article>div{min-width:0;display:grid;gap:2px}.exam-monitor-metrics small{overflow:hidden;color:#657189;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.exam-monitor-metrics strong{color:#172033;font-size:1.45rem;font-variant-numeric:tabular-nums}.exam-access-card,.exam-roster-section,.competency-section{margin-top:18px;padding:24px;border:1px solid #dce3ef;border-radius:18px;background:#fff;box-shadow:0 8px 26px #17284d0d}.exam-access-card{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(420px,1.2fr);align-items:end;gap:28px}.exam-access-card>div,.exam-roster-section>header,.competency-section>header{display:flex;align-items:center;gap:14px}.exam-access-card h2,.exam-roster-section h2,.competency-section h2{margin:0;color:#172033;font-size:1.35rem}.exam-access-card p,.exam-roster-section p,.competency-section p{margin:4px 0 0;color:#647087;line-height:1.5}.exam-invite-form{margin:0;align-items:end}.exam-invite-form label{min-width:0;flex:1}.exam-invite-form label>span{color:#27334a;font-size:.82rem;font-weight:800}.exam-invite-form button{min-height:44px;white-space:nowrap}.exam-member-selector-panel{width:100%;min-width:0;flex:1 1 auto}.member-selector{position:relative;width:100%;min-width:0}.member-selector-label{margin-bottom:10px;color:#657189;font-size:.68rem;font-weight:850;letter-spacing:.07em;text-transform:uppercase}.member-selector-control{position:relative;min-height:70px;display:flex;align-items:flex-start;flex-wrap:wrap;gap:14px}.member-selector-avatar,.member-selector-add{width:58px;padding:0;display:grid;justify-items:center;gap:6px;border:0;background:transparent;box-shadow:none;color:#657189}.member-selector-avatar:disabled{cursor:default;opacity:1}.member-selector-avatar-image,.member-selector-add>span{position:relative;width:48px;height:48px;display:grid;place-items:center;overflow:visible;border-radius:999px;color:#2945a4;background:#edf1ff;font-size:.78rem;font-weight:850}.member-selector-avatar-image{box-shadow:inset 0 0 0 1px #d8e0f5}.member-selector-avatar-image>img,.member-selector-result-avatar img{width:100%;height:100%;display:block;border-radius:inherit;object-fit:cover}.member-selector-add>span{border:2px dashed #aab4c8;color:#657189;background:#fff}.member-selector-add.open>span,.member-selector-add:hover>span{border-color:#4b61bd;color:#2945a4;background:#edf1ff}.member-selector-add small,.member-selector-first-name{max-width:58px;overflow:hidden;color:#53617a;font-size:.7rem;font-weight:750;text-overflow:ellipsis;white-space:nowrap}.member-selector-add-mark,.member-selector-busy-mark{position:absolute;right:-1px;bottom:0;width:17px;height:17px;display:grid;place-items:center;border-radius:999px;color:#fff;background:#172033;box-shadow:0 0 0 2px #fff}.member-selector-busy-mark{inset:0;width:48px;height:48px;color:#2945a4;background:#ffffffd6;box-shadow:none}.member-selector-add-wrap{position:static}.member-selector-dropdown{position:absolute;top:calc(100% + 10px);right:auto;left:0;z-index:45;width:min(320px,100%);overflow:hidden;border:1px solid #d8dfec;border-radius:15px;background:#fff;box-shadow:0 18px 44px #17284d2e}.member-selector-search{position:relative;padding:12px;display:block;border-bottom:1px solid #e5e9f1}.member-selector-search>svg{position:absolute;left:24px;top:50%;z-index:1;color:#738098;transform:translateY(-50%)}.member-selector-search input{width:100%;min-height:40px;padding:9px 10px 9px 36px;border:1px solid transparent;border-radius:10px;background:#f3f5f9;color:#172033}.member-selector-search input:focus{border-color:#8fa2ed;outline:3px solid rgb(75 97 189 / 13%);background:#fff}.member-selector-results{max-height:280px;overflow-y:auto;overscroll-behavior:contain}.member-selector-result{width:100%;min-height:58px;padding:9px 12px;display:grid;grid-template-columns:38px minmax(0,1fr) 22px;align-items:center;gap:10px;border:0;border-radius:0;background:#fff;box-shadow:none;text-align:left}.member-selector-result:hover:not(:disabled),.member-selector-result:focus-visible{background:#f4f6fb}.member-selector-result.selected{background:#f5f7ff}.member-selector-result:disabled{cursor:default;opacity:1}.member-selector-result-avatar{width:36px;height:36px;display:grid;place-items:center;overflow:hidden;border-radius:999px;color:#5d6980;background:#e8ebf1;font-size:.72rem;font-weight:850;filter:grayscale(1);opacity:.72}.member-selector-result.selected .member-selector-result-avatar{color:#2945a4;background:#e7ecff;filter:none;opacity:1}.member-selector-result-copy{min-width:0;display:grid;gap:2px}.member-selector-result-copy strong,.member-selector-result-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.member-selector-result-copy strong{color:#263149;font-size:.84rem}.member-selector-result-copy small{color:#728097;font-size:.72rem}.member-selector-check{width:20px;height:20px;display:grid;place-items:center;border:2px solid #c6cedc;border-radius:999px;color:#fff}.member-selector-check.selected{border-color:#3049ab;background:#3049ab}.member-selector-state{min-height:80px;padding:18px;display:flex;align-items:center;justify-content:center;gap:8px;color:#69768d;font-size:.8rem;text-align:center}.member-selector-error{margin-top:9px;display:flex;align-items:center;justify-content:space-between;gap:10px;color:#b42318;font-size:.76rem}.member-selector-error button{min-height:32px;padding:5px 9px;color:inherit}.exam-roster-section>header,.competency-section>header{justify-content:space-between;align-items:flex-end;margin-bottom:18px}.roster-summary{padding:7px 10px;border-radius:999px;color:#42506a;background:#f1f4f9;font-size:.78rem;font-weight:800;white-space:nowrap}.exam-monitor-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.exam-monitor-summary-card{position:relative;width:100%;min-width:0;min-height:224px;padding:18px;display:grid;align-content:start;gap:12px;border:1px solid #dce3ef;border-radius:16px;background:#fff;color:inherit;text-align:left;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.exam-monitor-summary-card:hover{border-color:#aebbe1;box-shadow:0 12px 28px #2638911a;transform:translateY(-2px)}.exam-monitor-summary-card:focus-within{border-color:#3b4fd0;outline:3px solid rgb(59 79 208 / .18);outline-offset:2px}.exam-monitor-summary-hitarea{position:absolute;z-index:2;inset:0;width:100%;height:100%;padding:0;border:0;border-radius:inherit;background:transparent;box-shadow:none}.exam-monitor-summary-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.exam-monitor-summary-card .exam-student-score{margin-top:0}.exam-monitor-summary-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding-top:2px;color:#6b778c;font-size:.72rem;font-weight:750}.exam-monitor-summary-footer strong{display:inline-flex;align-items:center;gap:4px;color:#2945a4;white-space:nowrap}.exam-roster-back{min-height:40px;color:#2945a4;background:#f6f7ff}.exam-monitor-detail-card{width:100%}.exam-monitor-card{min-width:0;padding:20px;border:1px solid #dce3ef;border-radius:16px;background:#fff;box-shadow:none}.exam-monitor-card header{justify-content:space-between;align-items:flex-start}.exam-student-identity{min-width:0;display:flex;align-items:center;gap:10px}.exam-student-identity>span{width:38px;height:38px;flex:0 0 auto;display:grid;place-items:center;border-radius:999px;color:#fff;background:#2d43a4;font-weight:850}.exam-student-identity>div{min-width:0;display:grid;gap:2px}.exam-student-identity strong{overflow:hidden;color:#172033;text-overflow:ellipsis;white-space:nowrap}.exam-student-identity small{color:#718096}.exam-student-identity .exam-guest-badge{display:inline-flex;margin-left:7px;padding:2px 6px;border-radius:999px;background:#eef0ff;color:#3b4fd0;font-size:9px;font-weight:850;line-height:1.4;text-transform:uppercase;vertical-align:middle}.attempt-status,.task-status{width:fit-content;border-radius:999px;color:#556176;background:#eef1f5;font-size:.72rem;font-weight:800;line-height:1.25;white-space:nowrap}.attempt-status{padding:5px 8px}.attempt-status.active,.task-status.in_progress,.task-status.draft{color:#1d4e89;background:#e7f2ff}.attempt-status.submitted,.task-status.passed{color:#17633a;background:#e3f6ea}.task-status.failed{color:#a22920;background:#feeceb}.exam-student-score{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px}.exam-student-score>div{display:grid;gap:3px;padding:11px 12px;border-radius:10px;background:#f6f8fb}.exam-student-score span{color:#6b778c;font-size:.72rem;font-weight:750}.exam-student-score strong{color:#1c2941;font-size:1rem;font-variant-numeric:tabular-nums}.exam-score-track{height:6px;margin-top:10px;overflow:hidden;border-radius:999px;background:#e9edf4}.exam-score-track>span{display:block;height:100%;border-radius:inherit;background:#2f49b6;transition:width .22s ease-out}.exam-monitor-tasks{display:grid;gap:8px;margin:16px 0}.exam-monitor-tasks>div{padding:10px;border:1px solid #e5e9f1;border-radius:10px;background:#fbfcfe}.exam-monitor-tasks>div>div{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px}.exam-monitor-tasks>div>div>span{overflow:hidden;color:#34425c;font-size:.78rem;font-weight:750;text-overflow:ellipsis;white-space:nowrap}.exam-monitor-tasks>div>div>small{color:#778297;font-size:.7rem;white-space:nowrap}.exam-monitor-tasks .task-status{padding:3px 6px}.exam-monitor-tasks details{margin-top:8px}.exam-monitor-tasks summary{width:fit-content;color:#2945a4;cursor:pointer;font-size:.75rem;font-weight:800}.exam-monitor-tasks pre{max-height:180px;overflow:auto;margin:8px 0 0;padding:12px;border-radius:8px;color:#e5e7eb;background:#111827;font-size:.75rem;line-height:1.5;white-space:pre-wrap}.reset-attempt-button{width:100%;min-height:42px;justify-content:center;color:#5f6b80;background:#fff}.exam-monitor-empty{min-height:150px;padding:28px;display:grid;place-items:center;align-content:center;gap:8px;border:1px dashed #cbd4e3;border-radius:14px;color:#647087;text-align:center;background:#fafbfe}.exam-monitor-empty strong{color:#27334a}.exam-monitor-empty.compact{min-height:110px}.competency-legend{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}.competency-legend span{padding:5px 8px;border-radius:999px;color:#7c342c;background:#feeceb;font-size:.7rem;font-weight:800}.competency-legend .secure{color:#17633a;background:#e3f6ea}.competency-legend .developing{color:#7a4d05;background:#fff2cd}.competency-table-wrap{max-width:100%;overflow-x:auto;border:1px solid #e1e6ef;border-radius:12px}.competency-section table{width:100%;min-width:720px;border-collapse:separate;border-spacing:0}.competency-section th,.competency-section td{padding:13px 14px;border-bottom:1px solid #e6eaf1;text-align:left}.competency-section thead th{color:#4f5b70;background:#f6f8fb;font-size:.75rem;line-height:1.25}.competency-section tbody th{position:sticky;left:0;z-index:1;min-width:170px;color:#26334b;background:#fff}.competency-section td{min-width:140px;font-variant-numeric:tabular-nums}.competency-section tr:last-child th,.competency-section tr:last-child td{border-bottom:0}.competency-band{display:block;width:fit-content;margin-top:5px;padding:3px 7px;border-radius:999px;color:#8d3027;background:#feeceb;font-size:.7rem;font-weight:750}.competency-band.secure{color:#17633a;background:#e3f6ea}.competency-band.developing{color:#7a4d05;background:#fff2cd}.admin-metric-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.admin-metric-grid article{display:grid;gap:6px;padding:18px;border-radius:14px;background:#17243b;color:#fff}.admin-metric-grid strong{font-size:1.75rem}.admin-panel{margin-top:18px}.admin-panel form{grid-template-columns:minmax(200px,1fr) auto}.admin-school-list{flex-wrap:wrap;margin-top:14px}.admin-school-list>article{display:flex;align-items:center;gap:8px;padding:8px;border:1px solid var(--border);border-radius:12px}.admin-school-list>article>button{border:0}.admin-school-list>article.active{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 18%,transparent)}.admin-selected-school{margin:10px 0;padding:10px 12px;border-radius:10px;background:color-mix(in srgb,var(--accent) 10%,var(--surface));color:var(--text)}.admin-selected-school.warning{background:#fff7ed;color:#9a3412}.admin-row{justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--border)}.admin-users-panel{overflow:hidden}.admin-users-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.admin-users-heading h2{margin:4px 0 6px}.admin-users-heading p{max-width:780px;margin:0;color:var(--color-text-muted, #607086);line-height:1.5}.admin-user-search,.admin-session-search{min-height:46px;margin-top:18px;padding:0 14px;display:flex;align-items:center;gap:10px;border:1px solid var(--color-border, #d9dfeb);border-radius:12px;color:var(--color-text-muted, #607086);background:var(--surface, #fff)}.admin-user-search:focus-within,.admin-session-search:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 14%,transparent)}.admin-user-search input,.admin-session-search input{min-width:0;min-height:44px;flex:1;padding:0;border:0;outline:0;box-shadow:none;background:transparent}.admin-users-table-wrap{margin-top:16px;overflow-x:auto;border:1px solid var(--color-border, #d9dfeb);border-radius:14px}.admin-users-table{width:100%;min-width:1040px;border-collapse:collapse;background:var(--surface, #fff)}.admin-users-table th{padding:12px 14px;border-bottom:1px solid var(--color-border, #d9dfeb);color:var(--color-text-muted, #607086);background:var(--color-surface-subtle, #f5f6f8);font-size:.72rem;font-weight:850;letter-spacing:.04em;text-align:left;text-transform:uppercase;white-space:nowrap}.admin-users-table td{padding:14px;border-bottom:1px solid var(--color-border, #d9dfeb);vertical-align:middle}.admin-users-table tbody tr:last-child td{border-bottom:0}.admin-users-table tbody tr:hover{background:color-mix(in srgb,var(--accent) 3%,var(--surface, #fff))}.admin-account-sections{margin-top:20px;display:grid;gap:24px}.admin-account-section{min-width:0}.admin-account-section-heading{margin-bottom:10px;display:flex;align-items:baseline;justify-content:space-between;gap:12px}.admin-account-section-heading h3{margin:0;color:var(--color-text, #182237);font-size:1rem}.admin-account-section-heading span{color:var(--color-text-muted, #607086);font-size:.76rem;font-weight:750}.admin-account-section-empty{margin:0;padding:14px;border:1px dashed var(--color-border, #d9dfeb);border-radius:12px;color:var(--color-text-muted, #607086);font-size:.84rem}.admin-read-only-users-table{min-width:480px}.admin-user-identity{min-width:255px;display:flex;align-items:center;gap:11px}.admin-user-identity>span:last-child{min-width:0;display:grid;gap:2px}.admin-user-identity strong,.admin-user-identity small{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-user-identity small{color:var(--color-text-muted, #607086);font-size:.72rem}.admin-role-badges{margin-top:4px;display:flex;flex-wrap:wrap;gap:4px}.admin-role-badges>span{padding:2px 6px;border-radius:999px;color:#263fa4;background:#edf1ff;font-size:.64rem;font-weight:800;line-height:1.2;white-space:nowrap}.admin-user-avatar{width:40px;height:40px;flex:0 0 40px;display:grid;place-items:center;overflow:hidden;border-radius:11px;color:#263fa4;background:#edf1ff;font-weight:850}.admin-user-avatar img{width:100%;height:100%;object-fit:cover}.admin-role-cell{min-width:138px}.admin-role-toggle{display:inline-flex;align-items:center;gap:8px;font-size:.78rem;font-weight:750;white-space:nowrap}.admin-role-toggle input,.admin-organization-picker input{width:17px;height:17px;accent-color:var(--accent)}.admin-role-toggle.fixed{color:#176632}.admin-self-note{display:block;margin-top:5px;color:var(--color-text-muted, #607086);font-size:.67rem;white-space:nowrap}.admin-organization-cell{min-width:190px}.admin-organization-cell details{position:relative}.admin-organization-cell summary{min-height:38px;padding:8px 10px;display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid var(--color-border, #d9dfeb);border-radius:9px;cursor:pointer;font-size:.76rem;font-weight:750;list-style:none;white-space:nowrap}.admin-organization-cell summary::-webkit-details-marker{display:none}.admin-organization-cell summary:after{content:"▾";color:var(--color-text-muted, #607086)}.admin-organization-cell details[open] summary{border-color:var(--accent)}.admin-organization-picker{position:absolute;z-index:20;top:calc(100% + 6px);right:0;width:260px;max-height:240px;padding:7px;display:grid;gap:3px;overflow-y:auto;border:1px solid var(--color-border, #d9dfeb);border-radius:11px;background:var(--surface, #fff);box-shadow:0 16px 34px #18223729}.admin-organization-picker label{padding:8px;display:flex;align-items:center;gap:9px;border-radius:8px;cursor:pointer}.admin-organization-picker label:hover{background:var(--color-surface-subtle, #f5f6f8)}.admin-organization-picker label>span{min-width:0;display:grid;gap:2px}.admin-organization-picker small{color:var(--color-text-muted, #607086);font-size:.68rem}.admin-user-actions{min-width:170px;white-space:nowrap}.admin-user-actions button+button{margin-left:6px}.admin-reset-password-dialog{width:min(440px,calc(100vw - 32px));padding:0;border:1px solid var(--color-border, #d9dfeb);border-radius:16px;color:var(--color-text, #182237);background:var(--surface, #fff);box-shadow:0 24px 70px #1822373d}.admin-reset-password-dialog::backdrop{background:#0f172a70}.admin-reset-password-dialog form{padding:24px;display:grid;gap:16px}.admin-reset-password-heading{display:flex;justify-content:space-between;gap:16px}.admin-reset-password-heading h2{margin:3px 0 4px}.admin-reset-password-heading p{margin:0;color:var(--color-text-muted, #607086);font-size:.84rem}.admin-reset-password-heading>button{padding:4px;border:0;background:transparent;color:var(--color-text-muted, #607086)}.admin-reset-password-dialog label{display:grid;gap:6px;font-size:.8rem;font-weight:750}.admin-reset-password-dialog input{width:100%;box-sizing:border-box}.admin-reset-password-actions{display:flex;justify-content:flex-end;gap:8px}.admin-managed-users-empty{min-height:110px;padding:24px;display:flex;align-items:center;justify-content:center;gap:12px;color:var(--color-text-muted, #607086)}.admin-managed-users-empty>span{display:grid;gap:3px}@media(max-width:640px){.admin-users-heading{align-items:stretch;flex-direction:column}}.admin-session-members{display:flex!important;flex-wrap:wrap;margin-top:8px}.admin-session-members>span{display:inline-flex;align-items:center;gap:6px;padding:5px 7px;border-radius:9px;background:var(--surface-subtle)}.admin-session-members button{min-height:28px;padding:3px 7px}.admin-domain-panel{overflow:hidden}.admin-domain-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.admin-domain-heading h2{margin-bottom:6px}.admin-domain-heading p{max-width:760px;margin:0;color:var(--color-text-muted, #607086);line-height:1.5}.admin-domain-count,.admin-domain-status{display:inline-flex;align-items:center;gap:6px;width:fit-content;border-radius:999px;font-size:.75rem;font-weight:800;white-space:nowrap}.admin-domain-count{min-height:34px;padding:7px 10px;color:#214c33;background:#e6f7ec}.admin-panel .admin-domain-form{margin-top:18px;display:grid;grid-template-columns:minmax(220px,.85fr) minmax(260px,1.15fr) auto;align-items:start;gap:12px}.admin-domain-form label{min-width:0;display:grid;gap:7px;font-size:.82rem;font-weight:800}.admin-domain-form label small{color:var(--color-text-muted, #607086);font-size:.72rem;font-weight:500;line-height:1.35}.admin-domain-form>button{min-height:44px;margin-top:25px;justify-content:center;white-space:nowrap}.admin-domain-list{margin-top:18px;display:grid;gap:9px}.admin-domain-rule{min-width:0;padding:13px 14px;display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:12px;border:1px solid var(--color-border, #d9dfeb);border-radius:12px;background:var(--color-surface-subtle, #f5f6f8)}.admin-domain-rule-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;color:#176632;background:#e2f6e8}.admin-domain-rule-copy{min-width:0;display:grid;gap:3px}.admin-domain-rule-copy strong,.admin-domain-rule-copy small{overflow:hidden;text-overflow:ellipsis}.admin-domain-rule-copy strong{font-size:.92rem}.admin-domain-rule-copy small{color:var(--color-text-muted, #607086);font-size:.75rem}.admin-domain-status{padding:5px 8px;color:#176632;background:#e2f6e8}.admin-domain-rule>button{min-height:40px}.admin-domain-empty{min-height:64px;padding:13px 15px;display:flex;align-items:center;gap:10px;border:1px dashed var(--color-border, #d9dfeb);border-radius:12px;color:var(--color-text-muted, #607086);background:var(--color-surface-subtle, #f5f6f8)}.admin-domain-empty>span{display:grid;gap:2px}.admin-domain-empty.warning{margin-top:14px;border-style:solid;border-color:#f4c27c;color:#8a4b08;background:#fff7ed}@media(max-width:900px){.admin-panel .admin-domain-form{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.admin-domain-form>button{grid-column:1 / -1;width:fit-content;margin-top:0}}@media(max-width:640px){.admin-domain-heading{align-items:stretch;flex-direction:column}.admin-panel .admin-domain-form{grid-template-columns:minmax(0,1fr)}.admin-domain-form>button{grid-column:auto;width:100%}.admin-domain-rule{grid-template-columns:auto minmax(0,1fr)}.admin-domain-status{grid-column:2}.admin-domain-rule>button{grid-column:1 / -1;width:100%;justify-content:center}}.admin-shell{min-height:100dvh;background:#f5f7fb}.admin-topbar{position:sticky;top:0;z-index:30;box-shadow:0 1px #1720330a}.admin-topbar-actions,.teacher-exam-header-actions{display:flex;align-items:center;gap:10px}.admin-access-badge{min-height:36px;padding:7px 11px;display:inline-flex;align-items:center;gap:7px;border-radius:999px;color:#1d5632;background:#e7f7ec;font-size:.76rem;font-weight:850;white-space:nowrap}.teacher-exam-header-actions>span{max-width:min(34vw,420px);overflow:hidden;color:var(--color-text-muted);font-size:.82rem;font-weight:750;text-overflow:ellipsis;white-space:nowrap}.admin-page{width:min(1320px,calc(100% - 48px));padding:36px 0 64px}.admin-page>.notice{margin-bottom:16px}.admin-hero{padding:clamp(24px,4vw,40px);display:grid;grid-template-columns:minmax(0,1.45fr) minmax(260px,.55fr);align-items:end;gap:32px;overflow:hidden;border:1px solid #d9dfeb;border-radius:22px;background:#fff;box-shadow:0 14px 36px #1c2a4a12}.admin-hero h1{max-width:760px;margin:7px 0 10px;color:#111827;font-size:clamp(2rem,4vw,3.35rem);letter-spacing:-.045em;line-height:1.02}.admin-hero p{max-width:720px;margin:0;color:#58677e;font-size:1rem;line-height:1.6}.admin-hero-context{min-width:0;padding:18px;display:grid;gap:5px;border:1px solid #d9e0f0;border-radius:15px;background:#fff}.admin-hero-context>span{color:#63718a;font-size:.7rem;font-weight:850;letter-spacing:.06em;text-transform:uppercase}.admin-hero-context strong{overflow:hidden;color:#172033;font-size:1.05rem;text-overflow:ellipsis;white-space:nowrap}.admin-hero-context small{color:#63718a;line-height:1.4}.admin-metric-grid{margin-top:16px;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}.admin-metric-grid article{min-height:96px;padding:17px;display:flex;align-items:center;gap:13px;border:1px solid #dce2ee;border-radius:15px;color:#172033;background:#fff;box-shadow:0 7px 20px #1c2a4a0d}.admin-metric-grid article>span:last-child{min-width:0;display:grid;gap:3px}.admin-metric-grid small{overflow:hidden;color:#63718a;font-size:.7rem;font-weight:800;letter-spacing:.03em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.admin-metric-grid strong{color:#111827;font-size:1.75rem;font-variant-numeric:tabular-nums;line-height:1}.admin-metric-icon,.admin-section-icon,.admin-session-icon{display:grid;place-items:center;flex:0 0 auto;color:#2b43aa;background:#edf1ff}.admin-metric-icon{width:42px;height:42px;border-radius:12px}.admin-panel{margin-top:18px;padding:clamp(20px,3vw,28px);border-color:#dce2ee;border-radius:18px;box-shadow:0 9px 26px #1c2a4a0d}.admin-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.admin-section-heading>div{min-width:0;display:flex;align-items:flex-start;gap:13px}.admin-section-heading>div>span:last-child{min-width:0;display:grid;gap:4px}.admin-section-heading h2{margin:1px 0 0;color:#172033;font-size:1.35rem;letter-spacing:-.02em}.admin-section-heading p{max-width:760px;margin:0;color:#63718a;line-height:1.5}.admin-section-icon{width:44px;height:44px;border-radius:12px}.admin-section-count{min-height:34px;padding:7px 10px;display:inline-flex;align-items:center;border-radius:999px;color:#344055;background:#eff2f7;font-size:.75rem;font-weight:800;white-space:nowrap}.admin-panel .admin-create-organization-form{margin-top:18px;display:grid;grid-template-columns:minmax(240px,1fr) auto;align-items:end;gap:12px}.admin-create-organization-form label{display:grid;gap:7px;color:#344055;font-size:.82rem;font-weight:800}.admin-create-organization-form>button{min-height:44px}.admin-school-list{margin-top:18px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.admin-school-list>article{min-width:0;padding:14px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;border-color:#dce2ee;border-radius:14px;background:#fafbfe}.admin-school-list>article.active{border-color:#7d8ed2;background:#f4f6ff;box-shadow:inset 0 0 0 1px #3146aa2e}.admin-school-list>article>button{min-width:0;min-height:44px;padding:0;text-align:left;background:transparent}.admin-school-card-title,.admin-session-title-row{min-width:0;display:flex;align-items:center;gap:8px}.admin-school-card-title strong,.admin-session-title-row strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-status-badge{width:fit-content;padding:4px 7px;border-radius:999px;color:#4a566a;background:#e9edf3;font-size:.66rem;font-weight:850;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.admin-status-badge.active,.admin-status-badge.open{color:#176632;background:#def5e6}.admin-status-badge.archived,.admin-status-badge.closed,.admin-status-badge.ended{color:#596273;background:#e9edf3}.admin-school-list .toolbar-actions{justify-content:flex-end;flex-wrap:wrap}.admin-users-panel,.admin-domain-panel,.admin-sessions-panel,.admin-audit-panel{overflow:visible}.admin-users-table-wrap{overscroll-behavior-x:contain;box-shadow:inset 0 1px #17203305}.admin-users-table th{position:static}.admin-session-list{margin-top:18px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.admin-session-card{min-width:0;padding:16px;display:grid;gap:14px;border:1px solid #dce2ee;border-radius:14px;background:#fafbfe}.admin-session-card-heading{min-width:0;display:flex;align-items:center;gap:11px}.admin-session-card-heading>span:last-child{min-width:0;display:grid;gap:4px}.admin-session-card-heading small,.admin-session-empty-members{color:#63718a;font-size:.75rem}.admin-session-icon{width:40px;height:40px;border-radius:11px}.admin-session-members{gap:6px}.admin-session-members>span{max-width:100%;background:#eef2f8}.admin-session-members>span>span{min-width:0;overflow:hidden;font-size:.73rem;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.admin-session-actions{padding-top:12px;display:flex;flex-wrap:wrap;gap:8px;border-top:1px solid #e0e5ef}.admin-session-actions button{min-height:40px}.admin-panel-empty,.admin-loading-state{min-height:112px;padding:24px;display:flex;align-items:center;justify-content:center;gap:12px;border:1px dashed #cbd3e2;border-radius:14px;color:#63718a;background:#fafbfe}.admin-panel-empty{margin-top:18px}.admin-panel-empty>span,.admin-loading-state>span{display:grid;gap:3px}.admin-loading-page{display:grid;place-items:center}.admin-loading-state{width:min(560px,100%);min-height:170px;border-style:solid;background:#fff}.admin-audit-list{margin:0;padding:0;display:grid;list-style:none}.admin-audit-panel{padding:0}.admin-audit-summary{min-height:76px;padding:16px clamp(18px,3vw,28px);display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:13px;border-radius:inherit;cursor:pointer;list-style:none}.admin-audit-summary::-webkit-details-marker{display:none}.admin-audit-summary:hover{background:#fafbfe}.admin-audit-summary:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}.admin-audit-summary-copy{min-width:0;display:grid;gap:3px}.admin-audit-summary-copy strong{color:#172033;font-size:1rem}.admin-audit-summary-copy small{color:#63718a;line-height:1.4}.admin-audit-chevron{color:#63718a;transition:transform .16s ease}.admin-audit-panel[open] .admin-audit-chevron{transform:rotate(180deg)}.admin-audit-content{padding:0 clamp(18px,3vw,28px) 18px;border-top:1px solid #e2e7ef}.admin-audit-list li{min-width:0;padding:13px 2px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;border-bottom:1px solid #e2e7ef}.admin-audit-list li:last-child{border-bottom:0}.admin-audit-list li>span:nth-child(2){min-width:0;display:grid;gap:3px}.admin-audit-list small,.admin-audit-list time{color:#63718a;font-size:.73rem}.admin-audit-list time{font-variant-numeric:tabular-nums;white-space:nowrap}.admin-audit-marker{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;color:#176632;background:#e2f6e8}@media(max-width:980px){.admin-hero,.admin-school-list,.admin-session-list{grid-template-columns:minmax(0,1fr)}}@media(max-width:720px){.admin-page{width:min(100% - 24px,1320px);padding-top:24px}.admin-topbar{align-items:center}.admin-access-badge,.teacher-exam-header-actions>span{display:none}.admin-hero{padding:22px;gap:20px;border-radius:17px}.admin-hero h1{font-size:2rem}.admin-section-heading{align-items:stretch;flex-direction:column}.admin-section-count{align-self:flex-start}.admin-panel .admin-create-organization-form{grid-template-columns:minmax(0,1fr)}.admin-create-organization-form>button{width:100%;justify-content:center}.admin-school-list>article{grid-template-columns:minmax(0,1fr)}.admin-school-list .toolbar-actions{justify-content:flex-start}.admin-audit-list li{grid-template-columns:auto minmax(0,1fr)}.admin-audit-list time{grid-column:2}.admin-audit-summary{grid-template-columns:auto minmax(0,1fr) auto}.admin-audit-summary .admin-section-count{display:none}}@media(max-width:480px){.admin-topbar-actions>button,.teacher-exam-header-actions>button{padding-inline:10px;font-size:0}.admin-topbar-actions>button svg,.teacher-exam-header-actions>button svg{margin:0}.admin-section-heading>div{align-items:flex-start}.admin-section-icon{width:40px;height:40px}.admin-session-actions button{flex:1 1 calc(50% - 8px);justify-content:center}}@media(max-width:1100px){.exam-student-layout{grid-template-columns:220px minmax(0,1fr)}.exam-student-layout>.task-workflow,.exam-student-layout>.utility-dock{grid-column:2}.admin-metric-grid,.exam-topic-grid,.exam-assessment-grid,.exam-student-grid,.exam-monitor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:980px){.teacher-exam-overview{grid-template-columns:minmax(0,1fr)}.teacher-exam-action-panel{width:100%}.exam-access-card{grid-template-columns:minmax(0,1fr);align-items:stretch}.exam-create-hero{align-items:flex-start;flex-direction:column;gap:18px}.exam-create-guardrails{justify-content:flex-start}.exam-builder{grid-template-columns:minmax(0,1fr)}.exam-builder-summary{position:static}}@media(max-width:720px){.teacher-exam-page{width:min(100% - 24px,1280px);padding-top:20px}.teacher-exam-overview{gap:24px;padding:24px;border-radius:18px}.teacher-exam-action-panel{grid-template-columns:minmax(0,1fr)}.teacher-exam-action-panel button{grid-column:1}.exam-pin-control{grid-template-columns:repeat(2,minmax(0,1fr))}.exam-pin-control>span{grid-column:1 / -1;padding:4px 4px 2px}.exam-pin-control button{width:100%}.exam-monitor-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.exam-monitor-metrics article{padding:14px}.exam-access-card,.exam-roster-section,.competency-section{padding:18px}.exam-access-card>div,.exam-roster-section>header,.competency-section>header{align-items:flex-start}.exam-roster-section>header,.competency-section>header{flex-direction:column}.competency-legend{justify-content:flex-start}.exam-form-page{width:min(100% - 24px,1240px);padding-top:26px}.exam-create-hero h1{font-size:34px}.exam-create-guardrails{display:grid;grid-template-columns:minmax(0,1fr)}.exam-create-guardrails span{width:fit-content}.exam-form-row,.exam-topic-grid,.exam-assessment-grid,.exam-student-grid,.exam-monitor-grid,.admin-metric-grid{grid-template-columns:1fr}.exam-duration-layout,.exam-attempt-options{grid-template-columns:minmax(0,1fr)}.exam-duration-presets{padding-bottom:0}.exam-topics-heading,.exam-assessment-heading,.exam-students-heading{align-items:flex-start;flex-wrap:wrap}.exam-topic-bulk-actions{width:100%;padding-left:43px}.exam-topic-bulk-actions button{flex:1}.teacher-exam-actions,.exam-invite-form,.admin-row,.teacher-create-actions{align-items:stretch;flex-direction:column}.exam-student-layout{display:block}.exam-task-rail{max-height:240px}}@media(max-width:480px){.teacher-exam-page{width:min(100% - 16px,1280px)}.teacher-exam-overview{padding:20px}.exam-monitor-metrics article>span{display:none}.exam-monitor-metrics strong{font-size:1.25rem}.exam-access-card>div{align-items:flex-start}.exam-access-card .section-icon{width:38px;height:38px}.exam-monitor-card{padding:16px}.exam-monitor-card header{align-items:flex-start;flex-direction:column}.exam-monitor-tasks>div>div{grid-template-columns:minmax(0,1fr) auto}.exam-monitor-tasks>div>div>small{grid-column:1 / -1}.exam-form-page{width:min(100% - 16px,1240px)}.exam-builder-section,.exam-builder-summary{padding:18px;border-radius:15px}.exam-duration-presets{grid-template-columns:repeat(2,minmax(0,1fr))}.exam-builder-summary .exam-form-actions{grid-template-columns:minmax(0,1fr)}.exam-topic-bulk-actions{padding-left:0}}.student-session-security-note{display:block;margin-top:24px;color:var(--muted);line-height:1.5}.session-setup-page{display:grid;place-items:start center}.session-setup-card label{display:grid;gap:7px;color:var(--muted);font-weight:700}.demo-directory{display:grid;gap:10px;margin:0;padding:16px;border:1px solid var(--line);border-radius:10px}.demo-directory label{grid-template-columns:auto 1fr;align-items:center}.demo-directory input{width:20px;min-height:20px}.clerk-student-directory{max-height:340px;overflow:auto}.clerk-student-directory>input[type=search]{width:100%;min-height:42px;padding:8px 11px;border:1px solid var(--line);border-radius:8px}.clerk-directory-student span{display:grid;gap:2px}.clerk-directory-student small,.directory-message{color:var(--muted);font-weight:500}.directory-message{display:flex;align-items:center;gap:8px;padding:8px 2px}.playground-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:12px}.playground-shell{height:100dvh;min-height:0;display:flex;flex-direction:column;overflow:hidden}.playground-shell>.topbar{flex:0 0 auto}.playground-page{width:calc(100% - 32px);max-width:none;min-height:0;flex:1 1 auto;padding-block:16px;display:flex;flex-direction:column}.playground-workspace{min-height:0;flex:1 1 auto}.playground-workspace .editor-panel{height:100%;min-height:0}.playground-columns{min-height:0;flex:1 1 auto;display:grid;grid-template-columns:minmax(0,1.65fr) minmax(320px,.75fr)}.playground-columns>.student-editor-area{min-width:0;min-height:0}.playground-columns>.terminal-panel{min-width:0;min-height:0;flex-basis:auto;border-top:0;border-left:1px solid #27364d}.teacher-workspace{grid-template-columns:minmax(245px,.72fr) minmax(480px,1.7fr) minmax(270px,.8fr);align-items:start}.teacher-management,.teacher-progress-pane{max-height:calc(100dvh - 150px);overflow:auto;position:sticky;top:92px}.teacher-target-controls{grid-template-columns:repeat(4,minmax(130px,1fr))}.teacher-target-controls .set-class-exercise{grid-column:1 / -1}.class-pacing-bar{grid-template-columns:auto minmax(160px,.75fr) minmax(220px,1.4fr) auto}.pacing-mode-control{display:grid;gap:4px;color:var(--muted);font-size:12px;font-weight:800}.pacing-mode-control select{min-width:140px}.online-label{color:var(--green)}.offline-label{color:var(--muted)}.recent-activity{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}.recent-activity ol{display:grid;gap:9px;margin:10px 0 0;padding:0;list-style:none}.recent-activity li{display:grid;gap:3px;padding:10px;border-radius:8px;background:#f8fafc;font-size:12px}.recent-activity li span{color:var(--muted);text-transform:capitalize}.recent-activity code{color:var(--red);overflow-wrap:anywhere}.recent-activity time{color:var(--muted)}@media(max-width:1180px){.teacher-workspace{grid-template-columns:minmax(220px,.7fr) minmax(0,1.5fr)}.teacher-progress-pane{grid-column:1 / -1;position:static;max-height:none}}@media(orientation:portrait),(max-width:820px){.teacher-workspace,.teacher-target-controls,.class-pacing-bar{grid-template-columns:1fr}.teacher-management,.teacher-progress-pane{position:static;max-height:none}.playground-heading,.playground-shell .topbar{flex-direction:column;align-items:stretch}.playground-workspace .editor-panel{min-height:640px}.playground-columns{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(380px,1fr) minmax(220px,.55fr)}.playground-columns>.terminal-panel{border-top:1px solid #27364d;border-left:0}}@media(min-width:821px){.playground-columns{grid-template-columns:minmax(0,1.65fr) minmax(320px,.75fr);grid-template-rows:minmax(0,1fr)}.playground-columns>.terminal-panel{border-top:0;border-left:1px solid #27364d}}@media(max-width:820px){.playground-shell{height:auto;min-height:100dvh;overflow:visible}.playground-page{padding-block:24px}}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}html.student-viewport-locked,body.student-viewport-locked,body.student-viewport-locked #root{height:100%;min-height:0;overflow:hidden}button,input,select,textarea{font:inherit}button{border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:8px;min-height:40px;padding:0 14px;display:inline-flex;gap:8px;align-items:center;justify-content:center;cursor:pointer}button:hover{border-color:#9cadc7}button:disabled{opacity:.65;cursor:not-allowed}button.primary,.primary{background:var(--blue);color:#fff;border-color:var(--blue)}button.primary:hover,.primary:hover{background:var(--blue-dark);border-color:var(--blue-dark)}input,select{border:1px solid var(--line);border-radius:8px;min-height:40px;padding:0 12px;background:#fff;color:var(--ink);width:100%}textarea:focus,input:focus,select:focus,button:focus-visible{outline:3px solid rgba(37,99,235,.2);outline-offset:2px}.app-shell{min-height:100vh}.topbar{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:16px clamp(18px,4vw,44px);border-bottom:1px solid var(--line);background:#ffffffeb;position:sticky;top:0;z-index:20;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.brand,.panel-title,.editor-toolbar span,.feedback-card>div,.progress-cell>span,.engine-pill{display:flex;align-items:center;gap:10px}.brand-official-logo{display:block;width:126px;height:56px;max-width:none;flex:0 0 auto;object-fit:cover;object-position:center}.brand-mark{display:grid;place-items:center;width:44px;height:44px;border-radius:8px;background:#e7efff;color:var(--blue)}.brand-lockup{display:flex;align-items:center;gap:10px;min-width:0}.brand-academy{display:block;color:inherit;font-size:11px;font-weight:800;letter-spacing:-.02em;line-height:1.05;text-transform:lowercase}.brand-divider{flex:0 0 auto;align-self:stretch;width:1px;min-height:32px;background:#12203a2e}.brand-lab{display:block;color:var(--muted);font-size:11px;font-weight:500;letter-spacing:.08em;line-height:1.2;text-transform:uppercase}.brand strong{display:block;font-size:11px}.brand span:last-child{color:var(--muted);font-size:11px}.view-tabs{display:flex;gap:8px;flex-wrap:wrap}.view-tabs button.active{color:var(--blue);border-color:#b8c8f7;background:#eef4ff}.notice{margin:18px clamp(18px,4vw,44px) 0;padding:12px 14px;border-radius:8px;display:flex;gap:10px;align-items:center}.notice.error{background:#fff1f2;color:#9f1239;border:1px solid #fecdd3}.join-shell{background:#f6f7fb}.join-page{min-height:calc(100vh - 76px);padding:48px clamp(18px,4vw,44px)}.join-stage{display:grid;grid-template-columns:minmax(0,.9fr) minmax(340px,520px);align-items:start;gap:clamp(28px,5vw,72px);max-width:1120px;margin:0 auto}.join-copy{padding-top:24px}.join-stage h1{margin:0 0 12px;color:var(--ink);font-size:clamp(34px,4.5vw,56px);line-height:1.05;font-weight:850}.join-copy p{max-width:540px}.join-card{display:grid;gap:16px;padding:22px;border-radius:8px;background:#fff;border:1px solid var(--line);box-shadow:0 18px 44px #1b274214}.join-card label{display:grid;gap:7px;color:var(--muted);font-weight:700}.join-card label span{font-size:13px}.join-code-input,.join-name-input{text-align:left;font-weight:700}.join-code-input{min-height:52px;border:1px solid var(--line);color:var(--ink);font-size:22px;letter-spacing:1px;text-transform:uppercase}.join-name-input{min-height:48px;color:var(--ink);font-size:16px}.join-enter-button{min-height:48px;font-weight:800}.join-error{display:flex;align-items:flex-start;gap:8px;border:1px solid #fecdd3;border-radius:8px;background:#fff1f2;color:#9f1239;padding:10px 12px;line-height:1.35}.presenter-view{min-height:100vh;display:flex;flex-direction:column;background:#f8fafc}.presenter-header{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:22px clamp(28px,5vw,72px);border-bottom:1px solid var(--line);background:#fff}.presenter-join-code{display:flex;align-items:center;gap:18px;color:var(--muted);font-weight:700}.presenter-join-code strong{color:var(--ink);font-size:clamp(28px,4vw,48px);letter-spacing:4px;font-variant-numeric:tabular-nums}.presenter-stage{flex:1;display:grid;grid-template-columns:minmax(180px,.35fr) minmax(0,1.65fr);grid-template-rows:1fr auto;gap:clamp(30px,5vw,80px);align-items:center;padding:clamp(40px,7vw,96px)}.presenter-position{display:grid;gap:10px;color:var(--muted);font-size:clamp(18px,2vw,28px)}.presenter-position strong{color:var(--blue);font-size:clamp(32px,4vw,58px)}.presenter-prompt h1{max-width:1100px;font-size:clamp(48px,7vw,96px)}.presenter-prompt p{max-width:1100px;margin-top:24px;color:#334155;font-size:clamp(24px,3.2vw,46px);line-height:1.35}.presenter-footer{grid-column:1 / -1;display:flex;align-items:center;gap:10px;color:var(--muted);font-size:clamp(16px,1.6vw,22px)}.presenter-empty{align-items:center;justify-content:center;gap:14px;text-align:center;color:var(--blue)}.student-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:24px;padding:24px clamp(18px,4vw,44px) 36px}.lesson-rail{display:flex;flex-direction:column;gap:16px}.panel,.editor-panel,.feedback-panel,.progress-table-wrap{background:var(--panel);border:1px solid var(--line);border-radius:8px}.panel.compact{padding:16px}.panel-title{font-weight:700;margin-bottom:12px}.inline-form,.add-student{display:flex;gap:8px}.inline-form{margin-top:10px}.stacked-form{display:grid;gap:8px;margin-top:12px}.stacked-form+.stacked-form{border-top:1px solid var(--line);padding-top:12px}.stacked-form button{width:100%}.field-label{display:grid;gap:6px;margin-top:12px;color:var(--muted);font-weight:700}.field-label>span{font-size:13px}.pin-card,.teacher-pin-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0 10px}.pin-card span,.teacher-pin-card span{min-width:0;color:var(--muted);overflow-wrap:anywhere}.pin-card strong,.teacher-pin-card strong{color:var(--ink);font-size:28px;letter-spacing:2px;font-variant-numeric:tabular-nums;white-space:nowrap}.join-page-link{width:100%;margin-top:12px}.teacher-actions{display:grid;gap:10px;min-width:min(460px,100%)}.teacher-actions .add-student{min-width:0}.icon-button{width:42px;padding:0;flex:0 0 auto}.exercise-list,.session-list,.session-group{display:grid;gap:8px}.exercise-list.nested{margin-left:14px;padding-left:12px;border-left:2px solid #dbe5f5}.session-item{display:flex;align-items:center;justify-content:space-between;min-height:72px;text-align:left;width:100%;padding:12px;background:#fbfcff}.pacing-card{display:grid;gap:4px;padding:16px;border:1px solid #bfdbfe;border-radius:8px;background:#eff6ff}.pacing-card small{color:var(--muted)}.pacing-card p{margin-top:8px;font-size:13px}.session-item.active{border-color:#9bb7ff;background:#eef4ff}.session-item strong,.session-item small{display:block}.session-item small{color:var(--muted)}.session-count{min-width:48px;border:1px solid #cad5e7;border-radius:999px;padding:4px 8px;text-align:center;color:var(--muted);font-weight:800;font-size:13px}.exercise-item{justify-content:flex-start;min-height:66px;text-align:left;width:100%;padding:12px;background:#fff}.exercise-item.active{border-color:#9bb7ff;background:#f1f6ff}.exercise-item strong,.exercise-item small{display:block}.exercise-item small,.progress-table small,.metric-card small,.progress-cell small{color:var(--muted)}.status-dot{width:10px;height:10px;border-radius:999px;background:#a5b0c2;flex:0 0 auto}.status-dot.complete{background:var(--green)}.status-dot.needs_review{background:var(--amber)}.status-dot.not_started{background:#a5b0c2}.workbench{min-width:0}.lesson-header,.teacher-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:18px}.status-pill-row{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.eyebrow{display:inline-block;text-transform:uppercase;letter-spacing:0;font-weight:800;font-size:12px;color:var(--blue);margin-bottom:6px}h1{margin:0 0 8px;font-size:clamp(28px,4vw,42px);line-height:1.08}p{margin:0;color:var(--muted);line-height:1.55}.engine-pill{border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 12px;color:var(--muted);white-space:nowrap}.sync-status{border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 12px;color:var(--muted);white-space:nowrap;display:inline-flex;align-items:center;gap:8px}.sync-status.connected{color:#047857;background:#ecfdf5;border-color:#bbf7d0}.sync-status.connecting,.sync-status.idle{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.sync-status.disabled,.sync-status.error{color:#9f1239;background:#fff1f2;border-color:#fecdd3}.code-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.75fr);gap:18px;align-items:stretch}.editor-panel{min-height:620px;display:flex;flex-direction:column;overflow:hidden}.editor-toolbar{min-height:58px;padding:10px 12px 10px 16px;border-bottom:1px solid #263246;background:#141e2d;color:#dbe7ff;display:flex;align-items:center;justify-content:space-between;gap:12px}.toolbar-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.toolbar-actions button{min-height:36px}.ai-loader{--ai-loader-color: #7c8ff5;display:inline-flex;min-height:36px;align-items:center;gap:8px;color:var(--muted);font-size:12px;font-weight:700;white-space:nowrap}.ai-loader-visual{position:relative;display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center}.ai-loader-dots .ai-loader-visual{gap:3px}.ai-loader-dots .ai-loader-visual>span{width:5px;height:5px;border-radius:999px;background:var(--ai-loader-color);animation:ai-loader-dot var(--ai-loader-cycle) ease-in-out infinite}.ai-loader-dots .ai-loader-visual>span:nth-child(2){animation-delay:calc(var(--ai-loader-cycle) / -3)}.ai-loader-dots .ai-loader-visual>span:nth-child(3){animation-delay:calc(var(--ai-loader-cycle) / -1.5)}.ai-loader-bar .ai-loader-visual{width:42px;height:4px;overflow:hidden;border-radius:999px;background:#7c8ff533}.ai-loader-sweep{width:55%;height:100%;border-radius:inherit;background:var(--ai-loader-color);animation:ai-loader-sweep var(--ai-loader-cycle) ease-in-out infinite}.ai-loader-grid .ai-loader-visual{width:16px;display:grid;grid-template-columns:repeat(3,4px);gap:2px}.ai-loader-grid .ai-loader-visual>span{width:4px;height:4px;border-radius:1px;background:var(--ai-loader-color);animation:ai-loader-grid var(--ai-loader-cycle) ease-in-out infinite}.ai-loader-grid .ai-loader-visual>span:nth-child(3n+2){animation-delay:calc(var(--ai-loader-cycle) / -3)}.ai-loader-grid .ai-loader-visual>span:nth-child(3n){animation-delay:calc(var(--ai-loader-cycle) / -1.5)}@keyframes ai-loader-dot{0%,60%,to{opacity:.35;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}@keyframes ai-loader-sweep{0%{transform:translate(-110%)}50%,to{transform:translate(190%)}}@keyframes ai-loader-grid{0%,65%,to{opacity:.3}35%{opacity:1}}@media(prefers-reduced-motion:reduce){.ai-loader-visual>span{animation:none!important;opacity:.75;transform:none}}.code-editor-wrap{position:relative;flex:1;background:var(--code);min-height:0}.student-mcq{width:100%;min-width:0;min-height:420px;margin:0;padding:clamp(20px,3vw,36px);display:block;box-sizing:border-box;border:0;background:#f8faff}.student-mcq-options{width:min(100%,760px);margin-inline:auto;display:grid;gap:14px}.student-mcq-heading{color:#18212f;font-family:var(--font-display, inherit);font-size:20px;font-weight:800;text-wrap:balance}.student-mcq label{display:grid;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:13px;padding:16px 18px;border:1px solid #d9dfeb;border-radius:14px;background:#fff;color:#18212f;cursor:pointer;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease}.student-mcq label:hover,.student-mcq label.selected{border-color:#4569d4;background:#f1f5ff;box-shadow:0 0 0 3px #4569d41f}.student-mcq input{width:18px;height:18px;accent-color:#3459c7}.student-mcq-letter{display:grid;width:32px;height:32px;place-items:center;border-radius:50%;background:#e8edff;color:#263891;font-weight:800}.student-explanation-response{width:min(100%,860px);min-height:420px;margin-inline:auto;padding:clamp(24px,4vw,44px);display:grid;align-content:start;gap:14px;box-sizing:border-box;color:#18212f}.student-explanation-response>span{font-family:var(--font-display, inherit);font-size:20px;font-weight:800}.student-explanation-response textarea{width:100%;min-height:260px;resize:vertical;padding:18px;border:1px solid #d9dfeb;border-radius:14px;background:#fff;color:#18212f;font:inherit;line-height:1.6}.student-explanation-response textarea:focus-visible{border-color:#4569d4;outline:3px solid rgba(69,105,212,.18)}.workbench .mcq-editor-panel{border-color:#dfe5ef;background:#f8faff}.mcq-editor-panel .student-editor-area{width:100%;background:#f8faff}.mcq-editor-panel .student-mcq{width:100%}.mcq-editor-panel .editor-actions-bar{border-top-color:#dfe5ef;background:#fff}.mcq-editor-panel .editor-actions-bar small{color:#68758a}.mcq-editor-panel .editor-actions-bar .toolbar-actions button:not(.primary){border-color:#cdd6e5;background:#fff;color:#27364d}.mcq-editor-panel .editor-actions-bar .toolbar-actions button:not(.primary):hover:not(:disabled){border-color:#8293ad;background:#f3f6fa}.constructed-response-result{position:relative;display:grid;gap:8px;padding:20px;border:1px solid #d9dfeb;border-radius:16px;background:#fff}.constructed-response-result.success{border-color:#8bd4a2;background:#f2fbf5}.constructed-response-result.warn{border-color:#efc45b;background:#fffaf0}.constructed-response-score{position:absolute;top:18px;right:18px;color:#263891;font-size:18px;font-weight:900}.student-editor-area{display:flex;min-height:360px;flex:1 1 58%}.cross-task-code-recovery{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid #f2c66d;background:#fff8e6;color:#5f4300}.cross-task-code-recovery strong,.cross-task-code-recovery p{margin:0}.cross-task-code-recovery p{margin-top:2px;font-size:13px}.cross-task-code-recovery-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.cross-task-code-recovery-actions button{min-height:36px;padding:7px 11px;border:1px solid #c9972f;border-radius:8px;background:#fff;color:#5f4300;font-weight:700}@media(max-width:760px){.cross-task-code-recovery{grid-template-columns:auto minmax(0,1fr)}.cross-task-code-recovery-actions{grid-column:1 / -1;justify-content:flex-start}}.student-editor-area .code-editor-wrap,.teacher-live-editor .code-editor-wrap{width:100%}.terminal-panel{flex:0 0 250px;min-height:210px;display:flex;flex-direction:column;border-top:1px solid #263246;background:#0b1220;color:#e5edf8}.terminal-toolbar{min-height:38px;padding:6px 10px 6px 14px;border-bottom:1px solid #263246;background:#0b1220;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px;font-weight:800}.terminal-host{background:#0b1220}.terminal-toolbar>div{display:flex;align-items:center;gap:10px}.terminal-toolbar button{min-height:27px;padding:4px 9px;border-color:#40506a;background:#182338;color:#dbe7ff;font-size:12px}.terminal-toolbar button:hover:not(:disabled){border-color:#8293ad;background:#2a3951;color:#eef4ff}.terminal-toolbar button:disabled{opacity:.45}.terminal-state{color:#94a3b8;font-weight:600}.terminal-state.running{color:#67e8f9}.terminal-state.waiting-input{color:#fcd34d}.terminal-state.unsupported,.terminal-state.error{color:#fda4af}.terminal-host{min-height:0;flex:1;padding:8px 6px 4px 10px;overflow:hidden}.terminal-host .xterm{height:100%}.syntax-highlight,.code-editor{position:absolute;inset:0;margin:0;padding:18px;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:16px;line-height:1.55;tab-size:4;width:100%;height:100%;white-space:pre;overflow:auto}.syntax-highlight{color:#d7e0ee;pointer-events:none}.syntax-highlight code{font:inherit}.code-editor{resize:none;border:0;background:transparent;color:transparent;caret-color:#f8fafc;-webkit-text-fill-color:transparent}.code-editor::selection{background:#60a5fa59}.py-keyword{color:#93c5fd;font-weight:700}.py-builtin{color:#67e8f9}.py-string{color:#fcd34d}.py-number{color:#c4b5fd}.py-comment{color:#8ea0b8;font-style:italic}.py-punctuation{color:#a7f3d0}.code-editor:focus{outline:none}.feedback-panel{padding:18px;min-width:0}.empty-state{min-height:88px;padding:16px;border:1px dashed #c2ccdc;border-radius:8px;color:var(--muted);display:flex;gap:10px;align-items:flex-start;line-height:1.45}.feedback-card{border-radius:8px;border:1px solid var(--line);padding:14px}.feedback-card.success{background:#ecfdf5;border-color:#bbf7d0;color:#065f46}.feedback-card.warn{background:#fffbeb;border-color:#fde68a;color:#92400e}.feedback-card.error{background:#fff1f2;border-color:#fecdd3;color:#9f1239}pre{white-space:pre-wrap;word-break:break-word;margin:0;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace}.feedback-card pre{margin-top:10px;font-size:13px}.output-block{margin-top:16px;border:1px solid #202b3c;border-radius:8px;background:#101827;overflow:hidden}.output-title{color:#bdc8d9;border-bottom:1px solid #263246;padding:10px 12px;font-weight:700;font-size:13px}.output-block pre{color:#e5edf8;min-height:92px;padding:14px}.hint-block{margin-top:16px;padding:14px;border:1px solid var(--line);border-radius:8px;background:#fbfcff}.hint-block strong{display:block;margin-bottom:8px}.hint-heading,.hint-heading>span{display:flex;align-items:center}.hint-heading{justify-content:space-between;gap:12px}.hint-heading>span{gap:7px}.hint-heading strong{margin:0}.hint-heading small{color:var(--muted);white-space:nowrap}.hint-intro{font-size:14px}.hint-list{display:grid;gap:10px;margin:14px 0 0;padding:0;list-style:none}.hint-list li{padding:11px 12px;border:1px solid #d8e2f1;border-radius:8px;background:#fff}.hint-list li>span{display:block;margin-bottom:4px;color:var(--blue);font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.hint-list p{color:#40506a;font-size:14px;line-height:1.45}.hint-button{width:100%;margin-top:12px;border-color:#b9cff8;background:#eff6ff;color:#1d4ed8}.hint-button:hover:not(:disabled){border-color:#7da3f6;background:#dbeafe}.hint-button:disabled{color:#64748b;background:#f1f5f9}.teacher-layout{padding:28px clamp(18px,4vw,44px) 40px}.class-session-controls{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;margin:18px 0}.session-control-card{display:grid;grid-template-columns:minmax(190px,1.2fr) minmax(160px,1fr) minmax(180px,1fr) auto;gap:12px;align-items:end;padding:18px;border:1px solid var(--line);border-radius:8px;background:#fff}.session-control-card h2{font-size:21px}.session-control-card label{display:grid;gap:6px;color:var(--muted);font-weight:700}.session-control-card label>span{font-size:13px}.add-student{min-width:min(420px,100%)}.add-student input{min-width:0}.metric-row{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:14px;margin:18px 0}.live-sync-panel{background:#fff;border:1px solid var(--line);border-radius:8px;padding:18px;margin:18px 0}.live-sync-header{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:16px}h2{margin:0 0 8px;font-size:26px;line-height:1.15}.sync-controls{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:12px;margin-bottom:16px}.sync-controls label{display:grid;gap:6px;color:var(--muted);font-weight:700}.sync-controls label span{font-size:13px}.teacher-live-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:16px}.teacher-live-editor{min-height:440px}.room-name{color:#9fb0c8;font-size:13px}.sync-help-panel{border:1px solid var(--line);border-radius:8px;background:#fbfcff;padding:16px}.sync-help-panel strong{display:block;margin-bottom:8px}.sync-help-panel p+p,.sync-warning{margin-top:10px}.answer-status{display:flex;align-items:center;gap:8px;margin:12px 0;font-weight:800}.answer-summary{display:grid;gap:12px;margin:0 0 14px}.answer-summary div{display:grid;gap:4px}.answer-summary dt{color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase}.answer-summary dd{margin:0;line-height:1.45}.sync-warning{border-radius:8px;border:1px solid #fed7aa;background:#fff7ed;color:#9a3412;padding:10px 12px;font-size:13px;line-height:1.45}.sync-warning.error{border-color:#fecdd3;background:#fff1f2;color:#9f1239}.metric-card{border:1px solid var(--line);border-radius:8px;background:#fff;padding:16px;display:flex;gap:12px;align-items:center}.metric-card>span{width:42px;height:42px;display:grid;place-items:center;border-radius:8px;background:#eef4ff;color:var(--blue)}.metric-card strong{display:block;font-size:24px}.progress-table-wrap{overflow:auto}.progress-table{width:100%;min-width:900px;border-collapse:collapse}.progress-table th,.progress-table td{border-bottom:1px solid var(--line);padding:14px;text-align:left;vertical-align:top}.progress-table thead th{background:#f9fbff;color:#334155;font-size:14px}.progress-table th span,.progress-table th small,.progress-table tbody th strong,.progress-table tbody th small{display:block}.progress-table tbody tr:last-child th,.progress-table tbody tr:last-child td{border-bottom:0}.progress-cell{min-width:148px}.progress-cell.complete{background:#f0fdf4}.progress-cell.needs_review{background:#fffbeb}.progress-cell code{display:block;margin-top:8px;color:#9f1239;font-size:12px}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:1080px){.student-layout{grid-template-columns:1fr}.lesson-rail{display:grid;grid-template-columns:minmax(240px,.8fr) 1fr;align-items:start}.exercise-list{grid-template-columns:repeat(2,minmax(0,1fr))}.code-grid,.class-session-controls,.session-control-card{grid-template-columns:1fr}}@media(max-width:760px){.topbar,.lesson-header,.teacher-header,.live-sync-header{flex-direction:column;align-items:stretch}.view-tabs{width:100%}.view-tabs button{flex:1 1 180px}.join-page{padding:28px 14px}.join-stage{grid-template-columns:1fr;gap:20px}.join-copy{padding-top:0}.student-layout,.teacher-layout{padding-left:14px;padding-right:14px}.lesson-rail,.exercise-list,.metric-row,.sync-controls,.teacher-live-grid{grid-template-columns:1fr}.editor-panel{min-height:540px}.student-editor-area{min-height:320px}.terminal-panel{flex-basis:220px}.editor-toolbar{align-items:flex-start;flex-direction:column}.toolbar-actions,.toolbar-actions button{width:100%}h1{font-size:30px}.presenter-header{align-items:flex-start;flex-direction:column}.presenter-stage{grid-template-columns:1fr}.presenter-footer{grid-column:auto}}.teacher-layout{grid-template-rows:auto auto minmax(0,1fr);gap:10px;padding:12px clamp(14px,1.5vw,24px) 16px}.teacher-layout .teacher-header{min-height:64px;padding:9px 14px;border-radius:12px;box-shadow:none}.teacher-layout .teacher-heading h1{font-size:clamp(19px,1.5vw,23px)}.teacher-layout .teacher-live-dot{min-height:28px;padding:4px 8px}.teacher-layout .teacher-join-code,.teacher-layout .presenter-open-button{min-height:44px}.teacher-layout .metric-row{gap:10px;margin:0}.teacher-layout .metric-card{min-height:54px;padding:8px 12px;border-radius:10px;box-shadow:none}.teacher-layout .metric-card>span{width:34px;height:34px}.teacher-layout .metric-card strong{font-size:18px}.teacher-layout .teacher-workspace{grid-template-columns:minmax(230px,.65fr) minmax(560px,2fr) minmax(270px,.76fr);align-items:stretch;gap:10px;min-height:0}.teacher-layout .teacher-management,.teacher-layout .teacher-code-pane,.teacher-layout .teacher-progress-pane{border-radius:12px;box-shadow:none}.teacher-layout .teacher-management{display:grid;grid-template-rows:auto auto auto minmax(120px,1fr) auto;gap:10px;padding:13px;overflow:hidden}.teacher-layout .teacher-management .teacher-pane-heading,.teacher-layout .teacher-progress-pane .teacher-pane-heading,.teacher-layout .teacher-student-search{margin:0}.teacher-layout .teacher-management .add-student{gap:7px}.teacher-layout .teacher-student-list{min-height:0;margin:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.teacher-layout .teacher-student-list button{min-height:54px;border-color:transparent;background:transparent}.teacher-layout .teacher-student-list button:hover:not(:disabled){border-color:var(--color-border);background:var(--color-surface-subtle)}.teacher-class-settings,.teacher-session-progress{border:1px solid var(--color-border);border-radius:9px;background:var(--color-surface-subtle)}.teacher-class-settings summary,.teacher-session-progress summary{min-height:44px;display:flex;align-items:center;justify-content:space-between;padding:8px 11px;cursor:pointer;color:var(--color-text);font-size:12px;font-weight:900;list-style:none}.teacher-class-settings summary::-webkit-details-marker,.teacher-session-progress summary::-webkit-details-marker{display:none}.teacher-class-settings summary:after,.teacher-session-progress summary:after{content:"+";color:var(--color-primary);font-size:18px}.teacher-class-settings[open] summary:after,.teacher-session-progress[open] summary:after{content:"−"}.teacher-class-settings-body{display:grid;gap:11px;padding:0 11px 11px;border-top:1px solid var(--color-border)}.teacher-class-settings-body>.teacher-field:first-child,.teacher-class-settings-body>.compact-session-form:first-child,.teacher-class-settings-body>.teacher-field+.compact-session-form{margin-top:11px}.teacher-layout .teacher-code-pane{grid-template-rows:auto auto auto minmax(0,1fr)}.teacher-layout .teacher-code-header{min-height:58px;padding:8px 13px}.teacher-layout .teacher-code-header>div:first-child{min-width:0}.teacher-layout .teacher-code-header h2{overflow:hidden;font-size:17px;text-overflow:ellipsis;white-space:nowrap}.teacher-layout .teacher-code-header p{margin:2px 0 0;color:var(--color-text-muted);font-size:11px}.teacher-layout .class-pacing-bar{grid-template-columns:minmax(125px,.62fr) minmax(200px,1.25fr) auto;gap:10px;padding:9px 12px;background:#f3f6ff}.pacing-mode-block{min-width:0;display:grid;gap:4px}.teacher-layout .pacing-mode-control,.teacher-layout .pacing-mode-control select{width:100%}.teacher-layout .pacing-mode-control select{min-height:38px}.teacher-layout .pacing-current-exercise{justify-items:start;text-align:left}.pacing-navigation{position:relative;display:flex;align-items:center;justify-content:flex-end;gap:7px}.pacing-navigation>button{min-height:40px;padding-inline:11px;white-space:nowrap}.teacher-layout .finish-next-error{grid-column:1 / -1}.teacher-layout .teacher-target-controls{grid-template-columns:minmax(125px,.75fr) minmax(180px,1.15fr) minmax(160px,1fr) auto;gap:8px;padding:8px 12px}.teacher-layout .teacher-target-controls .set-class-exercise{grid-column:auto;align-self:end;white-space:nowrap}.teacher-layout .teacher-field input,.teacher-layout .teacher-field select{min-height:40px}.teacher-layout .teacher-code-pane>.teaching-workspace{min-height:0;border:0;border-radius:0}.teacher-layout .teacher-progress-pane{display:flex;flex-direction:column;gap:10px;padding:13px;overflow-y:auto}.teacher-student-insight{display:grid;gap:9px;padding:11px;border:1px solid var(--color-border);border-radius:10px;background:var(--color-surface-subtle)}.teacher-insight-name{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.teacher-insight-name strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.teacher-insight-name small{color:var(--color-success);font-size:11px;font-weight:800;white-space:nowrap}.teacher-layout .selected-answer,.teacher-layout .teacher-progress-summary,.teacher-layout .teacher-feedback-detail{margin:0}.teacher-layout .selected-answer{min-height:48px;padding:8px 10px;background:#fff}.teacher-layout .teacher-progress-summary{gap:7px}.teacher-layout .teacher-feedback-detail{padding:9px 10px;background:#fff}.teacher-layout .teacher-feedback-detail p{margin:4px 0 0}.teacher-section-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.teacher-section-heading h3{margin:0}.teacher-section-heading>span{color:var(--color-success);font-size:10px;font-weight:900;text-transform:uppercase}.teacher-layout .recent-activity{margin:0;padding-top:2px}.teacher-layout .recent-activity ol{max-height:220px;overflow-y:auto}.teacher-session-progress{flex:0 0 auto}.teacher-session-progress .teacher-progress-list{max-height:260px;margin:0;padding:0 8px 8px;overflow-y:auto}@media(max-width:1280px){.teacher-app-shell{height:auto;min-height:100dvh;overflow:auto}.teacher-layout{min-height:auto;overflow:visible}.teacher-layout .teacher-workspace{grid-template-columns:minmax(230px,.65fr) minmax(0,1.75fr);overflow:visible}.teacher-layout .teacher-progress-pane{grid-column:1 / -1;display:grid;grid-template-columns:minmax(220px,.8fr) minmax(280px,1.2fr) minmax(220px,.8fr);max-height:none;overflow:visible}.teacher-layout .teacher-progress-pane>.teacher-pane-heading{grid-column:1 / -1}}@media(max-width:900px){.teacher-layout .teacher-header{align-items:stretch;flex-direction:column}.teacher-layout .teacher-actions{justify-content:space-between}.teacher-layout .teacher-workspace,.teacher-layout .teacher-progress-pane{grid-template-columns:minmax(0,1fr)}.teacher-layout .teacher-management{min-height:520px}.teacher-layout .teacher-code-pane{min-height:760px}.teacher-layout .teacher-progress-pane>.teacher-pane-heading{grid-column:auto}.teacher-layout .class-pacing-bar,.teacher-layout .teacher-target-controls{grid-template-columns:minmax(0,1fr)}.teacher-layout .pacing-navigation{justify-content:stretch}.teacher-layout .pacing-navigation>button{flex:1 1 0}.teacher-layout .teacher-target-controls .set-class-exercise{width:100%}}@media(max-width:600px){.teacher-layout .teacher-actions,.teacher-layout .teacher-join-code{align-items:stretch;flex-direction:column}.teacher-layout .teacher-join-code{padding:9px}.teacher-layout .teacher-join-code button{width:100%;border-width:1px 0 0;border-radius:0}.teacher-layout .metric-row{grid-template-columns:repeat(2,minmax(0,1fr))}}.role-home-actions{display:flex;align-items:center;gap:10px}.role-playground-cta{min-height:42px;padding-inline:18px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border-color:var(--color-primary);background:var(--color-primary);color:#fff}.quiz-page,.quiz-results-page{width:calc(100% - 48px);margin:0 auto;padding:32px 0 48px}.quiz-heading,.quiz-task-card,.quiz-workspace,.quiz-results-page>section{border:1px solid var(--border);border-radius:16px;background:#fff}.quiz-heading,.quiz-task-card{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding:22px}.quiz-heading h1,.quiz-task-card h2,.quiz-results-page h1{margin:4px 0}.quiz-heading p,.quiz-task-card p,.quiz-results-page p{margin:6px 0 0;color:var(--muted)}.quiz-heading>strong{padding:10px 14px;border:1px solid #f5c84c;border-radius:999px;color:#765600;white-space:nowrap}.quiz-task-card{margin-top:16px}.quiz-task-nav{display:flex;align-items:center;gap:12px;white-space:nowrap}.quiz-task-nav span{color:var(--muted);font-size:13px;font-weight:700}.quiz-progress{display:flex;flex-wrap:wrap;gap:7px;margin:14px 0}.quiz-progress button{width:34px;height:34px;padding:0;border-radius:50%;color:var(--muted)}.quiz-progress button.active{border-color:#4169e1;color:#17399a;box-shadow:0 0 0 2px #dce7ff}.quiz-progress button.passed{background:#e4f9eb;border-color:#69d58d;color:#15733a}.quiz-workspace{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(300px,.6fr);overflow:hidden;min-height:520px}.quiz-workspace .editor-panel,.quiz-workspace .terminal-panel{min-height:520px;border-radius:0}.quiz-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:12px}.quiz-feedback{margin:0 0 0 8px;font-size:14px}.quiz-feedback.success{color:#13733c}.quiz-feedback.error{color:#b42318}.quiz-loading,.quiz-error{margin:36px 0}.quiz-error{color:#b42318}.quiz-results-page>section{padding:30px}.quiz-result-banner{margin:20px 0;padding:13px 16px;border-radius:10px;background:#fff4e5;color:#9a4d00;font-weight:800}.quiz-result-banner.pass{background:#e4f9eb;color:#13733c}.quiz-results-page ol{padding:0;margin:20px 0;list-style:none;display:grid;gap:7px}.quiz-results-page li{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:10px 12px;border:1px solid var(--border);border-radius:9px}.quiz-results-page li small{color:var(--muted)}.quiz-results-page .pass{color:#13733c}.quiz-results-page .fail{color:#b42318}.assessment-results-page>section{overflow:hidden;box-shadow:0 18px 45px #15234614}.student-app-shell.exam-results-shell{height:100dvh;min-height:0;overflow:hidden}.exam-results-shell .assessment-results-page{flex:1 1 auto;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:contain}.assessment-results-page h1{font-size:clamp(2.6rem,7vw,4.6rem);letter-spacing:-.055em}.assessment-result-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:24px 0 16px}.assessment-result-summary>div{min-width:0;display:flex;align-items:center;gap:12px;padding:17px;border:1px solid #dbe3f2;border-radius:13px;background:#f8faff;color:#2946a4}.assessment-result-summary span{min-width:0;display:grid;gap:2px}.assessment-result-summary strong{color:var(--text);font-size:1.35rem}.assessment-result-summary small{color:var(--muted);font-weight:700}.quiz-result-banner.assessment-result-banner{display:flex;align-items:center;gap:9px;background:#eef3ff;color:#2946a4}.assessment-results-page li>span{min-width:0;font-weight:750}.assessment-results-page li>small{text-align:right}.assessment-results-action{min-height:44px;display:inline-flex;align-items:center;gap:8px}@media(max-width:760px){.quiz-page,.quiz-results-page{width:min(100% - 24px,1180px);padding-top:18px}.quiz-heading,.quiz-task-card{flex-direction:column}.quiz-workspace{grid-template-columns:minmax(0,1fr)}.quiz-workspace .editor-panel,.quiz-workspace .terminal-panel{min-height:340px}.quiz-results-page li{grid-template-columns:minmax(0,1fr) auto}.quiz-results-page li small{grid-column:1 / -1}.assessment-result-summary{grid-template-columns:minmax(0,1fr)}.assessment-results-page li>small{text-align:left}}.toolbar-actions .prediction-trigger{border-color:#a5b4fc;background:#eef2ff;color:#263f91}.toolbar-actions .prediction-trigger.scored{border-color:#86efac;background:#f0fdf4;color:#166534}.prediction-trigger>span{padding:2px 6px;border-radius:999px;background:#ffffffc7;font-size:11px;font-weight:900}.prediction-panel{display:grid;align-content:start;gap:18px}.prediction-panel-heading{display:grid;gap:4px}.prediction-panel h2{margin:4px 0;color:#172554;font-size:21px}.prediction-panel-heading p,.prediction-score-card p{margin:0;color:var(--muted)}.prediction-panel form{display:grid;gap:12px}.prediction-panel label{color:#233f9a;font-size:13px;font-weight:900}.prediction-panel textarea{width:100%;min-height:160px;resize:vertical;padding:12px 14px;border:1px solid #a5b4fc;border-radius:11px;font:inherit;line-height:1.5}.prediction-panel textarea:focus{outline:3px solid rgba(99,102,241,.2);border-color:#4f46e5}.prediction-score-card{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:14px;padding:14px;border:1px solid #fdba74;border-radius:12px;background:#fff7ed}.prediction-score-card.correct{border-color:#86efac;background:#f0fdf4}.prediction-score-value{display:flex;align-items:baseline;color:#9a3412}.prediction-score-card.correct .prediction-score-value{color:#15803d}.prediction-score-value strong{font-size:30px;line-height:1}.prediction-score-value span{font-size:12px;font-weight:800}.prediction-panel-error{margin:0;color:#b42318;font-size:13px;font-weight:700}.prediction-score-button,.prediction-solution-button{width:100%;justify-content:center}.prediction-solution-status,.presenter-solution-status{margin:0;color:#475569;font-size:13px;font-weight:800}.prediction-solution-status.error,.presenter-solution-status.error{color:#b42318}.prediction-close-countdown{margin:0;padding:11px 13px;border:1px solid #86efac;border-radius:10px;background:#f0fdf4;color:#166534;font-size:13px;font-weight:800;text-align:center}@media(max-width:560px){.prediction-score-card{grid-template-columns:minmax(0,1fr)}}.course-preview-page,.teacher-report-page{min-height:100vh;background:var(--canvas)}.course-preview-heading,.teacher-report-heading,.teacher-report-table-wrap{width:calc(100% - 48px);margin:24px auto}.course-preview-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;padding:22px;border:1px solid var(--border);border-radius:16px;background:#fff}.course-preview-heading h1,.teacher-report-heading h1{margin:4px 0}.course-preview-heading p,.teacher-report-heading p{margin:0;color:var(--muted)}.course-preview-selectors,.presenter-independent-selectors{display:flex;gap:8px;flex-wrap:wrap}.course-preview-selectors label,.presenter-independent-selectors label,.presenter-student-selector{display:grid;gap:4px;color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.course-preview-selectors select,.presenter-independent-selectors select,.presenter-student-selector select{min-width:150px}.presenter-mode-toggle{display:flex;gap:6px}.presenter-mode-toggle button{border:1px solid var(--color-border);background:#fff;color:var(--color-text);font-weight:800}.presenter-mode-toggle button.active{border-color:var(--color-primary);background:var(--color-primary);color:#fff}.teaching-workspace.presenter.presenter-student-workspace>.teaching-workspace-grid{grid-template-columns:minmax(0,1fr)}.presenter-student-workspace .sync-status{flex:0 0 auto;margin-left:auto}.teacher-report-page .topbar>div{display:flex;gap:8px}.teacher-report-overview,.teacher-report-controls{width:calc(100% - 48px);margin:0 auto 18px;padding:20px;border:1px solid var(--border);border-radius:14px;background:#fff}.teacher-report-overview{display:grid;grid-template-columns:minmax(190px,.45fr) minmax(0,1fr);gap:28px;align-items:start}.teacher-report-overview h2{margin:4px 0}.teacher-report-overview p,.teacher-report-controls p{margin:0;color:var(--muted)}.teacher-report-graph{display:grid;gap:12px}.teacher-report-graph article{display:grid;grid-template-columns:minmax(150px,.7fr) minmax(160px,1fr) 46px;align-items:center;gap:12px}.teacher-report-graph article>div:first-child{display:grid;gap:2px}.teacher-report-graph article span{color:var(--muted);font-size:12px}.teacher-report-graph article b{text-align:right;color:var(--color-primary)}.teacher-report-bar{height:10px;overflow:hidden;border-radius:999px;background:#e7ecf5}.teacher-report-bar span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#22a35a,#4cc878)}.teacher-report-controls{display:flex;align-items:end;justify-content:space-between;gap:16px}.teacher-report-controls label{display:grid;min-width:230px;gap:5px;color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.teacher-report-controls select{min-width:230px}.teacher-report-disclosure-actions{display:flex;gap:8px}.teacher-report-disclosure-actions button{white-space:nowrap}.teacher-report-table-wrap{overflow:auto;border:1px solid var(--border);border-radius:14px;background:#fff}.teacher-report-table-wrap table{width:100%;border-collapse:collapse;font-size:13px}.teacher-report-table-wrap th,.teacher-report-table-wrap td{padding:11px 13px;border-bottom:1px solid var(--border);text-align:left}.teacher-report-table-wrap th{background:#f8fafc;font-size:11px;text-transform:uppercase;letter-spacing:.04em}.teacher-report-matrix{min-width:760px}.teacher-report-matrix td{min-width:180px}.teacher-report-group-row th{padding:0;text-transform:none}.teacher-report-group-row button{display:flex;width:100%;min-height:52px;align-items:center;gap:9px;padding:12px 15px;border:0;border-radius:0;background:transparent;color:var(--color-text);text-align:left}.teacher-report-group-row button:hover{filter:none;background:#283a910f;transform:none}.teacher-report-group-row button:focus-visible{position:relative;z-index:1;outline:3px solid rgba(40,58,145,.28);outline-offset:-3px}.teacher-report-group-row button[aria-expanded=false] .teacher-report-disclosure-icon{transform:rotate(-90deg)}.teacher-report-disclosure-icon{flex:0 0 auto;transition:transform .16s ease}.teacher-report-group-label{flex:0 0 auto;color:var(--color-primary);font-size:11px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.teacher-report-group-row strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.teacher-report-group-row small{margin-left:auto;color:var(--muted);font-size:11px;font-weight:700;white-space:nowrap}.teacher-report-session-row th{border-top:2px solid var(--border);background:#e8eefc}.teacher-report-session-row button{min-height:60px;font-size:14px}.teacher-report-exercise-row th{background:#f1f4fb}.teacher-report-exercise-row button{padding-left:34px}.teacher-report-task-row th{background:#f8faff}.teacher-report-task-row button{min-height:48px;padding-left:58px}.teacher-report-metric-row th{padding-left:94px}.report-status{font-weight:800}.report-status.passed{color:#15803d}.report-status.failed{color:#b42318}.report-status.not-started{color:var(--muted)}.quiz-student-layout .quiz-curriculum .curriculum-list{min-height:0}.quiz-student-layout .quiz-feedback-card{min-height:108px;padding:14px}.quiz-feedback-card strong{display:block;margin-bottom:6px}.quiz-feedback-card p{margin:0;color:var(--muted);font-size:13px;line-height:1.45}.quiz-feedback-card.success{border-color:#86efac;background:#f0fdf4;color:#166534}.quiz-feedback-card.error{border-color:#fecaca;background:#fff1f2;color:#b42318}@media print{.teacher-report-page .topbar{display:none}.teacher-report-heading,.teacher-report-overview,.teacher-report-controls,.teacher-report-table-wrap{width:100%;margin:0 0 14px;border:0}.teacher-report-table-wrap{overflow:visible}@page{size:A4 landscape;margin:10mm}}.report-issue-trigger{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:36px;padding:.48rem .72rem;border:1px solid #d8deea;border-radius:9px;background:#fff;color:#344054;font:inherit;font-size:.82rem;font-weight:700;line-height:1;white-space:nowrap;box-shadow:none}.role-topbar>.brand-home-button,.topbar>.brand-home-button{margin-right:auto}.report-issue-trigger:hover{border-color:#aeb9cf;background:#f8fafc;color:#1f3a8a}.report-issue-trigger:focus-visible,.report-issue-dialog button:focus-visible,.report-issue-dialog input:focus-visible,.report-issue-dialog textarea:focus-visible{outline:3px solid rgba(47,64,177,.2);outline-offset:2px}.report-issue-backdrop{position:fixed;inset:0;z-index:1200;display:grid;place-items:center;padding:1.25rem;overflow-y:auto;background:#0f172a94;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.report-issue-dialog{width:min(100%,620px);max-height:calc(100vh - 2.5rem);overflow-y:auto;border:1px solid #d7deeb;border-radius:18px;background:#fff;color:#101828;box-shadow:0 24px 70px #0f172a3d}.report-issue-heading{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.85rem;align-items:start;padding:1.35rem 1.35rem 1.1rem;border-bottom:1px solid #e4e8f0}.report-issue-heading-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#eef2ff;color:#2f40b1}.report-issue-heading .eyebrow{display:block;margin-bottom:.25rem;color:#2f40b1;font-size:.7rem}.report-issue-heading h2{margin:0;font-size:clamp(1.18rem,3vw,1.45rem);line-height:1.2}.report-issue-heading p{margin:.35rem 0 0;color:#667085;font-size:.88rem}.report-issue-heading .report-issue-close{display:grid;place-items:center;width:36px;height:36px;padding:0;border:0;border-radius:9px;background:transparent;color:#667085}.report-issue-heading .report-issue-close:hover{background:#f2f4f7;color:#101828}.report-issue-form{display:grid;gap:1.05rem;padding:1.25rem 1.35rem 1.35rem}.report-category-fieldset{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;margin:0;padding:0;border:0}.report-category-fieldset legend,.report-field>span,.report-image-field>div:first-child strong{margin-bottom:.5rem;color:#1d2939;font-size:.84rem;font-weight:750}.report-category-fieldset legend{grid-column:1 / -1}.report-category-fieldset label{position:relative;display:grid;grid-template-columns:auto auto minmax(0,1fr);gap:.65rem;align-items:center;min-height:74px;padding:.8rem;border:1px solid #d8deea;border-radius:12px;background:#fff;color:#475467;cursor:pointer}.report-category-fieldset label.selected{border-color:#2f40b1;background:#f3f5ff;color:#253593;box-shadow:inset 0 0 0 1px #2f40b1}.report-category-fieldset input{width:17px;height:17px;margin:0;accent-color:#2f40b1}.report-category-fieldset label>span{display:grid;gap:.14rem}.report-category-fieldset small{color:#667085;font-size:.73rem;font-weight:500}.report-field{display:grid;gap:.45rem}.report-field>span{margin:0}.report-field b{color:#d92d20}.report-field input,.report-field textarea{width:100%;border:1px solid #d8deea;border-radius:10px;background:#fff;color:#101828;font:inherit;font-size:.92rem}.report-field input{min-height:43px;padding:.65rem .75rem}.report-field textarea{min-height:128px;padding:.75rem;line-height:1.5;resize:vertical}.report-field>small{justify-self:end;color:#667085;font-size:.72rem}.report-image-field{display:grid;gap:.6rem}.report-image-field>div:first-child{display:flex;align-items:baseline;justify-content:space-between;gap:1rem}.report-image-field>div:first-child strong{margin:0}.report-image-field>div:first-child span{color:#667085;font-size:.72rem}.report-image-picker{display:flex;align-items:center;justify-content:center;gap:.5rem;min-height:46px;border:1px dashed #b9c3d6;border-radius:10px;background:#f8fafc;color:#344054;font:inherit;font-size:.84rem;font-weight:700}.report-image-picker:hover{border-color:#2f40b1;background:#f3f5ff;color:#253593}.report-image-preview{display:grid;grid-template-columns:74px minmax(0,1fr) auto;gap:.75rem;align-items:center;padding:.55rem;border:1px solid #d8deea;border-radius:10px;background:#f8fafc}.report-image-preview img{width:74px;height:52px;border-radius:7px;object-fit:cover}.report-image-preview>div{display:grid;gap:.2rem;min-width:0}.report-image-preview strong{overflow:hidden;font-size:.82rem;text-overflow:ellipsis;white-space:nowrap}.report-image-preview small{color:#667085;font-size:.72rem}.report-image-preview button{display:grid;place-items:center;width:36px;height:36px;padding:0;border:1px solid #e4e8f0;border-radius:8px;background:#fff;color:#b42318}.report-issue-error{margin:0;padding:.7rem .8rem;border:1px solid #fecdca;border-radius:9px;background:#fef3f2;color:#b42318;font-size:.82rem}.report-issue-actions{display:flex;justify-content:flex-end;gap:.65rem;padding-top:.15rem}.report-issue-actions button,.report-issue-success button{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:42px;padding:.62rem .95rem;border:1px solid #d8deea;border-radius:9px;background:#fff;color:#344054;font:inherit;font-size:.86rem;font-weight:750}.report-issue-actions button.primary,.report-issue-success button.primary{border-color:#2f40b1;background:#2f40b1;color:#fff;box-shadow:0 5px 12px #2f40b133}.report-issue-actions button:disabled{cursor:not-allowed;opacity:.55}.report-issue-success{display:grid;justify-items:center;gap:.6rem;padding:2.5rem 1.35rem;text-align:center}.report-issue-success>svg{color:#039855}.report-issue-success h3,.report-issue-success p{margin:0}.report-issue-success p{color:#667085}@media(max-width:680px){.report-issue-trigger span{display:none}.report-issue-trigger{width:36px;padding-inline:0}.report-issue-backdrop{align-items:end;padding:0}.report-issue-dialog{width:100%;max-height:calc(100vh - .75rem);border-radius:18px 18px 0 0}.report-issue-heading,.report-issue-form{padding-inline:1rem}.report-category-fieldset{grid-template-columns:1fr}.report-image-field>div:first-child{display:grid;gap:.2rem}}@media print{.report-issue-trigger,.report-issue-backdrop{display:none!important}}@media(max-width:800px){.course-preview-heading{align-items:stretch;flex-direction:column}.course-preview-heading,.teacher-report-heading,.teacher-report-overview,.teacher-report-controls,.teacher-report-table-wrap{width:min(100% - 24px,1180px)}.teacher-report-overview{grid-template-columns:1fr}.teacher-report-controls{align-items:stretch;flex-direction:column}.teacher-report-disclosure-actions{align-self:flex-start}}.student-layout .workbench{grid-template-rows:auto minmax(0,1fr);gap:10px}.student-layout .task-workflow{grid-template-columns:max-content max-content minmax(16px,1fr) max-content;grid-template-areas:"task-heading task-heading task-heading task-heading" "task-navigation task-score . task-steps" "task-error task-error task-error task-error";align-items:center;gap:8px 12px;margin:0;padding:10px 14px;border-radius:12px}.student-layout .task-workflow-heading{grid-area:task-heading;min-width:0;align-items:center;padding-bottom:8px;border-bottom:1px solid var(--student-border, #d9dfeb)}.student-layout .task-workflow-course-actions{display:flex;align-items:center;column-gap:12px;row-gap:8px;flex-wrap:wrap}.student-layout .task-workflow-course-actions .show-sessions-button{margin-bottom:0}.student-layout .task-workflow-heading>div:first-child{min-width:0}.student-layout .task-workflow-status{min-width:0;display:grid;justify-items:end;gap:5px}.student-layout .task-live-summary{min-width:0;display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}.student-layout .task-live-summary .game-summary{flex-wrap:nowrap}.student-layout .task-timer-chip{display:inline-flex;align-items:center;gap:5px;min-height:30px;padding:5px 9px;border:1px solid #cbd5e1;border-radius:999px;background:#f8fafc;color:#475569;font-size:11px;font-weight:800;white-space:nowrap}.student-layout .task-timer-chip.active{border-color:#86efac;background:#f0fdf4;color:#15803d}.student-layout .task-timer-chip.completed{border-color:#bfdbfe;background:#eff6ff;color:#1d4ed8}.student-layout .task-live-summary .sync-status{width:30px;min-height:30px;padding:5px 0;justify-content:center;font-size:11px}.student-layout .task-live-summary .sync-status.cloud-online{border-color:#86efac;background:#dcfce7;color:#15803d}.student-layout .task-live-summary .sync-status.cloud-offline{border-color:#fecaca;background:#fff1f2;color:#dc2626}.student-layout .task-workflow-heading .utility-kicker{font-size:10px}.student-layout .task-workflow-heading h2{margin-top:1px;overflow:visible;font-size:18px;line-height:1.25;overflow-wrap:anywhere;text-overflow:clip;white-space:normal}.student-layout .task-workflow-heading p{display:block;margin-top:2px;overflow:visible;font-size:12px;line-height:1.35;overflow-wrap:anywhere;-webkit-line-clamp:unset}.student-layout .task-state{flex:0 0 auto;padding:5px 8px;font-size:11px}.student-layout .task-steps{grid-area:task-steps;justify-content:flex-end;flex-wrap:nowrap;overflow-x:auto}.student-layout>.workbench{grid-template-rows:minmax(0,1fr)}.student-layout .task-steps button{width:30px;height:30px;flex:0 0 30px}.student-layout .exercise-score-cluster{grid-area:task-score;min-width:0;display:flex;align-items:center;gap:8px}.student-layout .exercise-score-cluster .ai-orb-face{flex:0 0 auto;overflow:visible;filter:drop-shadow(0 6px 10px rgb(58 70 145 / 18%))}.student-layout .exercise-score-report{width:max-content;max-width:100%;min-width:0;grid-template-columns:repeat(2,minmax(88px,auto));gap:14px;padding:5px 10px}.student-layout .task-error-reason{grid-area:task-error;width:100%;min-width:0;padding:8px 10px;display:flex;align-items:flex-start;gap:8px;border:1px solid #fecaca;border-radius:9px;background:#fff1f2;color:#b42318}.student-layout .task-error-reason>svg{flex:0 0 auto;margin-top:1px}.student-layout .task-error-reason strong{display:block;font-size:11px;line-height:1.3}.student-layout .task-error-reason p{margin:1px 0 0;color:#c43228;font-family:var(--font-mono);font-size:11px;line-height:1.35;white-space:pre-wrap;overflow-wrap:anywhere}.student-layout .task-navigation{grid-area:task-navigation;justify-content:flex-start;flex-wrap:nowrap}.student-layout .task-navigation button{min-height:32px;padding:5px 10px;font-size:12px}@media(max-width:1500px){.student-layout .task-workflow{grid-template-columns:max-content max-content minmax(12px,1fr) max-content}.student-layout .exercise-score-report{width:max-content;max-width:100%;min-width:0;display:grid}}@media(orientation:portrait),(max-width:820px){.student-layout .task-workflow{grid-template-columns:minmax(0,1fr);grid-template-areas:"task-heading" "task-error" "task-navigation" "task-score" "task-steps"}.student-layout .task-workflow-heading{display:flex}.student-layout .task-steps{justify-content:flex-start}.student-layout .task-workflow-status{justify-items:start}.student-layout .task-live-summary{justify-content:flex-start}}:root{--color-canvas: #f7f8fb;--color-canvas-tint: #ffffff;--color-surface: #ffffff;--color-surface-subtle: #f5f6f8;--color-surface-strong: #eaedf2;--color-text: #111827;--color-text-muted: #596579;--color-border: #e0e4eb;--color-border-strong: #b8c0ce;--color-primary: #263891;--color-primary-hover: #1c2b72;--color-primary-soft: #eef0fb;--color-accent: #187a38;--color-accent-soft: #edf9f1;--color-brand-yellow: #fdd209;--color-brand-green: #28b350;--color-brand-blue: #263891;--color-success: #047857;--color-success-soft: #ecfdf5;--color-warning: #a16207;--color-warning-soft: #fffbeb;--color-danger: #be123c;--color-danger-soft: #fff1f2;--color-code: #0c1424;--color-code-raised: #141f33;--color-focus: #263891;--font-body: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-display: "Arial Rounded MT Bold", "Trebuchet MS", var(--font-body);--font-mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 18px;--radius-pill: 999px;--shadow-1: 0 1px 2px rgba(17, 24, 39, .04), 0 5px 16px rgba(17, 24, 39, .035);--shadow-2: 0 2px 4px rgba(17, 24, 39, .04), 0 16px 40px rgba(17, 24, 39, .075);--motion-fast: .16s;--motion-standard: .22s;--z-sticky: 20;font-family:var(--font-body);color:var(--color-text);background:var(--color-canvas);--ink: var(--color-text);--muted: var(--color-text-muted);--line: var(--color-border);--panel: var(--color-surface);--blue: var(--color-primary);--blue-dark: var(--color-primary-hover);--green: var(--color-success);--amber: var(--color-warning);--red: var(--color-danger);--code: var(--color-code)}html{scroll-behavior:smooth;overflow-x:clip;background:var(--color-canvas)}body{min-height:100dvh;overflow-x:hidden;background:var(--color-canvas)}button,input,select{min-height:44px;border-color:var(--color-border);border-radius:var(--radius-sm)}button{padding-inline:var(--space-4);font-weight:700;touch-action:manipulation;transition:background-color var(--motion-fast) ease-out,border-color var(--motion-fast) ease-out,color var(--motion-fast) ease-out,box-shadow var(--motion-fast) ease-out}button:hover:not(:disabled){border-color:var(--color-border-strong)}button:active:not(:disabled){box-shadow:inset 0 2px 4px #1420331a}button:disabled{opacity:.48}button.primary,.primary{background:var(--color-primary);border-color:var(--color-primary);color:#fff;box-shadow:0 4px 12px #1d4ed82e}button.primary:hover:not(:disabled),.primary:hover:not(:disabled){background:var(--color-primary-hover);border-color:var(--color-primary-hover)}input,select{background:var(--color-surface);color:var(--color-text);padding-inline:var(--space-3);transition:border-color var(--motion-fast) ease-out,box-shadow var(--motion-fast) ease-out}textarea:focus,input:focus,select:focus,button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}main[tabindex="-1"]:focus,main[tabindex="-1"]:focus-visible{outline:none}h1,h2{color:var(--color-text);font-family:var(--font-display);letter-spacing:-.025em}p{color:var(--color-text-muted)}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.skip-link{position:fixed;z-index:100;top:var(--space-3);left:var(--space-3);padding:var(--space-3) var(--space-4);min-height:44px;display:flex;align-items:center;border-radius:var(--radius-sm);background:var(--color-text);color:#fff;font-weight:800;transform:translateY(-160%);transition:transform var(--motion-fast) ease-out}.skip-link:focus{transform:translateY(0)}.app-shell{min-height:100dvh}.topbar{min-height:80px;padding:var(--space-3) clamp(16px,3vw,40px);border-bottom-color:#aebbd0b3;background:#fffffff0;box-shadow:0 1px #14203308;z-index:var(--z-sticky)}.topbar:after{content:"";position:absolute;right:0;bottom:-1px;left:0;height:3px;background:linear-gradient(90deg,var(--color-brand-yellow) 0 18%,var(--color-brand-green) 18% 36%,var(--color-brand-blue) 36% 100%)}.brand-mark{width:38px;height:48px;border-radius:0;background:transparent;color:inherit;box-shadow:none}.brand-mark img{display:block;width:31px;height:39px}.brand-academy{font-family:var(--font-display)}.brand-lab{color:var(--color-text-muted);font-family:var(--font-body, inherit)}.view-tabs{gap:var(--space-2);padding:var(--space-1);border:1px solid var(--color-border);border-radius:14px;background:var(--color-surface-subtle)}.view-tabs button{min-height:44px;border-color:transparent;background:transparent;color:var(--color-text-muted)}.view-tabs button.active,.view-tabs button[aria-current=page]{border-color:var(--color-border);background:var(--color-surface);color:var(--color-primary);box-shadow:var(--shadow-1)}.notice{max-width:1720px;margin-inline:auto;border-radius:var(--radius-md)}.join-shell{background:linear-gradient(180deg,#ffffff 0%,var(--color-canvas) 100%)}.join-page{min-height:calc(100dvh - 80px);display:grid;place-items:center;padding:clamp(32px,7vw,88px) clamp(16px,4vw,48px)}.join-stage{width:100%;max-width:1180px;grid-template-columns:minmax(0,1fr) minmax(360px,480px);align-items:center;gap:clamp(40px,7vw,96px)}.join-copy{padding:0}.join-stage h1{max-width:680px;margin-bottom:var(--space-4);font-size:clamp(42px,6vw,72px);line-height:.98}.join-copy>p{max-width:570px;font-size:clamp(17px,2vw,20px)}.eyebrow,.join-step,.presenter-kicker{color:var(--color-accent);font-size:12px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.join-benefits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3);margin:var(--space-8) 0 0;padding:0;list-style:none}.join-benefits li{display:grid;align-content:start;gap:var(--space-2);min-width:0;padding:var(--space-4);border:1px solid rgba(214,222,234,.9);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-primary)}.join-benefits strong,.join-benefits small{display:block}.join-benefits strong{color:var(--color-text);font-size:14px}.join-benefits small{margin-top:var(--space-1);color:var(--color-text-muted);font-size:12px;line-height:1.45}.join-card{gap:var(--space-5);padding:clamp(24px,4vw,36px);border-color:#aebbd0cc;border-radius:var(--radius-lg);box-shadow:var(--shadow-2);position:relative;overflow:hidden}.join-card:before{content:"";position:absolute;top:0;right:0;left:0;height:5px;background:linear-gradient(90deg,var(--color-brand-yellow) 0 30%,var(--color-brand-green) 30% 52%,var(--color-brand-blue) 52% 100%)}.join-card-heading{display:grid;gap:var(--space-1);padding-bottom:var(--space-4);border-bottom:1px solid var(--color-border)}.join-card-heading h2{margin:var(--space-1) 0 0;font-size:25px}.join-card-heading p{font-size:14px}.join-card label{color:var(--color-text)}.join-card label>span{font-size:14px}.join-code-input,.join-name-input{border-width:2px;border-color:var(--color-border)}.join-code-input{min-height:58px;font-size:24px;letter-spacing:.15em}.join-name-input,.join-enter-button{min-height:52px}.student-layout,.teacher-layout{width:100%;max-width:none;margin-inline:auto}.student-layout{grid-template-columns:286px minmax(0,1fr);gap:var(--space-6);padding:var(--space-6) clamp(16px,3vw,40px) var(--space-10)}.lesson-rail{position:sticky;top:104px;align-self:start}.session-list{gap:var(--space-3)}.mobile-lab-controls{display:none}.pacing-card{padding:var(--space-5);border-color:#cfd5f0;border-radius:var(--radius-md);background:var(--color-primary-soft);box-shadow:none}.pacing-card>strong{font-family:var(--font-display);font-size:20px}.session-group{gap:var(--space-2)}.session-item,.exercise-item{border-radius:var(--radius-md);box-shadow:none}.session-item{min-height:76px;padding:var(--space-3) var(--space-4);background:#ffffffbf}.session-item.active{border-color:#a9bff8;background:var(--color-primary-soft);box-shadow:inset 4px 0 0 var(--color-primary)}.exercise-list.nested{margin-left:var(--space-3);padding-left:var(--space-3);border-left-color:#c4d2ee}.exercise-item{min-height:64px;padding:var(--space-3)}.exercise-item.active,.exercise-item[aria-current=step]{border-color:#a9bff8;background:var(--color-surface);box-shadow:0 0 0 2px var(--color-primary-soft)}.status-dot{width:11px;height:11px;border:2px solid var(--color-surface);box-shadow:0 0 0 1px currentColor}.lesson-header{margin-bottom:var(--space-4);padding:var(--space-5) var(--space-6);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-1)}.lesson-header h1{font-size:clamp(30px,3.2vw,46px)}.lesson-header p{max-width:820px;font-size:16px}.status-pill-row{max-width:440px}.engine-pill,.student-pill,.sync-status{min-height:38px;display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface-subtle);color:var(--color-text-muted);font-size:13px;font-weight:700}.student-pill{background:var(--color-accent-soft);color:var(--color-accent);border-color:#bce8c9}.code-grid{grid-template-columns:minmax(0,1.55fr) minmax(320px,.65fr);gap:var(--space-4)}.panel,.editor-panel,.feedback-panel,.progress-table-wrap,.live-sync-panel,.metric-card,.session-control-card,.sync-help-panel{border-color:var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-1)}.editor-panel{min-height:680px;border-color:#27364d;background:var(--color-code)}.editor-toolbar{min-height:64px;padding:var(--space-3) var(--space-4);background:var(--color-code-raised)}.editor-toolbar>span:first-child{min-width:0;font-family:var(--font-mono);font-size:13px}.toolbar-actions{flex-wrap:nowrap}.toolbar-actions button{min-height:44px;border-color:#52627b;background:#202d43;color:#eef4ff}.toolbar-actions button:hover:not(:disabled){border-color:#8293ad;background:#2a3951;color:#eef4ff}.toolbar-actions button.primary{border-color:#4f7df0;background:#2f63dc}.toolbar-actions button.primary:hover:not(:disabled){border-color:#6d8ef5;background:#3b73e8;color:#fff}.student-editor-area{min-height:390px}.terminal-panel{flex-basis:230px;border-top-color:#27364d;background:var(--color-code)}.terminal-toolbar button{min-height:44px;padding-inline:var(--space-3)}.feedback-panel{padding:var(--space-5);background:var(--color-surface)}.panel-title{padding-bottom:var(--space-3);border-bottom:1px solid var(--color-border);font-family:var(--font-display);font-size:18px}.empty-state,.feedback-card,.output-block,.hint-block,.hint-list li{border-radius:var(--radius-md)}.empty-state{background:var(--color-surface-subtle)}.feedback-card.success{background:var(--color-success-soft);color:#065f46}.feedback-card.warn{background:var(--color-warning-soft);color:#854d0e}.feedback-card.error{background:var(--color-danger-soft);color:#9f1239}.test-results-panel{margin-top:var(--space-4);padding:var(--space-4);border:1px solid #f0ca62;border-radius:var(--radius-lg);background:#fffbeb;color:#713f12}.test-results-panel.success{border-color:#86d9aa;background:#ecfdf5;color:#065f46}.test-results-heading{display:flex;justify-content:space-between;gap:var(--space-3);align-items:baseline}.test-results-heading span{color:currentColor;font-size:13px;opacity:.78}.test-results-save-error{margin:var(--space-3) 0 0;padding:9px 11px;border:1px solid #fda29b;border-radius:var(--radius-md);background:#fff1f2;color:#b42318;font-size:12px;font-weight:750;line-height:1.4}.test-results-panel ol{margin:var(--space-3) 0 0;padding:0;display:grid;gap:8px;list-style:none}.test-results-panel li{padding:10px 12px;display:flex;gap:9px;align-items:flex-start;border:1px solid rgba(113,63,18,.16);border-radius:var(--radius-md);background:#ffffffb3}.test-results-panel li.passed{color:#067647}.test-results-panel li.failed{color:#b42318}.test-results-panel li svg{flex:0 0 auto;margin-top:2px}.test-results-panel li p{margin:3px 0 0;color:#4b5563;font-size:13px;line-height:1.4}.utility-dock>.test-results-panel{max-height:min(300px,38dvh);margin:0;overflow:auto;box-shadow:0 2px 8px #1118270f}.hint-block{padding:var(--space-4);background:#fffbea;border-color:#f1dc72}.hint-button{min-height:46px;border-color:#e8d25b;background:#fff8cc;color:#665400}.teacher-layout{padding:var(--space-6) clamp(16px,3vw,40px) var(--space-10)}.teacher-header{margin-bottom:var(--space-4);padding:var(--space-6);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-1)}.teacher-actions{grid-template-columns:auto minmax(190px,1fr);min-width:min(620px,100%);align-items:end}.teacher-pin-card{grid-row:span 2;min-width:150px;min-height:98px;align-content:center;display:grid;justify-items:center;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--color-text)}.teacher-pin-card span{color:#b8c6db;font-size:11px;font-weight:900;letter-spacing:.12em}.teacher-pin-card strong{color:#fff;font-size:30px}.teacher-actions .field-label{margin:0}.add-student label{flex:1;min-width:0}.session-control-card{padding:var(--space-5)}.metric-row{gap:var(--space-3)}.metric-card{min-height:92px;padding:var(--space-4)}.metric-card>span{width:48px;height:48px;border-radius:14px;background:var(--color-primary-soft);color:var(--color-primary)}.metric-card strong{font-family:var(--font-display);font-size:27px}.live-sync-panel{padding:var(--space-6)}.sync-controls{padding:var(--space-4);border-radius:var(--radius-md);background:var(--color-surface-subtle)}.teacher-live-editor{min-height:480px}.sync-help-panel{padding:var(--space-5);background:var(--color-surface-subtle)}.progress-section{margin-top:var(--space-6)}.progress-section-head{display:flex;align-items:end;justify-content:space-between;gap:var(--space-6);margin-bottom:var(--space-3)}.progress-section-head p{max-width:560px;text-align:right;font-size:14px}.progress-table-wrap{border:1px solid var(--color-border);background:var(--color-surface)}.progress-table thead th{background:#edf2fa;color:var(--color-text)}.progress-table th,.progress-table td{padding:var(--space-4)}.progress-table tbody th{background:#fbfcfe}.progress-cell.complete{background:var(--color-success-soft)}.progress-cell.needs_review{background:var(--color-warning-soft)}.table-empty{padding:var(--space-8)!important;color:var(--color-text-muted);text-align:center!important}.presenter-view{min-height:100dvh;background:linear-gradient(180deg,#ffffff 0%,var(--color-canvas) 100%)}.presenter-header{min-height:112px;padding:var(--space-5) clamp(28px,5vw,72px);background:#fffffff2}.presenter-join-code{gap:var(--space-5);padding:var(--space-3) var(--space-5);border:2px solid #a9bff8;border-radius:var(--radius-md);background:var(--color-primary-soft)}.presenter-join-code span{color:var(--color-primary-hover);font-size:16px}.presenter-join-code strong{color:var(--color-primary-hover)}.presenter-stage{grid-template-columns:minmax(190px,.32fr) minmax(0,1.68fr);padding:clamp(40px,7vw,96px)}.presenter-position{padding:var(--space-6);border-radius:var(--radius-lg);background:var(--color-text);box-shadow:var(--shadow-2)}.presenter-position span{color:#bdc9da}.presenter-position strong{color:#fff}.presenter-prompt{display:grid;justify-items:start}.presenter-kicker{margin-bottom:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-pill);background:var(--color-accent-soft)}.presenter-prompt h1{margin-top:var(--space-2);font-size:clamp(52px,7vw,104px);line-height:.98}.presenter-prompt p{color:#334155}.presenter-footer{padding-top:var(--space-5);border-top:1px solid var(--color-border)}@media(max-width:1180px){.student-layout{grid-template-columns:1fr}.lesson-rail{position:static}.session-list{grid-template-columns:repeat(2,minmax(0,1fr))}.pacing-card{grid-column:1 / -1}.teacher-header{flex-direction:column}.teacher-actions{width:100%}}@media(max-width:900px){.join-stage{grid-template-columns:1fr;max-width:680px}.join-copy{text-align:center}.join-copy>p{margin-inline:auto}.code-grid,.teacher-live-grid{grid-template-columns:1fr}.feedback-panel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}.feedback-panel .panel-title{grid-column:1 / -1;margin:0}.output-block,.hint-block{margin-top:0}.presenter-stage{grid-template-columns:1fr;align-content:center}.presenter-position{grid-template-columns:auto 1fr;align-items:baseline}.presenter-footer{grid-column:auto}}@media(max-width:720px){.topbar{position:static;gap:var(--space-3)}.brand-divider,.brand-lab{display:none}.view-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%}.view-tabs button{min-width:0;padding-inline:var(--space-2);font-size:12px;line-height:1.2}.student-layout,.teacher-layout{padding:var(--space-4) var(--space-3) var(--space-8)}.join-benefits{display:none}.mobile-lab-controls{display:grid;gap:var(--space-3);padding:var(--space-4);border:1px solid #cfd5f0;border-radius:var(--radius-md);background:var(--color-primary-soft)}.mobile-lab-controls>div{display:grid;gap:2px}.mobile-lab-controls>div strong{font-family:var(--font-display);font-size:19px}.mobile-lab-controls>div small{color:var(--color-text-muted)}.mobile-lab-controls label{display:grid;gap:var(--space-1);color:var(--color-text);font-size:13px;font-weight:800}.session-list>.pacing-card,.session-list>.session-group{display:none}.session-list,.join-benefits,.feedback-panel,.metric-row,.sync-controls,.teacher-live-grid{grid-template-columns:1fr}.pacing-card,.feedback-panel .panel-title{grid-column:auto}.lesson-header{padding:var(--space-5)}.lesson-header,.teacher-header,.live-sync-header,.progress-section-head{flex-direction:column;align-items:stretch}.status-pill-row{justify-content:flex-start;max-width:none}.editor-panel{min-height:600px}.editor-toolbar{align-items:stretch}.toolbar-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.toolbar-actions button{width:100%}.toolbar-actions button:first-child{grid-column:1 / -1}.teacher-header,.live-sync-panel{padding:var(--space-5)}.teacher-actions{grid-template-columns:1fr;min-width:0}.teacher-pin-card{grid-row:auto}.add-student{min-width:0}.progress-section-head p{text-align:left}.presenter-header{gap:var(--space-4)}.presenter-join-code{width:100%;justify-content:space-between}}@media(max-width:420px){.topbar{padding-inline:var(--space-3)}.brand-mark{width:44px;height:44px}.brand-academy{font-size:10px}.view-tabs button{min-height:52px;flex-direction:column;gap:3px;font-size:11px}.join-page{padding:var(--space-8) var(--space-3)}.join-stage h1{font-size:40px}.join-card{padding:var(--space-5)}.session-item,.exercise-item{min-height:68px}.lesson-header h1{font-size:29px}.engine-pill,.student-pill,.sync-status{white-space:normal}.toolbar-actions{grid-template-columns:1fr}.toolbar-actions button:first-child{grid-column:auto}.student-editor-area{min-height:350px}.terminal-panel{flex-basis:220px}.add-student{display:grid;grid-template-columns:1fr}.presenter-header,.presenter-stage{padding:var(--space-5)}.presenter-join-code strong{font-size:30px}.presenter-position{padding:var(--space-5)}.presenter-prompt h1{font-size:46px}.presenter-prompt p{font-size:22px}}.task-workflow{display:grid;gap:14px;margin-bottom:16px;padding:18px;border:1px solid var(--border, #dbe4ee);border-radius:16px;background:#fff}.task-workflow-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.task-workflow-heading h2,.task-workflow-heading p{margin:4px 0 0}.task-state,.exercise-complete-label{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;padding:7px 10px;border-radius:999px;background:#f1f5f9;color:#475569;font-size:.8rem;font-weight:700}.task-state.complete,.exercise-complete-label{background:#dcfce7;color:#166534}.task-state.needs_review{background:#fff7ed;color:#9a3412}.task-steps,.task-navigation{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.task-steps button{width:34px;height:34px;padding:0;border-radius:50%}.task-steps button.active{outline:3px solid #bfdbfe;border-color:#2563eb}.task-steps button.complete{background:#dcfce7;border-color:#86efac;color:#166534}.task-steps button.submitted{background:#fee2e2;border-color:#fca5a5;color:#b91c1c}.task-navigation{justify-content:flex-end}.exercise-complete-label{margin-left:auto}@media(max-width:700px){.task-workflow-heading{display:grid}.task-state{justify-self:start}}.student-app-shell{height:100dvh;min-height:0;display:flex;flex-direction:column;overflow:hidden}.student-app-shell>.topbar,.student-app-shell>.notice{flex:0 0 auto}.student-app-shell>.notice{width:calc(100% - 32px);margin:var(--space-2) auto 0}.student-layout{width:100%;max-width:none;min-height:0;flex:1 1 auto;display:grid;grid-template-columns:300px minmax(460px,1fr) minmax(340px,410px);gap:var(--space-3);padding:var(--space-4);overflow:hidden}.student-layout.sessions-hidden{grid-template-columns:minmax(540px,1fr) minmax(340px,410px)}.lesson-rail{position:static;top:auto;height:100%;align-self:stretch;min-width:0;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);gap:var(--space-2);overflow:hidden}.sessions-toggle{min-height:44px;width:max-content;border-color:var(--color-border);background:var(--color-surface);color:var(--color-text-muted);font-weight:800}.hide-sessions-button{width:100%;justify-content:flex-start}.show-sessions-button{display:flex;margin-bottom:var(--space-4)}.session-list{min-height:0;align-content:start;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding-right:var(--space-1)}.session-list .pacing-card{padding:var(--space-4)}.session-list .pacing-card>strong{font-size:19px}.session-list .session-item{min-height:68px}.session-list .exercise-item{min-height:58px}.workbench{min-width:0;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);gap:var(--space-3);overflow:hidden}.workbench .lesson-header{min-width:0;margin:0;padding:var(--space-4) var(--space-5);gap:var(--space-4)}.workbench .lesson-header>div:first-child{min-width:0}.workbench .lesson-header h1{margin-bottom:var(--space-1);font-size:clamp(25px,2.1vw,34px)}.workbench .lesson-header p{display:-webkit-box;overflow:hidden;font-size:14px;-webkit-box-orient:vertical;-webkit-line-clamp:2}.workbench .status-pill-row{max-width:260px;gap:var(--space-2)}.workbench .engine-pill,.workbench .student-pill,.workbench .sync-status{min-height:34px;padding:6px 10px;font-size:12px}.workbench .code-grid{min-width:0;min-height:0;display:block}.workbench .editor-panel{width:100%;height:100%;min-height:0}.workbench .student-editor-area{min-height:0;flex:1 1 auto}.workbench .editor-toolbar{flex:0 0 auto}.utility-dock{min-width:0;min-height:0;display:grid;grid-template-rows:minmax(230px,1.05fr) minmax(230px,.95fr);gap:var(--space-3);overflow:hidden}.utility-dock>.terminal-panel{min-height:0;flex-basis:auto;border:1px solid #27364d;border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-1)}.utility-dock .terminal-toolbar{min-height:52px;padding-inline:var(--space-4)}.support-panel{min-width:0;min-height:0;display:flex;flex-direction:column;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);overflow:hidden;box-shadow:var(--shadow-1)}.support-tabs{flex:0 0 auto;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);border-bottom:1px solid var(--color-border)}.support-tabs.has-prediction{grid-template-columns:minmax(0,.8fr) minmax(0,.8fr) minmax(0,1.2fr)}.support-tabs button{position:relative;min-width:0;min-height:60px;padding:var(--space-2) var(--space-3);border:0;border-radius:0;background:transparent;color:var(--color-text-muted);font-weight:800}.support-tabs button+button{border-left:1px solid var(--color-border)}.support-tabs button:hover{background:var(--color-surface-subtle)}.support-tabs button[aria-selected=true]{color:var(--color-primary);background:var(--color-primary-soft)}.support-tabs button[aria-selected=true]:after{content:"";position:absolute;right:var(--space-3);bottom:0;left:var(--space-3);height:3px;border-radius:var(--radius-pill) var(--radius-pill) 0 0;background:var(--color-primary)}.support-tabs button>span{min-width:0;display:grid;justify-items:start;line-height:1.2;text-align:left}.support-tabs button small{color:var(--color-text-muted);font-size:10px;font-weight:700}.support-tab-panel{min-height:0;flex:1 1 auto;display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4);overflow-y:auto;overscroll-behavior:contain}.support-tab-panel .hint-heading{justify-content:flex-start;color:var(--color-text-muted);font-size:13px}.support-tab-panel .hint-list{margin:0;padding:0;display:grid;gap:var(--space-2);list-style:none}.support-tab-panel .hint-list li{padding:var(--space-3);border:1px solid #ead772;background:#fffbea}.support-tab-panel .hint-list li>span{color:#705d00;font-size:12px;font-weight:900}.support-tab-panel .hint-list p,.support-tab-panel .hint-intro{color:var(--color-text-muted);font-size:14px}.support-tab-panel .hint-button,.explain-button{width:100%;min-height:46px;margin-top:auto;flex:0 0 auto}.explain-panel{gap:var(--space-3)}.explain-heading{display:grid;gap:var(--space-1)}.utility-kicker{color:var(--color-primary);font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.explain-heading h2{margin:0;font-family:var(--font-display);font-size:19px}.explain-heading p,.explain-unavailable p{font-size:13px}.diagnostic-card,.explain-empty,.explain-unavailable{padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.diagnostic-card{display:grid;gap:var(--space-2);border-color:#f0b6c7;background:var(--color-danger-soft);color:#8f1237}.diagnostic-card pre{max-height:112px;overflow:auto;font-size:12px}.explain-empty{border-style:dashed;color:var(--color-text-muted);font-size:13px}.explain-button{border-color:#b9c6f4;background:var(--color-primary-soft);color:var(--color-primary);font-weight:900}.explain-unavailable{display:grid;gap:var(--space-1);border-color:#d9c86b;background:#fffbea;color:#665400}.explain-rich-text,.explain-rich-text .instruction-content,.explain-rich-text .instruction-rich-text,.explain-rich-text .instruction-rich-text p,.explain-rich-text .instruction-rich-text li{text-align:left}.explain-rich-text .instruction-content,.explain-rich-text .instruction-rich-text{width:100%;max-width:none;justify-self:stretch;margin-inline:0}.editor-theme-toggle{display:inline-flex;align-items:center;gap:6px;min-height:30px;margin-left:8px;padding:5px 9px;border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-text-muted);font-size:12px;font-weight:800}.code-editor-dark,.code-editor-dark .monaco-editor,.code-editor-dark .monaco-editor-background,.code-editor-dark .monaco-editor .margin,.code-editor-dark .monaco-editor .margin-view-overlays{background:#0b1220!important}.code-editor-dark .monaco-editor,.code-editor-dark .monaco-editor .view-lines,.code-editor-dark .monaco-editor .inputarea{color:#e5edf8!important}.monaco-editor .mcq-code-blank{border-radius:4px;background:#ffe080;box-shadow:inset 0 -1px #d5a600;color:#17233c!important;font-weight:800}@media(max-width:1320px){.student-layout{grid-template-columns:250px minmax(420px,1fr) minmax(320px,360px)}.student-layout.sessions-hidden{grid-template-columns:minmax(500px,1fr) minmax(320px,380px)}.workbench .status-pill-row{max-width:220px}}@media(max-width:1080px){.student-app-shell{height:auto;min-height:100dvh;overflow:visible}.student-layout,.student-layout.sessions-hidden{flex:none;grid-template-columns:minmax(0,1fr);overflow:visible}.lesson-rail,.workbench,.utility-dock{overflow:visible}.session-list{max-height:420px}.workbench .editor-panel{height:640px}.utility-dock{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:minmax(340px,auto)}.utility-dock>.terminal-panel,.support-panel{min-height:340px}}@media(max-width:720px){.student-layout,.student-layout.sessions-hidden{gap:var(--space-4);padding:var(--space-4) var(--space-3) var(--space-8)}.workbench .lesson-header{padding:var(--space-4)}.workbench .lesson-header p{display:block;overflow:visible}.workbench .status-pill-row{max-width:none}.workbench .editor-panel{height:660px;min-height:660px}.workbench .student-editor-area{min-height:410px}.utility-dock{grid-template-columns:minmax(0,1fr);grid-template-rows:320px auto}.utility-dock>.terminal-panel{min-height:320px}.support-panel{min-height:360px}.support-tabs{grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr)}.support-tabs button{min-height:64px;padding-inline:var(--space-2);font-size:13px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}@media(forced-colors:active){.status-dot,.brand-mark,.metric-card>span{forced-color-adjust:auto}button.primary,.primary{border:2px solid ButtonText}}.teacher-app-shell{height:100dvh;min-height:0;display:flex;flex-direction:column;overflow:hidden}.teacher-app-shell>.topbar,.teacher-app-shell>.notice{flex:0 0 auto}.teacher-layout{width:100%;max-width:none;min-width:0;min-height:0;flex:1 1 auto;display:grid;grid-template-rows:auto minmax(0,1fr);gap:var(--space-3);padding:var(--space-3) var(--space-4) var(--space-4);overflow:hidden}.teacher-header{min-width:0;min-height:72px;margin:0;padding:var(--space-3) var(--space-4);display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-1)}.teacher-heading,.teacher-actions,.teacher-join-code,.teacher-pane-heading,.teacher-code-header,.selected-answer{display:flex;align-items:center}.teacher-heading{min-width:0;gap:var(--space-3)}.teacher-heading>div{min-width:0}.teacher-heading h1,.teacher-pane-heading h2,.teacher-code-header h2{margin:0}.teacher-heading h1{font-size:23px}.teacher-heading p{margin:2px 0 0;overflow:hidden;color:var(--color-text-muted);font-size:13px;text-overflow:ellipsis;white-space:nowrap}.teacher-live-dot,.presenter-live-pill{min-height:32px;display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border:1px solid #a9dfb8;border-radius:var(--radius-pill);background:var(--color-success-soft);color:#176632;font-size:12px;font-weight:900;white-space:nowrap}.teacher-actions{min-width:0;gap:var(--space-3)}.teacher-join-code{min-height:46px;gap:var(--space-2);padding-left:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-subtle)}.teacher-join-code>span{color:var(--color-text-muted);font-size:11px;font-weight:800;text-transform:uppercase}.teacher-join-code strong{color:var(--color-primary);font-family:var(--font-mono);font-size:20px;letter-spacing:.12em}.teacher-join-code button{min-height:44px;border-width:0 0 0 1px;border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:transparent;font-size:12px;font-weight:800}.presenter-open-button{min-height:46px;font-weight:900;white-space:nowrap}.teacher-workspace{min-width:0;min-height:0;display:grid;grid-template-columns:minmax(240px,.72fr) minmax(560px,2.2fr) minmax(270px,.82fr);gap:var(--space-3);overflow:hidden}.teacher-management,.teacher-code-pane,.teacher-progress-pane{min-width:0;min-height:0;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-1)}.teacher-management,.teacher-progress-pane{padding:var(--space-4);overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.teacher-pane-heading,.teacher-code-header{justify-content:space-between;gap:var(--space-3)}.teacher-pane-heading{margin-bottom:var(--space-4)}.teacher-pane-heading h2,.teacher-code-header h2{font-size:18px}.teacher-count,.teacher-progress-percent{color:var(--color-primary);font-size:12px;font-weight:900;white-space:nowrap}.teacher-progress-percent{font-size:24px}.teacher-field{min-width:0;display:grid;gap:5px;color:var(--color-text-muted);font-size:11px;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.teacher-field input,.teacher-field select{min-height:44px;font-size:13px;letter-spacing:normal;text-transform:none}.compact-session-form{display:grid;gap:var(--space-3)}.teacher-management>.teacher-field+.compact-session-form{margin-top:var(--space-4)}.compact-session-form button{min-height:44px;width:100%;font-weight:900}.teacher-divider{height:1px;margin:var(--space-4) 0;background:var(--color-border)}.teacher-management .add-student{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-2)}.teacher-management .add-student button{min-height:44px;padding-inline:12px}.teacher-student-list,.teacher-progress-list{display:grid;gap:var(--space-2);margin-top:var(--space-3)}.teacher-student-list button,.teacher-progress-list button{min-width:0;min-height:58px;justify-content:flex-start;padding:var(--space-2) var(--space-3);text-align:left}.teacher-student-list button>span:last-child,.teacher-progress-list button>span:last-child{min-width:0;display:grid;gap:2px}.teacher-student-list button strong,.teacher-progress-list button strong,.teacher-student-list button small,.teacher-progress-list button small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.teacher-student-list button small,.teacher-progress-list button small{color:var(--color-text-muted);font-size:11px}.teacher-student-list button.active,.teacher-progress-list button.active{border-color:#a9bff8;background:var(--color-primary-soft);color:var(--color-primary);box-shadow:inset 3px 0 0 var(--color-primary)}.teacher-empty-list{padding:var(--space-4);border:1px dashed var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-muted);font-size:13px}.teacher-code-pane{display:grid;grid-template-rows:auto auto auto minmax(0,1fr);overflow:hidden}.teacher-code-header{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border)}.teacher-target-controls{display:grid;grid-template-columns:minmax(130px,.7fr) minmax(170px,1fr) minmax(170px,1fr) auto;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border);background:var(--color-surface-subtle)}.class-pacing-bar{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--space-3);padding:var(--space-3);border-bottom:1px solid #b9c6f4;background:var(--color-primary-soft)}.pacing-current-exercise{min-width:0;display:grid;justify-items:center;gap:2px;text-align:center}.class-pacing-bar strong,.class-pacing-bar small{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.class-pacing-bar small{color:var(--color-text-muted);font-size:11px}.class-pacing-bar button,.set-class-exercise{min-height:44px;font-weight:900;white-space:nowrap}.pacing-action-group{position:relative;display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2)}.pacing-advance-dialog{width:min(390px,calc(100vw - 40px));max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px - env(safe-area-inset-top) - env(safe-area-inset-bottom));margin:auto;padding:16px;grid-template-columns:auto minmax(0,1fr);gap:12px;border:1px solid #f2c45b;border-radius:12px;background:#fffaf0;color:#6b4c08;box-shadow:0 16px 38px #1e293b2e;white-space:normal}.pacing-advance-dialog[open]{display:grid}.pacing-advance-dialog::backdrop{background:#0f172a7a}.pacing-dialog-icon{color:#d58b00}.pacing-advance-dialog>svg{color:#d58b00}.pacing-advance-dialog strong,.pacing-advance-dialog p{white-space:normal}.pacing-advance-dialog p{margin:5px 0 12px;color:#785c22;font-size:13px;line-height:1.45}.pacing-warning-actions{display:flex;justify-content:flex-end;gap:8px}.pacing-warning-actions button{min-height:36px}.pacing-exercise-navigation,.pacing-task-navigation{display:flex;align-items:center;gap:8px}.signed-pin-join-status{display:grid;gap:16px}.signed-pin-join-status>span{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px}.finish-next-button{border-color:#15803d;background:#15803d;color:#fff}.finish-next-button:hover:not(:disabled){border-color:#166534;background:#166534}.finish-next-button:disabled{border-color:#86c89a;background:#dff4e5;color:#176632;opacity:1}.finish-next-error{grid-column:1 / -1;width:100%;min-width:0;display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid #efb1aa;border-radius:var(--radius-sm);background:#fff1f0;color:#9b2c24;font-size:12px;line-height:1.45;text-align:left}.finish-next-error svg{flex:0 0 auto;margin-top:1px}.set-class-exercise{align-self:end;color:var(--color-primary)}.set-class-exercise:disabled{border-color:#a9dfb8;background:var(--color-success-soft);color:#176632;opacity:1}.teacher-paced-session{display:grid;align-content:start;gap:var(--space-3)}.pacing-lock-notice{display:flex;align-items:flex-start;gap:var(--space-2);margin-top:var(--space-3);padding:var(--space-3);border:1px solid #b9c6f4;border-radius:var(--radius-sm);background:#fff;color:var(--color-primary)}.pacing-lock-notice>span{min-width:0;display:grid;gap:2px}.pacing-lock-notice>span strong{font-family:var(--font-body);font-size:13px}.pacing-lock-notice small{color:var(--color-text-muted);font-size:11px;line-height:1.35}.active-lesson-card{display:grid;gap:var(--space-2);padding:var(--space-4);border:1px solid #a9bff8;border-radius:var(--radius-md);background:var(--color-surface);box-shadow:inset 4px 0 0 var(--color-primary)}.active-lesson-card>strong{font-size:18px}.active-lesson-card>span:not(.eyebrow){color:var(--color-text-muted);font-size:13px}.active-lesson-card>div{display:flex;align-items:flex-start;gap:var(--space-2);margin-top:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--color-border)}.active-lesson-card>div>span:last-child{min-width:0;display:grid;gap:2px}.active-lesson-card small{color:var(--color-text-muted);font-size:11px}.teacher-target-controls .teacher-field{gap:3px}.teacher-target-controls select{min-height:40px}.teaching-workspace{min-width:0;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden;background:var(--color-code)}.teaching-workspace-toolbar{min-width:0;min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-bottom:1px solid #334155;background:#111b2c;color:#dce6f5}.workspace-context{min-width:0;overflow:hidden;font-family:var(--font-mono);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.workspace-run-actions{flex:0 0 auto;display:flex;gap:var(--space-2)}.workspace-run-actions button{min-height:42px;border-color:#52627b;background:#202d43;color:#eef4ff;font-size:12px;font-weight:800}.workspace-run-actions button:hover:not(:disabled){border-color:#8293ad;background:#2a3951;color:#eef4ff}.workspace-run-actions button.primary{border-color:#4f7df0;background:#2f63dc;color:#fff}.workspace-run-actions button.primary:hover:not(:disabled){border-color:#6d8ef5;background:#3b73e8;color:#fff}.teaching-workspace-grid{min-width:0;min-height:0;display:grid}.teaching-workspace.teacher .teaching-workspace-grid{grid-template-rows:minmax(260px,1.5fr) minmax(190px,.7fr)}.teaching-editor{min-width:0;min-height:0;border:0;border-radius:0;box-shadow:none}.teaching-editor .editor-toolbar{min-height:42px;padding-block:5px}.teaching-workspace .terminal-panel{min-width:0;min-height:0;flex-basis:auto;overflow:hidden}.selected-answer{gap:var(--space-3);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-subtle)}.selected-answer.complete{border-color:#a9dfb8;background:var(--color-success-soft)}.selected-answer.needs_review{border-color:#ead772;background:var(--color-warning-soft)}.selected-answer>div{min-width:0;display:grid;gap:2px}.selected-answer small{color:var(--color-text-muted);font-size:11px}.teacher-progress-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2);margin:var(--space-3) 0}.teacher-progress-summary>div{padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.teacher-progress-summary dt{color:var(--color-text-muted);font-size:11px;font-weight:800;text-transform:uppercase}.teacher-progress-summary dd{margin:3px 0 0;font-size:20px;font-weight:900}.teacher-feedback-detail{display:grid;gap:var(--space-2);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.teacher-feedback-detail p{margin:0;color:var(--color-text-muted);font-size:12px}.teacher-feedback-detail code{overflow:auto;color:var(--color-danger);font-size:11px}.teacher-progress-list h3{margin:var(--space-2) 0 0;font-size:13px}.presenter-view{height:100dvh;min-height:0;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;overflow:hidden;background:#edf1f7}.presenter-header{min-height:70px;padding:var(--space-2) clamp(18px,3vw,40px);border-bottom:1px solid #26354d;background:#0d1728;color:#fff}.presenter-header .brand-lab{color:#aebbd0}.presenter-header .brand-divider{background:#aebbd073}.presenter-header .brand-mark{background:#fff}.presenter-live-actions{display:flex;align-items:center;gap:var(--space-3)}.presenter-live-actions button{min-height:44px;border-color:#516078;background:#18253a;color:#fff}.presenter-lesson{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:var(--space-6);padding:var(--space-3) clamp(20px,3vw,44px);border-bottom:1px solid var(--color-border);background:#fff}.presenter-lesson>div{min-width:0}.presenter-lesson .presenter-kicker{margin:0 0 4px;padding:0;background:none;color:var(--color-brand-green);font-size:11px;font-weight:900;letter-spacing:.16em;text-transform:uppercase}.presenter-lesson h1,.presenter-lesson h2,.presenter-lesson p{margin:0}.presenter-lesson h1{font-size:clamp(21px,2vw,30px)}.presenter-lesson h2{margin-top:2px;font-size:clamp(16px,1.4vw,21px)}.presenter-lesson p{max-width:1100px;margin-top:4px;overflow:hidden;color:var(--color-text-muted);font-size:clamp(12px,1.05vw,15px);text-overflow:ellipsis;white-space:nowrap}.presenter-exercise-badge{flex:0 0 auto;padding:var(--space-2) var(--space-4);border:1px solid #a9bff8;border-radius:var(--radius-pill);background:var(--color-primary-soft);color:var(--color-primary);font-weight:900;white-space:nowrap}.presenter-navigation{display:flex;align-items:center;gap:8px}.presenter-navigation-area,.presenter-student-controls{display:grid;justify-items:end;gap:6px}.presenter-navigation-meta{display:flex;align-items:center;justify-content:flex-end;gap:8px}.presenter-switch{min-height:34px;display:inline-flex;align-items:center;gap:8px;padding:5px 9px;border:1px solid var(--color-border);border-radius:var(--radius-pill);background:#fff;color:var(--color-text);font-size:12px;font-weight:800}.presenter-switch-track{width:30px;height:18px;padding:2px;display:inline-flex;align-items:center;border-radius:var(--radius-pill);background:#cbd5e1;transition:background-color .16s ease}.presenter-switch-track>span{width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0f172a47;transform:translate(0);transition:transform .16s ease}.presenter-switch.enabled .presenter-switch-track{background:var(--color-primary)}.presenter-switch.enabled .presenter-switch-track>span{transform:translate(12px)}.presenter-completion-badge{padding:6px 10px;border:1px solid #a9bff8;border-radius:var(--radius-pill);background:var(--color-primary-soft);color:var(--color-primary);font-size:12px;font-weight:900;white-space:nowrap}.presenter-follow-help{max-width:330px;color:var(--color-text-muted);text-align:right}.presenter-pacing-error{max-width:330px;color:var(--color-danger);font-size:12px;font-weight:800}.presenter-pacing-dialog{z-index:1000}.presenter-navigation button{min-height:38px;padding:7px 12px;font-size:12px;font-weight:800}.teaching-workspace.presenter .teaching-workspace-toolbar{padding-inline:clamp(18px,3vw,40px)}.teaching-workspace.presenter .teaching-workspace-grid{grid-template-columns:minmax(0,1.58fr) minmax(340px,.82fr)}.teaching-workspace.presenter .terminal-panel{border-top:0;border-left:1px solid #334155}.presenter-footer{min-height:42px;padding:7px clamp(18px,3vw,40px);display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);border-top:1px solid #26354d;background:#0d1728;color:#aebbd0;font-size:12px}.presenter-footer span{display:inline-flex;align-items:center;gap:6px}.presenter-footer strong{color:#fff;font-family:var(--font-mono);letter-spacing:.12em}@media(max-width:1240px){.teacher-app-shell{height:auto;min-height:100dvh;overflow:visible}.teacher-layout{flex:none;overflow:visible}.teacher-workspace{grid-template-columns:minmax(230px,.7fr) minmax(520px,1.8fr);overflow:visible}.teacher-progress-pane{grid-column:1 / -1;max-height:520px}.teacher-code-pane{min-height:760px}}@media(max-width:820px){.teacher-header{align-items:stretch;flex-direction:column}.teacher-actions{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto}.teacher-workspace{grid-template-columns:minmax(0,1fr)}.teacher-progress-pane{grid-column:auto}.teacher-management,.teacher-progress-pane{max-height:none;overflow:visible}.teacher-code-pane{min-height:840px}.teaching-workspace.presenter .teaching-workspace-grid{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(460px,1fr) minmax(280px,.65fr)}.teaching-workspace.presenter .terminal-panel{border-top:1px solid #334155;border-left:0}.presenter-view{height:auto;min-height:100dvh;overflow:visible}}@media(max-width:560px){.teacher-layout{padding:var(--space-3)}.teacher-heading{align-items:flex-start}.teacher-live-dot{min-width:44px;width:44px;overflow:hidden;color:transparent}.teacher-live-dot svg{flex:0 0 auto;color:#176632}.teacher-actions,.teacher-target-controls{grid-template-columns:minmax(0,1fr)}.class-pacing-bar{grid-template-columns:repeat(2,minmax(0,1fr))}.pacing-current-exercise{grid-column:1 / -1;grid-row:1}.pacing-action-group{grid-column:1 / -1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.class-pacing-bar button{width:100%}.teacher-join-code{padding-left:var(--space-2)}.teacher-join-code>span{display:none}.presenter-open-button{width:100%}.teacher-code-pane{min-height:940px}.teaching-workspace-toolbar{align-items:stretch;flex-direction:column}.workspace-run-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.workspace-run-actions button:first-child{grid-column:1 / -1}.workspace-run-actions button{width:100%}.teaching-workspace.teacher .teaching-workspace-grid{grid-template-rows:minmax(430px,1.4fr) minmax(260px,.8fr)}.presenter-header{align-items:flex-start;flex-direction:column}.presenter-live-actions{width:100%;justify-content:space-between}.presenter-lesson{align-items:flex-start;flex-direction:column;gap:var(--space-3)}.presenter-lesson p{overflow:visible;white-space:normal}.presenter-exercise-badge{align-self:flex-start}.teaching-workspace.presenter .teaching-workspace-grid{grid-template-rows:500px 300px}.presenter-footer{align-items:flex-start;flex-direction:column}}@media(max-width:720px){.teacher-paced-session>.pacing-card{display:block}}.role-shell,.join-shell{min-height:100dvh;background:#f5f6f8}.role-topbar{min-height:69px;padding:10px clamp(20px,5vw,64px);display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--color-border);background:#fff}.role-topbar .brand,.student-topbar .brand{gap:10px}.role-topbar .brand-mark,.student-topbar .brand-mark{width:34px;height:42px}.role-topbar .brand-academy,.student-topbar .brand-academy{color:#161616}.role-page{width:min(100%,730px);margin:0 auto;padding:clamp(52px,8vh,92px) 24px 48px}.role-intro{max-width:650px;margin:0 auto 44px;text-align:center}.role-intro h1{margin-bottom:20px;font-family:var(--font-display);font-size:clamp(32px,4vw,40px);line-height:1.15}.role-intro mark{padding:0 8px 2px;border-radius:7px;background:#fff0ad;color:inherit}.role-intro p{max-width:590px;margin:0 auto;color:#3e3e3e;font-size:17px;line-height:1.65}.role-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.role-card{min-width:0;min-height:240px;padding:28px;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:0;text-align:left;border:1px solid #dde1e7;border-top:3px solid var(--color-primary);border-radius:20px;background:#fff;box-shadow:0 4px 12px #11182714}.teacher-role-card{border-top-color:#0ca34b}.role-card:hover:not(:disabled){border-color:var(--color-primary);background:#fff;box-shadow:0 10px 24px #1118271f}.teacher-role-card:hover:not(:disabled){border-color:#0ca34b}.role-card-icon,.benefit-icon,.join-card-icon{display:grid;place-items:center;flex:0 0 auto}.role-card-icon{width:52px;height:52px;margin-bottom:18px;border-radius:14px;background:#eef0fb;color:var(--color-primary)}.teacher-role-card .role-card-icon{background:#dff5e8;color:#087934}.role-card>strong{margin-bottom:7px;font-family:var(--font-display);font-size:21px}.role-card p{color:#555b66;font-size:14px;line-height:1.55}.role-card-link{margin-top:auto;display:inline-flex;align-items:center;gap:5px;color:var(--color-primary);font-weight:850}.teacher-role-card .role-card-link{color:#07873d}.role-benefits{margin:20px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;list-style:none}.role-benefits li{min-height:66px;padding:12px 14px;display:flex;align-items:center;gap:12px;border:1px solid #dde1e7;border-radius:14px;background:#fff;color:#30343a;font-size:13px;font-weight:700;line-height:1.25}.benefit-icon{width:36px;height:36px;border-radius:10px}.benefit-icon.blue{background:#eef0fb;color:var(--color-primary)}.benefit-icon.yellow{background:#fff4c8;color:#836800}.benefit-icon.green{background:#dff5e8;color:#087934}.brand-home-button{min-height:44px;padding:0;border:0;background:transparent}.brand-home-button:hover:not(:disabled){border-color:transparent;background:transparent}.join-topbar{min-height:65px}.join-back-button{border-color:transparent;background:transparent}.join-page{min-height:calc(100dvh - 65px);padding:40px 20px;display:grid;place-items:start center;background:#f5f6f8}.join-card{width:min(100%,460px);min-height:520px;gap:18px;padding:34px;border:1px solid #e1e4e9;border-top:3px solid #fecd38;border-radius:20px;background:#fff;box-shadow:0 12px 34px #11182714;overflow:visible}.join-card:before{display:none}.join-card-icon{width:52px;height:52px;border-radius:13px;background:#eef0fb;color:var(--color-primary)}.join-card-heading{gap:8px}.join-card-heading h1{margin:0;font-size:28px}.join-card-heading p{color:#666a72;font-size:15px;line-height:1.55}.pin-field,.name-field{min-width:0;display:grid;gap:8px;color:#222;font-size:14px;font-weight:800}.pin-input-wrap{position:relative;min-height:56px}.pin-cells{position:absolute;inset:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;pointer-events:none}.pin-cells span{min-width:0;display:grid;place-items:center;border:2px solid #dfe1e4;border-radius:12px;background:#fafafa;color:#202020;font-family:var(--font-mono);font-size:21px;font-weight:800}.pin-cells span.filled{border-color:#aeb8e6;background:#f3f4fb}.pin-input-wrap:focus-within .pin-cells span{border-color:var(--color-primary);box-shadow:0 0 0 2px #2638911f}.join-code-input{position:absolute;inset:0;z-index:1;width:100%;min-height:56px;border:0;background:transparent;color:transparent;caret-color:transparent;letter-spacing:0;opacity:.02}.join-code-input:focus{outline:0}.join-name-input{min-height:46px;border:2px solid #dfe1e4;border-radius:12px;font-size:16px}.join-enter-button{width:100%;min-height:50px;margin-top:2px;border-radius:14px;box-shadow:0 4px #1c2b72}.join-error{font-size:13px}.student-topbar{min-height:65px;padding:8px max(24px,calc((100vw - 1792px)/2));display:flex;align-items:center;justify-content:space-between;gap:16px;position:relative;border-bottom:1px solid var(--color-border);background:#fff;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.student-app-shell{--student-border: #d8dde6;--student-divider: #e7eaf0;--student-dark-border: #2a3952;--student-panel-radius: 12px}.student-app-shell button:focus-visible{outline:3px solid #6f82df;outline-offset:2px}.student-topbar:after{display:block}.student-view-pill,.student-identity{min-height:38px;padding:7px 14px;display:inline-flex;align-items:center;gap:7px;border-radius:999px;font-size:13px;font-weight:800;white-space:nowrap}.student-view-pill{background:var(--color-primary);color:#fff}.student-header-actions{min-width:0;display:flex;align-items:center;justify-content:flex-end;gap:8px}.student-topbar .brand-home-button{flex:0 0 auto;justify-content:flex-start}.student-brand-context{min-width:0;display:flex;flex:1 1 auto;align-items:center;gap:12px}.student-class-name{min-width:0;padding-left:12px;display:grid;gap:2px;border-left:1px solid var(--student-border, var(--color-border));line-height:1.1}.student-class-name>span{color:var(--color-text-muted);font-size:10px;font-weight:800;text-transform:uppercase}.student-class-name>strong{max-width:min(32vw,360px);overflow:hidden;color:var(--color-text);font-size:14px;text-overflow:ellipsis;white-space:nowrap}.student-identity{flex:0 0 auto;border:1px solid #d7dced;background:#f3f4fb;color:var(--color-primary)}.student-header-actions>button{min-height:44px;border-color:transparent;background:transparent}.student-layout{width:calc(100% - 48px);grid-template-columns:clamp(224px,17vw,284px) minmax(0,1fr) clamp(292px,22vw,360px);grid-template-rows:auto minmax(0,1fr);gap:14px;margin-inline:auto;padding:8px 0 12px;background:#f5f6f8}.student-layout.sessions-hidden{grid-template-columns:minmax(0,1fr) clamp(292px,22vw,360px)}.student-welcome{min-width:0;min-height:52px;grid-column:1 / -1;display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:2px 4px 0}.student-welcome>div:first-child{min-width:0}.student-welcome h1{margin:0 0 3px;font-family:var(--font-display);font-size:20px;line-height:1.2}.student-welcome p{color:#666e7b;font-size:13px;line-height:1.45}.student-live-summary{min-width:280px;display:grid;justify-items:end;gap:3px;text-align:right}.student-status-row{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}.student-status-row .game-summary{flex-wrap:nowrap}.student-live-summary .sync-status{min-height:32px;padding:5px 10px;font-size:12px}.student-live-summary p{font-size:12px}.game-summary{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}.game-summary>span{min-height:30px;padding:5px 9px;display:inline-flex;align-items:center;gap:4px;border:1px solid #d8ddeb;border-radius:999px;background:#fff;color:#4f5868;font-size:11px;font-weight:750}.game-sound-toggle{width:30px;min-height:30px;padding:5px;display:inline-grid;place-items:center;border:1px solid #d8ddeb;border-radius:999px;background:#fff;color:#46536d;cursor:pointer}.game-sound-toggle:hover,.game-sound-toggle:focus-visible{border-color:#6577cb;background:#f4f6ff;color:#2d43a3}.game-summary>span:first-child{border-color:#f0d26c;background:#fff9dc;color:#7a5700}.game-summary .combo-chip.active{border-color:#f2a65a;background:#fff0df;color:#b54b0a}.game-summary .combo-chip.milestone{border-color:#ee6b53;background:linear-gradient(135deg,#fff1d6,#ffe0d9);color:#a82d1a;box-shadow:0 0 0 2px #ee6b531f}.exercise-score-report{margin:0;padding:8px 10px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;border:1px solid #e2e5ec;border-radius:10px;background:#f8f9fc}.exercise-score-report>div{min-width:0;display:grid;gap:2px}.exercise-score-report dt{color:#767d89;font-size:9px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.exercise-score-report dd{margin:0;color:#252b35;font-size:13px;font-weight:850}.celebration-overlay{position:fixed;inset:0;z-index:80;display:grid;place-items:center;pointer-events:none;background:#ffffff2e;-webkit-backdrop-filter:blur(6px) saturate(120%);backdrop-filter:blur(6px) saturate(120%)}.celebration-card{position:relative;min-width:min(310px,calc(100vw - 32px));padding:22px 28px;display:flex;align-items:center;justify-content:center;gap:10px;border:2px solid #f0c434;border-radius:20px;background:#fffdeef7;color:#6d4c00;box-shadow:0 18px 60px #1d223038}.celebration-card.flame-flame{border-color:#f09642;background:#fff3e0fa;color:#a63e0b}.celebration-card.flame-milestone{border-color:#ef624b;background:linear-gradient(135deg,#fff7d8fa,#ffded6fa);color:#9f2c1b}.celebration-card strong{font-family:var(--font-display);font-size:18px}.celebration-star{color:#f4bd1d}.celebration-flame{color:#f05231}.mascot-reaction{width:54px;height:54px;display:grid;place-items:center;border:3px solid #263891;border-radius:48% 52% 45% 55%;background:#7d8ce0;color:#fff;box-shadow:inset 0 -6px #1828752e}.mascot-reaction.proud{border-color:#ba590f;background:#ff9d45}.mascot-face{font-family:var(--font-mono);font-size:15px;font-weight:900;white-space:nowrap}.celebration-particles{position:absolute;inset:50%}.celebration-particles i{--particle-color: #f8c82e;position:absolute;width:9px;height:14px;border-radius:3px;background:var(--particle-color);transform:rotate(calc(var(--particle-index) * 31deg)) translateY(-90px)}.celebration-particles i:nth-child(3n){--particle-color: #5369d5;border-radius:50%}.celebration-particles i:nth-child(3n+1){--particle-color: #ef674f}.celebration-overlay.animated .celebration-card{animation:celebration-pop .65s cubic-bezier(.2,1.4,.4,1) both}.celebration-overlay.animated .mascot-reaction{animation:mascot-cheer .7s ease-in-out 2 alternate}.celebration-overlay.animated .celebration-particles i{animation:confetti-burst 1.1s ease-out both;animation-delay:calc(var(--particle-index) * 18ms)}.celebration-overlay.static .celebration-card{box-shadow:0 10px 30px #1d22302e}@keyframes celebration-pop{0%{opacity:0;transform:scale(.72)}65%{opacity:1;transform:scale(1.06)}to{opacity:1;transform:scale(1)}}@keyframes mascot-cheer{0%{transform:rotate(-6deg) translateY(1px)}to{transform:rotate(7deg) translateY(-8px)}}@keyframes confetti-burst{0%{opacity:0;transform:rotate(calc(var(--particle-index) * 31deg)) translateY(-20px) scale(.4)}18%{opacity:1}to{opacity:0;transform:rotate(calc(var(--particle-index) * 31deg + 160deg)) translateY(-210px) scale(1)}}@media(prefers-reduced-motion:reduce){.celebration-overlay *,.celebration-overlay *:before,.celebration-overlay *:after{animation:none!important;transition:none!important}}.lesson-rail{grid-template-rows:auto auto minmax(0,1fr);gap:0;border:1px solid var(--student-border);border-radius:var(--student-panel-radius);background:#fff;box-shadow:0 2px 8px #1118270a}.curriculum-heading{min-height:48px;padding:6px 6px 6px 14px;display:flex;align-items:center;justify-content:space-between;gap:8px;border-bottom:1px solid var(--student-divider)}.curriculum-heading>span,.curriculum-session-heading>span,.curriculum-exercise-copy{min-width:0;display:grid}.curriculum-heading strong{color:#5e636c;font-size:11px;letter-spacing:.12em;text-transform:uppercase}.curriculum-heading small{color:var(--color-text-muted);font-size:11px}.curriculum-overall-progress{display:grid;gap:6px;padding:10px 14px 12px;border-bottom:1px solid var(--student-divider)}.curriculum-overall-progress>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#667085;font-size:11px;font-weight:750}.curriculum-overall-progress strong{color:#667085;font-variant-numeric:tabular-nums}.curriculum-progress-track{height:6px;overflow:hidden;border-radius:999px;background:#e8edf5}.curriculum-progress-track>span{display:block;height:100%;max-width:100%;border-radius:inherit;background:#20b968}.hide-sessions-button{width:44px;min-width:44px;padding:0;justify-content:center;border-color:transparent;background:transparent}.curriculum-list{gap:0;padding:0;scrollbar-gutter:stable}.curriculum-session+.curriculum-session{border-top:1px solid var(--student-divider)}.curriculum-session-heading{min-height:52px;padding:7px 10px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;color:var(--color-primary)}.curriculum-session-heading strong,.curriculum-exercise strong{overflow:hidden;color:#20242a;font-size:13px;line-height:1.2;text-overflow:ellipsis}.curriculum-session-heading small,.curriculum-exercise small{margin-top:3px;color:#737984;font-size:10px}.session-progress{padding:3px 7px;border-radius:999px;background:#eef0fb;color:var(--color-primary);font-size:11px;font-weight:850}.curriculum-session-actions{display:flex;align-items:center;justify-content:flex-end;gap:4px}.session-exercises-toggle{width:28px;min-width:28px;min-height:28px;padding:0;border-color:transparent;background:transparent;color:#536176;font-size:17px;line-height:1;font-weight:800}.session-exercises-toggle:hover{border-color:#ccd5ea;background:#f3f5fb;color:var(--color-primary)}.curriculum-exercises{display:grid}.curriculum-exercises[hidden]{display:none}.assessment-session-exercises{display:grid;border-top:1px solid var(--student-divider);background:#fafbfe}.assessment-session-exercises[hidden],.assessment-exercise-tasks[hidden]{display:none}.assessment-exercise-group+.assessment-exercise-group{border-top:1px solid var(--student-divider)}.assessment-exercise-heading{min-height:46px;padding:6px 8px 6px 18px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;color:var(--color-primary)}.assessment-exercise-heading>span:not(.curriculum-session-actions){min-width:0;display:grid}.assessment-exercise-heading strong{overflow:hidden;color:#20242a;font-size:12px;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.assessment-exercise-heading small{margin-top:2px;color:#737984;font-size:10px}.assessment-exercise-tasks{display:grid;border-top:1px solid var(--student-divider)}.curriculum-exercise.assessment-task-row{padding-left:28px}.curriculum-exercise{width:100%;min-height:44px;padding:5px 8px 5px 12px;display:grid;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:8px;border:0;border-left:3px solid transparent;border-radius:0;background:#fff;text-align:left}.curriculum-exercise+.curriculum-exercise{border-top:1px solid var(--student-divider)}.curriculum-exercise:hover:not(:disabled){border-top-color:var(--student-divider);border-left-color:#aeb8e6;background:#f7f8fc}.curriculum-exercise.active{border-left-color:var(--color-primary);background:#f0f2fb}.curriculum-exercise.locked{opacity:1;border-left-color:transparent;background:#fafafa;color:#a2a4a9}.curriculum-exercise.locked strong,.curriculum-exercise.locked small{color:#aaaeb5}.curriculum-status{width:20px;height:20px;display:grid;place-items:center;border:1px solid #c7cbd2;border-radius:50%;color:#a2a6ad}.curriculum-status.complete,.curriculum-status.class-finished{border-color:#0ba64c;background:#0ba64c;color:#fff}.curriculum-status.failed{border-color:#dc2626;background:#dc2626;color:#fff}.curriculum-exercise.quiz-failed:not(.active){background:snow}.curriculum-exercise.class-finished:not(.active){background:#fbfffc}.locked-label,.current-label{color:#9a9da3;font-size:10px;font-weight:850;letter-spacing:.04em;text-transform:uppercase}.current-label{color:var(--color-primary)}.workbench .lesson-header{min-height:92px;padding:13px 16px;border:1px solid #dfe2e7;border-radius:16px;background:#fff;box-shadow:var(--shadow-1)}.workbench .lesson-header h1{font-size:clamp(22px,2vw,28px)}.workbench .editor-panel,.utility-dock>.terminal-panel,.support-panel{border-radius:var(--student-panel-radius)}.workbench .editor-toolbar{min-height:44px;padding:6px 12px}.workbench .editor-toolbar>span:first-child{font-size:12px}.python-task-editor{min-width:0;min-height:0;width:100%;flex:1 1 auto;display:flex;flex-direction:column}.python-file-toolbar{padding:0 12px 0 0;overflow:hidden}.python-file-tabs{min-width:0;align-self:stretch;display:flex;align-items:stretch;overflow-x:auto;scrollbar-width:thin}.python-file-tabs button{min-height:42px;padding:0 14px;border:0;border-right:1px solid #263246;border-radius:0;background:#101927;color:#91a0b8;display:inline-flex;align-items:center;gap:8px;flex:0 0 auto;font:600 12px/1 var(--font-mono)}.python-file-tabs button:hover,.python-file-tabs button.active{background:var(--color-code);color:#eef4ff}.python-file-tabs button.active{box-shadow:inset 0 2px #4f7df0}.python-file-icon{color:#77a7ff;font-size:9px;letter-spacing:-.04em}.python-file-toolbar>.room-name{flex:0 0 auto;color:#77849a;font-family:var(--font-mono);font-size:11px}.workbench{grid-template-rows:minmax(0,1fr);gap:0}.workbench .code-grid,.workbench .editor-panel{height:100%}.workbench .editor-panel{border:1px solid var(--student-dark-border);box-shadow:0 2px 8px #0c14241f}.editor-language{color:#77849a;font-family:var(--font-mono);font-size:12px;font-weight:600}.editor-actions-bar{min-height:56px;padding:6px 8px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--student-dark-border);background:#12203a}.editor-actions-bar .toolbar-actions{flex-wrap:nowrap;justify-content:flex-start}.editor-actions-bar .support-launcher{display:flex;flex:0 0 auto;gap:8px}.editor-actions-bar .support-launcher button{min-width:0;width:auto;padding-inline:12px}.editor-actions-bar.response-support-footer .support-launcher{width:min(100%,460px);margin-left:auto;flex:0 1 460px}.toolbar-actions button{min-height:44px;padding-inline:12px;font-size:13px;line-height:1.2}.utility-dock{grid-template-rows:minmax(180px,.75fr) minmax(240px,1.25fr);gap:14px}.utility-dock .terminal-toolbar{min-height:52px;padding-inline:12px}.utility-dock .terminal-toolbar button{min-height:44px}.support-tabs button{min-height:44px;padding:6px 10px;font-size:13px}.utility-dock>.terminal-panel{border-color:var(--student-dark-border);border-radius:var(--student-panel-radius);box-shadow:0 2px 8px #0c14241f}.utility-dock .terminal-toolbar{border-bottom-color:var(--student-dark-border);font-size:12px}.support-panel{border-color:var(--student-border);border-radius:var(--student-panel-radius);box-shadow:0 2px 8px #1118270a}.support-tabs{border-bottom-color:var(--student-border)}.support-tabs button+button{border-left-color:var(--student-border)}.support-tab-panel{gap:10px;padding:12px}.support-tab-panel .hint-list li,.diagnostic-card,.explain-empty,.explain-unavailable{border-radius:8px}.curriculum-drawer-trigger,.curriculum-drawer-close,.curriculum-drawer-backdrop{display:none}.student-layout.sessions-hidden>.lesson-rail{display:none}@media(max-width:1199px){.student-app-shell{height:100dvh;min-height:0;overflow:hidden}.student-layout,.student-layout.sessions-hidden{width:calc(100% - 32px);grid-template-columns:minmax(0,1fr);grid-template-rows:auto;grid-auto-rows:max-content;align-content:start;overflow-x:hidden;overflow-y:auto}.student-welcome{grid-column:1;flex-wrap:wrap;min-height:100px}.student-live-summary{min-width:0;justify-items:start;text-align:left}.student-status-row,.game-summary{justify-content:flex-start}.workbench,.utility-dock{overflow:visible}.curriculum-drawer-trigger{width:max-content;margin-bottom:8px;display:inline-flex;border-color:var(--student-border);background:#fff;color:var(--color-primary)}.desktop-show-sessions-button,.desktop-hide-sessions-button{display:none}.student-layout.sessions-hidden>.lesson-rail,.lesson-rail{width:min(380px,calc(100vw - 24px));height:100dvh;min-height:0;max-height:100dvh;position:fixed;z-index:101;inset:0 auto 0 0;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);overflow:hidden;border-radius:0 var(--student-panel-radius) var(--student-panel-radius) 0;box-shadow:16px 0 40px #0f172a2e;transform:translate(-105%);visibility:hidden;transition:transform var(--motion-standard) ease-out,visibility 0s linear var(--motion-standard)}.lesson-rail.drawer-open{transform:translate(0);visibility:visible;transition-delay:0s}.curriculum-heading{position:sticky;z-index:2;top:0;background:#fff}.curriculum-drawer-close{min-width:82px;display:inline-flex;border-color:var(--student-border);background:#fff}.curriculum-list{height:100%;max-height:none;grid-template-columns:minmax(0,1fr);overflow-y:auto;overscroll-behavior:contain}.curriculum-drawer-backdrop{min-height:0;padding:0;position:fixed;z-index:100;inset:0;display:block;border:0;border-radius:0;background:#0f172a7a;opacity:0;pointer-events:none;transition:opacity var(--motion-standard) ease-out}.student-layout.curriculum-drawer-open .curriculum-drawer-backdrop{opacity:1;pointer-events:auto}.workbench{grid-template-rows:auto auto}.workbench .code-grid{height:clamp(560px,calc(100dvh - 170px),720px);min-height:560px}.workbench .editor-panel{height:100%;min-height:0}.utility-dock{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:340px}.utility-dock>.terminal-panel,.support-panel{min-width:0;min-height:340px}}@media(max-width:900px){.student-topbar{gap:8px;padding-inline:16px}.student-header-actions{gap:4px}.student-identity{display:none}.student-class-name>strong{max-width:min(30vw,240px)}}@media(max-width:767px){.role-topbar{min-height:64px;padding:8px 16px}.role-home-actions{gap:6px}.role-home-actions button{min-height:38px;padding-inline:10px;font-size:12px}.role-home-actions svg{display:none}.join-topbar{gap:8px;padding-inline:12px}.join-topbar .brand-home-button{min-width:0;flex:1 1 auto;justify-content:flex-start}.join-topbar .brand{min-width:0}.join-topbar .brand-lab{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.join-back-button{flex:0 0 auto}.role-page{padding:40px 16px}.role-intro{margin-bottom:30px}.role-intro p{font-size:16px}.role-cards,.role-benefits{grid-template-columns:minmax(0,1fr)}.role-card{min-height:220px;padding:24px}.role-benefits li{min-height:60px}.join-page{min-height:calc(100dvh - 64px);padding:24px 12px 40px}.join-card{min-height:0;padding:26px 20px}.pin-cells{gap:5px}.pin-cells span{border-radius:9px;font-size:18px}.student-topbar{min-height:64px;padding:8px 12px;flex-direction:row;align-items:center}.student-view-pill,.student-identity{display:none}.student-brand-context{gap:8px}.student-class-name{padding-left:8px}.student-class-name>span{display:none}.student-class-name>strong{max-width:min(34vw,150px);font-size:12px}.student-header-actions>button{padding-inline:10px}.student-layout,.student-layout.sessions-hidden{gap:16px;padding:12px 12px 32px}.student-welcome{min-height:0;padding:2px;display:grid;gap:10px}.student-live-summary{min-width:0;justify-items:start;text-align:left}.student-live-summary p{display:none}.student-layout .exercise-score-report{grid-template-columns:repeat(2,minmax(76px,auto))}.session-list{max-height:none}.show-sessions-button{width:100%}.workbench .code-grid{height:clamp(560px,calc(100dvh - 150px),680px);min-height:560px}.workbench .editor-panel{height:100%;min-height:0}.workbench .editor-toolbar{align-items:center;flex-direction:row}.toolbar-actions{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.toolbar-actions button{width:100%}.editor-actions-bar .toolbar-actions button:first-child{grid-column:auto}.editor-actions-bar{align-items:center;flex-direction:row}.editor-actions-bar small{display:none}.workbench .student-editor-area{min-height:420px}.utility-dock{grid-template-columns:minmax(0,1fr);grid-template-rows:300px auto}.utility-dock>.terminal-panel,.support-panel{min-height:300px}.support-tabs{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}}.teacher-topbar,.presenter-header{min-height:65px;padding:8px clamp(16px,2vw,32px);display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--color-border);background:#fff;color:var(--color-text);box-shadow:none;flex-direction:row}.teacher-topbar{position:relative;-webkit-backdrop-filter:none;backdrop-filter:none}.teacher-topbar .brand-home-button,.presenter-header .brand{flex:0 0 auto}.teacher-topbar .brand,.presenter-header .brand{gap:10px}.teacher-topbar .brand-mark,.presenter-header .brand-mark{width:34px;height:42px;background:transparent}.teacher-topbar .brand-academy,.presenter-header .brand-academy{color:#161616}.teacher-header-nav,.presenter-live-actions{min-width:0;width:auto;display:flex;align-items:center;justify-content:flex-end;gap:8px}.presenter-controls{min-width:0;display:grid;justify-items:end;gap:4px}.teacher-view-pill,.teacher-class-pill,.presenter-view-pill,.presenter-live-pill{min-height:38px;padding:7px 14px;display:inline-flex;align-items:center;gap:7px;border-radius:var(--radius-pill);font-size:13px;font-weight:800;white-space:nowrap}.teacher-view-pill,.presenter-view-pill{border:1px solid var(--color-primary);background:var(--color-primary);color:#fff}.teacher-class-pill{max-width:260px;overflow:hidden;border:1px solid #d7dced;background:var(--color-primary-soft);color:var(--color-primary);text-overflow:ellipsis}.presenter-live-pill{max-width:320px;overflow:hidden;border-color:#a9dfb8;background:var(--color-success-soft);color:#176632;text-overflow:ellipsis}.teacher-header-nav>button,.presenter-live-actions>button{min-height:44px;border-color:transparent;background:transparent;color:var(--color-text);font-weight:800}.teacher-header-nav>button:hover:not(:disabled),.presenter-live-actions>button:hover:not(:disabled){border-color:var(--color-border);background:var(--color-surface-subtle)}.presenter-live-actions>.presenter-fullscreen-button[aria-pressed=true]{border-color:#b9c6f4;background:var(--color-primary-soft);color:var(--color-primary)}.presenter-fullscreen-error{max-width:520px;color:var(--color-danger);font-size:12px;line-height:1.35;text-align:right}.teacher-layout{padding-inline:clamp(16px,2vw,32px);background:#f5f6f8}.teacher-header{min-height:68px;padding:10px 14px;box-shadow:none}.teacher-workspace{grid-template-columns:minmax(232px,.68fr) minmax(600px,2.35fr) minmax(270px,.8fr);gap:14px}.teacher-management,.teacher-code-pane,.teacher-progress-pane{border-color:var(--color-border);border-radius:var(--student-panel-radius, var(--radius-md));box-shadow:none}.teacher-management,.teacher-progress-pane{padding:14px}.teacher-code-header,.class-pacing-bar,.teacher-target-controls{padding-inline:14px}.teacher-code-pane .teaching-workspace{border-top:1px solid #26354d}.presenter-view{gap:12px;padding-bottom:12px;background:#f5f6f8}.presenter-lesson{margin:0 clamp(16px,2vw,32px);padding:12px 16px;border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:none}.presenter-lesson h1{font-size:clamp(20px,1.7vw,27px)}.presenter-lesson h2{font-size:clamp(15px,1.2vw,19px)}.presenter-lesson p{font-size:clamp(12px,.9vw,14px)}.presenter-lesson-actions{flex:0 0 auto;display:grid;justify-items:end;gap:8px}.presenter-view>.teaching-workspace{margin:0 clamp(16px,2vw,32px);border:1px solid #26354d;border-radius:var(--radius-md);box-shadow:var(--shadow-1)}.presenter-authored-workspace{min-width:0;min-height:0;margin:0 clamp(16px,2vw,32px);overflow:auto;border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fff;box-shadow:var(--shadow-1)}.presenter-lesson-workspace{overflow:hidden}.presenter-lesson-workspace .lesson-viewer{border:0;border-radius:0}.presenter-constructed-workspace{display:grid;grid-template-rows:minmax(0,1fr) auto}.presenter-constructed-workspace>:first-child{min-height:0;overflow:auto}.presenter-constructed-workspace .student-explanation-response,.presenter-constructed-workspace .student-mcq{width:min(100%,980px);margin-inline:auto;padding:clamp(24px,4vw,56px)}.presenter-authored-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 14px;border-top:1px solid var(--color-border);background:#fff}.presenter-authored-actions button{display:inline-flex;align-items:center;gap:7px}.presenter-student-authored-preview{min-width:0;min-height:0;overflow:auto}.presenter-student-lesson-preview{overflow:hidden}.presenter-student-lesson-preview .lesson-viewer{border:0;border-radius:0}.presenter-student-workspace .student-explanation-response,.presenter-student-workspace .student-mcq{width:min(100%,980px);margin-inline:auto;padding:clamp(24px,4vw,56px)}.teaching-workspace.presenter .teaching-workspace-toolbar{padding-inline:14px}.presenter-footer{min-height:44px;margin:0 clamp(16px,2vw,32px);padding:7px 14px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:#fff;color:var(--color-text-muted)}.presenter-footer strong{color:var(--color-primary)}@media(max-width:1100px){.teacher-class-pill,.presenter-live-pill{max-width:190px}.teacher-workspace{grid-template-columns:minmax(220px,.68fr) minmax(520px,1.8fr)}.presenter-lesson{align-items:stretch;flex-direction:column;gap:10px}.presenter-lesson-actions{justify-items:stretch}.presenter-exercise-badge{justify-self:start}}@media(max-width:820px){.teacher-topbar,.presenter-header{padding-inline:16px}.teacher-class-pill{display:none}.teacher-workspace{grid-template-columns:minmax(0,1fr)}.presenter-view{gap:10px}}@media(max-width:600px){.teacher-topbar,.presenter-header{min-height:64px;padding:8px 12px}.teacher-view-pill,.presenter-view-pill,.presenter-live-pill,.presenter-fullscreen-label{display:none}.presenter-navigation{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.presenter-navigation button,.presenter-navigation-area,.presenter-student-controls,.presenter-navigation-meta{width:100%}.presenter-navigation-meta{justify-content:space-between}.teacher-header-nav>button,.presenter-live-actions>button{padding-inline:10px}.teacher-layout{padding-inline:12px}.teacher-header,.teacher-management,.teacher-progress-pane{padding:12px}.presenter-lesson,.presenter-view>.teaching-workspace,.presenter-footer{margin-inline:12px}.presenter-footer{gap:6px}}@media(max-width:420px){.presenter-exit-label{display:none}}.teacher-layout .teacher-workspace{grid-template-columns:minmax(245px,.72fr) minmax(480px,1.7fr) minmax(270px,.8fr);align-items:start}.teacher-layout .teacher-target-controls{grid-template-columns:repeat(4,minmax(130px,1fr))}.teacher-layout .teacher-target-controls .set-class-exercise{grid-column:1 / -1}.teacher-layout .class-pacing-bar{grid-template-columns:auto minmax(150px,.75fr) minmax(220px,1.4fr) auto}@media(max-width:1180px){.teacher-layout .teacher-workspace{grid-template-columns:minmax(220px,.7fr) minmax(0,1.5fr)}.teacher-layout .teacher-progress-pane{grid-column:1 / -1;position:static;max-height:none}}@media(orientation:portrait),(max-width:820px){.teacher-layout .teacher-workspace,.teacher-layout .teacher-target-controls,.teacher-layout .class-pacing-bar{grid-template-columns:1fr}.teacher-layout .teacher-management,.teacher-layout .teacher-progress-pane{position:static;max-height:none}}.role-topbar,.presenter-header{position:relative}.role-topbar:after,.presenter-header:after{content:"";position:absolute;right:0;bottom:-1px;left:0;height:3px;background:linear-gradient(90deg,var(--color-brand-yellow) 0 18%,var(--color-brand-green) 18% 36%,var(--color-brand-blue) 36% 100%);pointer-events:none}.teacher-layout{grid-template-rows:auto auto minmax(0,1fr)}.teacher-layout .teacher-workspace{grid-template-columns:minmax(230px,.65fr) minmax(560px,2fr) minmax(270px,.76fr);align-items:stretch}.teacher-layout .class-pacing-bar{grid-template-columns:minmax(125px,.62fr) minmax(200px,1.25fr) auto}.teacher-layout .teacher-target-controls{grid-template-columns:minmax(125px,.75fr) minmax(180px,1.15fr) minmax(160px,1fr) auto}.teacher-layout .teacher-target-controls .set-class-exercise{grid-column:auto}@media(max-width:1280px){.teacher-app-shell{height:auto;min-height:100dvh;overflow:auto}.teacher-layout{min-height:calc(100dvh - 65px);height:auto;flex:0 0 auto;grid-template-rows:auto auto auto;overflow:visible}.teacher-layout .metric-row{min-height:54px}.teacher-layout .teacher-workspace{grid-template-columns:minmax(230px,.65fr) minmax(0,1.75fr);align-items:stretch;overflow:visible}.teacher-layout .teacher-management,.teacher-layout .teacher-code-pane{min-height:700px}.teacher-layout .teacher-progress-pane{grid-column:1 / -1;display:grid;grid-template-columns:minmax(220px,.8fr) minmax(280px,1.2fr) minmax(220px,.8fr);max-height:none;overflow:visible}.teacher-layout .teacher-progress-pane>.teacher-pane-heading{grid-column:1 / -1}}@media(orientation:portrait),(max-width:900px){.teacher-layout .teacher-workspace,.teacher-layout .teacher-progress-pane,.teacher-layout .teacher-target-controls,.teacher-layout .class-pacing-bar{grid-template-columns:minmax(0,1fr)}.teacher-layout .teacher-management,.teacher-layout .teacher-progress-pane{position:static;max-height:none}.teacher-layout .teacher-progress-pane>.teacher-pane-heading{grid-column:auto}.teacher-layout .teacher-target-controls .set-class-exercise{width:100%}}@media(min-width:1200px){.student-layout,.student-layout.sessions-hidden{grid-template-rows:auto minmax(0,1fr)}.student-layout{grid-template-areas:"rail task task" "rail editor utility"}.student-layout.sessions-hidden{grid-template-areas:"task task" "editor utility"}.student-layout>.lesson-rail{grid-area:rail;grid-row:rail}.student-layout>.task-workflow{grid-area:task}.student-layout>.workbench{grid-area:editor}.student-layout>.utility-dock{grid-area:utility}.student-layout.pdf-exercise-mode>.pdf-exercise-workbench{grid-column:2 / -1}.student-layout.pdf-exercise-mode.sessions-hidden>.pdf-exercise-workbench{grid-column:1 / -1}.student-layout>.workbench,.student-layout>.utility-dock{height:100%;min-height:0}.student-layout>.workbench .code-grid,.student-layout>.workbench .editor-panel,.student-layout>.utility-dock>.terminal-panel{height:100%}}.student-layout .task-steps{min-height:42px;padding:3px;gap:8px;overflow-y:visible;scrollbar-width:thin}.student-layout .task-steps button{width:36px;min-width:36px;height:36px;min-height:36px;flex:0 0 36px;display:inline-grid;place-items:center;padding:0;overflow:visible;border-radius:50%;aspect-ratio:1}.student-layout .task-steps button.active{outline:0;border-color:#2563eb;box-shadow:0 0 0 3px #bfdbfe}.utility-dock{grid-template-rows:minmax(0,1fr) auto;overflow:visible}.support-launcher{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.support-launcher button{min-width:0;min-height:42px;padding:7px 10px;justify-content:center;border-color:#d7dced;background:#fff;color:var(--color-primary);font-size:12px;font-weight:800}.support-launcher button span{padding:1px 6px;border-radius:999px;background:var(--color-primary-soft);font-size:10px}.support-panel.support-drawer{width:min(400px,calc(100vw - 24px));min-height:0;max-height:calc(100dvh - 96px);position:fixed;z-index:120;top:76px;right:16px;bottom:16px;display:flex;transform:translate(calc(100% + 28px));opacity:0;visibility:hidden;pointer-events:none;box-shadow:0 24px 80px #0f172a3d;transition:transform .22s ease,opacity .18s ease,visibility 0s linear .22s}.support-panel.support-drawer.open{transform:translate(0);opacity:1;visibility:visible;pointer-events:auto;transition-delay:0s}.presenter-prediction-drawer{z-index:140}.support-drawer-heading{min-height:66px;padding:10px 12px 10px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--student-border)}.support-drawer-heading>div{min-width:0;display:grid;gap:2px}.support-drawer-heading strong{overflow:hidden;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.support-drawer-heading button{flex:0 0 auto;min-height:40px;padding:7px 10px;border-color:var(--student-border);background:#fff}.support-panel.support-drawer .support-tab-panel{min-height:0;overflow-y:auto}.teacher-layout{grid-template-rows:auto auto auto;align-content:start;overflow-y:auto}.teacher-layout .teacher-header{min-height:104px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:20px;padding:16px 18px;border-color:#cfd7ef;background:linear-gradient(135deg,#fff,#f5f7ff)}.teacher-layout .teacher-heading h1{font-size:clamp(24px,2.2vw,34px)}.teacher-layout .teacher-actions{min-width:0;display:flex;align-items:stretch;gap:10px}.teacher-layout .presenter-open-button{order:-1;min-width:230px;min-height:58px;padding-inline:22px;border-radius:12px;font-size:15px;box-shadow:0 8px 20px #2638912e}.teacher-layout .teacher-join-code{min-width:170px;padding:7px 9px;border:1px solid var(--color-border);border-radius:10px;background:#fff}.teacher-layout .metric-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.teacher-layout .metric-card{min-height:76px;padding:12px 14px}.teacher-layout .metric-card>span{width:40px;height:40px}.teacher-layout .metric-card strong{font-size:23px}.teacher-layout .teacher-workspace{display:grid;grid-template-columns:minmax(280px,.78fr) minmax(420px,1.22fr);grid-template-areas:"roster progress" "editor editor";align-items:stretch;gap:14px;min-height:1164px;overflow:visible}.teacher-layout .teacher-management{grid-area:roster;min-height:430px;max-height:520px;position:static}.teacher-layout .teacher-progress-pane{grid-area:progress;min-height:430px;max-height:520px;position:static;display:grid;grid-template-columns:minmax(220px,.8fr) minmax(280px,1.2fr);grid-template-rows:auto minmax(0,1fr);gap:12px;overflow:hidden}.teacher-layout .teacher-progress-pane>.teacher-pane-heading{grid-column:1 / -1}.teacher-layout .teacher-progress-pane .teacher-student-insight,.teacher-layout .teacher-progress-pane .recent-activity{min-height:0;overflow-y:auto}.teacher-layout .teacher-progress-pane .teacher-session-progress,.teacher-layout .teacher-progress-pane>.sync-warning{display:none}.teacher-layout .teacher-code-pane{grid-area:editor;min-height:720px}.teacher-layout .teacher-code-header{min-height:76px;padding-block:12px}.teacher-layout .teacher-code-header h2{font-size:22px}.teacher-layout .class-pacing-bar{grid-template-columns:minmax(150px,.55fr) minmax(260px,1.2fr) auto}.teacher-layout .teacher-target-controls{grid-template-columns:minmax(150px,.75fr) minmax(220px,1.2fr) minmax(190px,1fr) auto}.teacher-student-name-row{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:8px}.teacher-progress-chip{flex:0 0 auto;padding:3px 7px;border-radius:999px;background:#eef1f5;color:#5d6674;font-size:10px;font-style:normal;font-weight:850}.teacher-progress-chip.complete{background:#dcfce7;color:#166534}.teacher-progress-chip.needs_review,.teacher-progress-chip.needs-help{background:#fff1e6;color:#a13f12}.teacher-progress-chip.guest{margin-left:auto;background:#eef0ff;color:#3b4fd0}.teacher-student-list button.needs-help{border-color:#f0b28f;background:#fffaf6}@media(max-width:1199px){.student-layout>.task-workflow{order:0}.student-layout>.workbench{order:1}.student-layout>.utility-dock{order:2}.utility-dock{grid-template-columns:minmax(0,1fr);grid-template-rows:320px auto}.utility-dock>.terminal-panel{min-height:320px}.teacher-layout .teacher-workspace{grid-template-columns:minmax(240px,.75fr) minmax(0,1.25fr);grid-template-areas:"roster progress" "editor editor"}}@media(max-width:900px),(orientation:portrait){.teacher-layout .teacher-header{grid-template-columns:minmax(0,1fr)}.teacher-layout .teacher-actions{width:100%}.teacher-layout .presenter-open-button{flex:1 1 auto}.teacher-layout .metric-row{grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-layout .teacher-workspace{grid-template-columns:minmax(0,1fr);grid-template-areas:"roster" "progress" "editor";min-height:0}.teacher-layout .teacher-management,.teacher-layout .teacher-progress-pane{min-height:0;max-height:none}.teacher-layout .teacher-progress-pane{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto}.teacher-layout .teacher-progress-pane>.teacher-pane-heading{grid-column:auto}.teacher-layout .teacher-code-pane{min-height:680px}.support-panel.support-drawer{top:72px;right:12px;bottom:12px}}@media(max-width:600px){.student-layout .task-steps{padding-inline:4px}.student-layout .task-steps button{width:34px;min-width:34px;height:34px;min-height:34px;flex-basis:34px}.support-panel.support-drawer{width:calc(100vw - 16px);right:8px;bottom:8px}.teacher-layout .teacher-actions{display:grid;grid-template-columns:minmax(0,1fr)}.teacher-layout .presenter-open-button{min-width:0;width:100%}.teacher-layout .teacher-join-code{min-width:0}}.yRemoteSelection,.yRemoteSelectionHead,.yRemoteSelectionHead:after{pointer-events:none}.yRemoteSelectionHead{height:100%;position:absolute;z-index:15}.teacher-layout .teacher-management{grid-template-rows:auto auto auto minmax(120px,1fr)}.teacher-layout .teacher-progress-pane{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr)}.teacher-layout .teacher-progress-pane>.teacher-pane-heading{grid-column:auto}.teacher-layout .teacher-progress-pane .teacher-student-insight{height:100%;min-height:0;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(180px,.8fr);grid-template-rows:auto auto minmax(90px,1fr);align-content:stretch;overflow-y:auto}.teacher-layout .teacher-progress-pane .teacher-insight-name,.teacher-layout .teacher-progress-pane .teacher-feedback-detail{grid-column:1 / -1}.teacher-task-insights{display:grid;grid-template-columns:minmax(220px,.5fr) minmax(0,1.5fr);align-items:center;gap:18px;padding:18px;border:1px solid var(--border);border-radius:14px;background:#fff}.teacher-task-insights h3{margin:2px 0 0;font-size:19px}.teacher-task-insights p{margin:5px 0 0;color:var(--muted);font-size:12px}.teacher-task-insights dl{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:0}.teacher-task-insights dl>div{padding:9px;border-radius:10px;background:#f8fafc}.teacher-task-insights dt{color:var(--muted);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.teacher-task-insights dd{margin:3px 0 0;color:var(--ink);font-size:15px;font-weight:800}.school-selector{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-size:12px;font-weight:800}.school-selector select{min-width:180px;padding:8px 34px 8px 10px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink);font:inherit}@media(max-width:900px),(orientation:portrait){.teacher-task-insights{grid-template-columns:minmax(0,1fr)}.teacher-task-insights dl{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:600px){.teacher-task-insights dl{grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-layout .teacher-progress-pane .teacher-student-insight{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto minmax(90px,1fr)}.teacher-layout .teacher-progress-pane .teacher-insight-name,.teacher-layout .teacher-progress-pane .teacher-feedback-detail{grid-column:auto}}.teacher-layout .class-pacing-bar{grid-template-columns:minmax(125px,.55fr) minmax(170px,.75fr) minmax(200px,1.2fr) auto}.learning-support-control{min-width:0;display:grid;align-content:center;gap:4px}.learning-support-toggle{min-height:38px;justify-content:flex-start;gap:8px;padding:6px 9px;border-color:#cbd5e1;background:#fff;color:#475569;white-space:nowrap}.learning-support-toggle.enabled{border-color:#86d9aa;background:#ecfdf5;color:#166534}.learning-support-switch{position:relative;width:32px;height:18px;flex:0 0 auto;border-radius:999px;background:#94a3b8;transition:background .16s ease}.learning-support-switch>span{position:absolute;top:3px;left:3px;width:12px;height:12px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #0f172a40;transition:transform .16s ease}.learning-support-toggle.enabled .learning-support-switch{background:#22a35a}.learning-support-toggle.enabled .learning-support-switch>span{transform:translate(14px)}.support-launcher button:disabled,.support-tabs button:disabled{cursor:not-allowed;opacity:.48}.teacher-solution-dialog-backdrop{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:24px;background:#020617d1}.teacher-solution-dialog{width:min(1480px,100%);height:min(900px,calc(100dvh - 48px));max-height:calc(100dvh - 48px);display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden;border:1px solid #334155;border-radius:18px;background:#0b1220;box-shadow:0 24px 64px #0206177a}.teacher-solution-dialog-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px 22px 16px;border-bottom:1px solid #263449;background:#111827}.teacher-solution-dialog-header h2{margin:4px 0 0;color:#f8fafc;font-size:1.3rem}.teacher-solution-dialog-header p{margin:5px 0 0;color:#94a3b8}.teacher-solution-dialog-header .eyebrow{color:#a5b4fc}.teacher-solution-task-picker{max-width:min(620px,100%);margin-top:12px;display:grid;gap:5px;color:#475569;font-size:12px;font-weight:800}.teacher-solution-task-picker select{min-height:40px;max-width:100%;border:1px solid #cbd5e1;border-radius:9px;padding:7px 10px;color:#0f172a;background:#fff;font:inherit;font-weight:700}.teacher-solution-dialog-header>button{min-width:36px;min-height:36px;padding:8px;border:1px solid #334155;color:#e2e8f0;background:#1e293b}.teacher-solution-dialog-body{min-height:0;display:grid;grid-template-columns:minmax(260px,320px) minmax(0,1fr)}.teacher-solution-outline{min-height:0;overflow:auto;padding:14px;border-right:1px solid #263449;color:#e2e8f0;background:#111827}.teacher-solution-search{position:sticky;top:0;z-index:1;display:flex;align-items:center;gap:8px;min-height:44px;margin-bottom:16px;padding:0 12px;border:1px solid #334155;border-radius:11px;color:#94a3b8;background:#0b1220}.teacher-solution-search input{min-width:0;width:100%;border:0;outline:0;color:#f8fafc;background:transparent}.teacher-solution-session+.teacher-solution-session{margin-top:22px}.teacher-solution-session h3{margin:0 0 10px;color:#94a3b8;font-size:12px;text-transform:uppercase}.teacher-solution-exercise{margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid #263449}.teacher-solution-exercise>div{display:grid;gap:2px;padding:0 6px 6px}.teacher-solution-exercise>div strong{color:#c7d2fe;font-size:13px}.teacher-solution-exercise>div span{color:#94a3b8;font-size:12px}.teacher-solution-exercise ol{display:grid;gap:3px;margin:0;padding:0;list-style:none}.teacher-solution-exercise li button{width:100%;min-height:44px;display:grid;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:6px;border:1px solid transparent;border-radius:10px;padding:7px 9px;color:#cbd5e1;background:transparent;text-align:left}.teacher-solution-exercise li button>span{color:#94a3b8;text-align:center}.teacher-solution-exercise li button>strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.teacher-solution-exercise li button:hover{color:#f8fafc;background:#1e293b}.teacher-solution-exercise li button.active{border-color:#6366f1;color:#f8fafc;background:#242b4a}.teacher-solution-no-results{padding:20px 6px;color:#94a3b8}.teacher-solution-workspace{min-width:0;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);color:#e2e8f0;background:#0b1220}.teacher-solution-file-tabs{display:flex;gap:4px;overflow-x:auto;padding:10px 14px 0;border-bottom:1px solid #263449;background:#111827}.teacher-solution-file-tabs button{border:1px solid transparent;border-bottom:0;border-radius:8px 8px 0 0;padding:8px 12px;color:#94a3b8;background:transparent;white-space:nowrap}.teacher-solution-file-tabs button[aria-selected=true]{border-color:#334155;background:#0b1220;color:#f8fafc}.teacher-solution-editor{min-width:0;min-height:0;overflow:hidden;border-right:1px solid #263449;background:#0b1220}.teacher-solution-code-grid{min-width:0;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.teacher-solution-reference{display:grid;align-content:start;gap:18px;overflow:auto;padding:clamp(18px,3vw,32px)}.teacher-solution-reference section{border:1px solid #334155;border-radius:14px;padding:18px;background:#111827}.teacher-solution-reference h3{margin:0 0 12px;color:#f8fafc;font-size:1rem}.teacher-solution-reference p{margin:0;color:#cbd5e1;white-space:pre-wrap}.teacher-solution-reference ol{display:grid;gap:10px;margin:0;padding-left:24px}.teacher-solution-reference li{padding-left:4px;color:#e2e8f0}.teacher-solution-reference li strong{margin-left:10px;color:#a5b4fc;white-space:nowrap}.teacher-solution-reference pre{overflow:auto;margin:0;color:#e2e8f0;white-space:pre-wrap;font:.9rem/1.5 ui-monospace,monospace}.teacher-solution-reference .teacher-solution-explanation{margin-top:14px;padding-top:14px;border-top:1px solid #334155}.teacher-solution-runner{min-width:0;min-height:0;display:grid;grid-template-rows:minmax(0,1fr) auto;overflow:hidden;background:#0b1220}.teacher-solution-runner>*{min-width:0;width:100%}.teacher-solution-terminal-run{min-height:32px;white-space:nowrap}.teacher-solution-dialog .primary{border-color:#6366f1;color:#fff;background:#4f46e5;box-shadow:none}.teacher-solution-dialog .primary:hover:not(:disabled){background:#4338ca}.teacher-solution-runner>.terminal-panel{min-height:0;height:100%;border:0;border-radius:0}.teacher-solution-run-error{margin:0;padding:8px 14px;color:#fecaca;background:#450a0a}.teacher-solution-dialog-state,.teacher-solution-dialog-error{margin:0;padding:28px 22px}.teacher-solution-dialog-state{display:flex;align-items:center;gap:8px;color:#94a3b8}.teacher-solution-empty{display:grid;gap:5px}.teacher-solution-empty strong{color:#f8fafc}.teacher-solution-dialog-error{color:#fca5a5}@media(max-width:640px){.teacher-solution-dialog-backdrop{padding:10px}.teacher-solution-dialog{height:calc(100dvh - 20px);max-height:calc(100dvh - 20px);border-radius:13px}.teacher-solution-dialog-header{padding:14px}}@media(max-width:900px){.teacher-solution-dialog-body{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(150px,28vh) minmax(0,1fr)}.teacher-solution-outline{border-right:0;border-bottom:1px solid #263449}.teacher-solution-code-grid{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(260px,1fr) minmax(280px,1fr);overflow:auto}.teacher-solution-editor{border-right:0;border-bottom:1px solid #263449}}@media(max-width:1280px){.teacher-layout .class-pacing-bar{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:900px),(orientation:portrait){.teacher-layout .class-pacing-bar{grid-template-columns:minmax(0,1fr)}}.student-answer-prompt{width:min(100%,760px);margin:0 auto 24px;padding-bottom:22px;border-bottom:1px solid var(--color-border, #e0e4eb)}.student-answer-prompt p{max-width:68ch;margin:0;color:var(--color-text, #111827);font-family:var(--font-display, inherit);font-size:clamp(24px,2.2vw,32px);line-height:1.2;overflow-wrap:anywhere;text-wrap:balance;white-space:pre-wrap}.student-mcq{padding:clamp(24px,4vw,48px);background:#fff}.workbench .mcq-editor-panel .student-editor-area{min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:contain;scrollbar-gutter:stable}.student-mcq .mcq-answer-prompt,.student-mcq-options{width:min(100%,920px)}.student-mcq .mcq-answer-prompt{margin-bottom:24px;gap:20px}.student-mcq .mcq-answer-prompt .student-question-copy{display:block;overflow:visible;border:0;border-radius:0;background:transparent;box-shadow:none}.student-mcq .mcq-answer-prompt .student-question-copy>span{display:none}.student-mcq .mcq-answer-prompt .student-question-copy p{max-width:40ch;padding:0;color:#13213b;font-size:clamp(22px,2vw,28px);font-weight:850;line-height:1.25;text-wrap:balance}.student-mcq .prompt-code-card.light{border-color:#dbe3ee;border-radius:22px;background:#fff;box-shadow:none}.student-mcq .prompt-code-card.light .prompt-code-card-header{min-height:40px;padding:8px 16px;border-bottom-color:#e6ebf2;background:#fff;color:#5f6e86;font-size:12px}.student-mcq .prompt-code-card.light .prompt-code-card-header>span:last-child{color:#5f6e86}.student-mcq .prompt-code-card.light .prompt-code-card-editor{background:#fff}.student-mcq-options{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.student-mcq-heading{grid-column:1 / -1;margin-bottom:2px;font-size:16px;line-height:1.5}.student-mcq label{min-height:72px;padding:12px 16px;display:flex;justify-content:center;border-radius:22px;text-align:center}.student-mcq label.selected .student-mcq-letter{background:var(--color-primary, #263891);color:#fff}.student-mcq label:has(input:focus-visible){border-color:var(--color-primary, #263891);outline:3px solid rgba(38,56,145,.16);outline-offset:2px}.mcq-inline-feedback{width:min(100%,920px);margin:20px auto 0;padding:18px 20px;display:grid;gap:6px;box-sizing:border-box;border:1px solid #dbe3ee;border-radius:18px;background:#fff;color:#13213b}.mcq-inline-feedback-heading{min-width:0;min-height:44px;padding:0 16px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-radius:999px;background:#26389114}.mcq-inline-feedback-heading .utility-kicker{min-width:0;min-height:0;padding:0;background:transparent}.mcq-inline-feedback-heading .constructed-response-score{position:static;flex:0 0 auto;align-self:center;margin:0;line-height:1;font-variant-numeric:tabular-nums}.mcq-inline-feedback.success{border-color:#8bd4a2;background:#f2fbf5}.mcq-inline-feedback.warn{border-color:#efc45b;background:#fffaf0}.mcq-inline-feedback>strong{font-size:16px;text-wrap:balance}.mcq-inline-feedback>p{max-width:68ch;margin:0;color:#55647b;line-height:1.55;text-wrap:pretty}@media(min-width:1200px){.student-layout.mcq-mode{grid-template-columns:clamp(224px,17vw,284px) minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto;grid-template-areas:"rail task" "rail editor" "rail utility"}.student-layout.mcq-mode.sessions-hidden{grid-template-columns:minmax(0,1fr);grid-template-areas:"task" "editor" "utility"}.student-layout.mcq-mode>.utility-dock{height:auto;min-height:0;grid-template-rows:auto;overflow:visible}.student-layout.mcq-mode>.utility-dock>.support-launcher{width:min(100%,460px);margin-left:auto}}.student-mcq input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.student-explanation-response{width:100%;max-width:none;padding:clamp(24px,4vw,48px)}.student-explanation-response>label{width:min(100%,760px);margin-inline:auto;color:var(--color-text, #111827);font-size:16px;font-weight:800}.student-explanation-response textarea{width:min(100%,760px);min-height:280px;margin-inline:auto}.workbench .student-editor-area:has(>.student-explanation-response),.workbench .student-editor-area:has(>.student-notebook){overflow:hidden}.workbench .student-explanation-response{height:100%;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.workbench .student-editor-area:has(>.student-short-answer){overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.workbench .student-short-answer{min-height:100%;height:auto;overflow:visible}.workbench .student-explanation-response textarea{height:220px;min-height:180px;max-height:360px}.student-notebook{width:100%;height:100%;min-height:420px;overflow:auto;background:#f6f8fc;color:var(--color-text, #111827)}.workbench .student-notebook{min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.student-notebook-loading{display:grid;place-items:center;color:var(--color-text-muted, #596579)}.student-notebook-heading{position:sticky;top:0;z-index:2;min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px clamp(20px,3vw,32px);border-bottom:1px solid var(--color-border, #e0e4eb);background:#fffffff5}.student-notebook-heading>div{min-width:0;display:grid;gap:2px}.student-notebook-heading strong{font-family:var(--font-display, inherit);font-size:18px}.student-notebook-heading span{color:var(--color-text-muted, #596579);font-size:13px}.student-notebook-format{flex:0 0 auto;padding:6px 10px;border:1px solid #cdd7e8;border-radius:999px;background:#f8faff;color:var(--color-primary, #263891)!important;font-weight:800}.student-notebook-cells{width:min(100%,980px);margin-inline:auto;padding:clamp(20px,3vw,32px);display:grid;gap:18px}.notebook-markdown-cell,.notebook-code-cell{min-width:0;border:1px solid var(--color-border, #e0e4eb);border-radius:14px;background:#fff;box-shadow:var(--shadow-1, 0 1px 2px rgba(17, 24, 39, .04))}.notebook-markdown-cell{display:grid;grid-template-columns:48px minmax(0,1fr);overflow:hidden}.notebook-cell-gutter{display:grid;place-items:start center;padding-top:22px;border-right:1px solid #e6eaf1;background:#f8faff;color:#60708a}.notebook-markdown-copy{max-width:72ch;padding:20px 24px 22px}.notebook-markdown-copy>:first-child{margin-top:0}.notebook-markdown-copy>:last-child{margin-bottom:0}.notebook-markdown-copy h3,.notebook-markdown-copy h4,.notebook-markdown-copy h5{margin:20px 0 8px;color:var(--color-text, #111827);line-height:1.3}.notebook-markdown-copy p,.notebook-markdown-copy li{color:#334155;font-size:16px;line-height:1.65}.notebook-markdown-copy ul,.notebook-markdown-copy ol{margin:8px 0;padding-left:22px}.notebook-markdown-copy code{padding:2px 6px;border-radius:5px;background:#eef2ff;color:#293a94;font-family:var(--font-mono, monospace);font-size:.92em}.notebook-code-cell{overflow:hidden;border-color:#27364d;background:var(--color-code, #0c1424)}.notebook-code-heading{min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 14px;border-bottom:1px solid #2b3950;background:#141f33;color:#dbe7ff;font-size:13px;font-weight:800}.notebook-code-heading>span{display:inline-flex;align-items:center;gap:7px}.notebook-code-heading>span:last-child{color:#9aa8bf;font-family:var(--font-mono, monospace);font-weight:600}.notebook-code-body{display:grid;grid-template-columns:72px minmax(0,1fr);min-width:0}.notebook-input-label{padding:18px 10px;border-right:1px solid #263246;background:#101a2a;color:#67a5ff;font-family:var(--font-mono, monospace);font-size:13px;text-align:center}.notebook-code-editor{min-width:0;background:var(--color-code, #0c1424)}.notebook-raw-editor{min-height:420px;display:grid;grid-template-rows:auto minmax(320px,1fr);overflow:hidden;border:1px solid #27364d;border-radius:14px;background:var(--color-code, #0c1424)}.notebook-raw-editor>p{padding:12px 16px;border-bottom:1px solid #27364d;background:#141f33;color:#c4cede;font-size:13px}.notebook-raw-editor-surface{min-height:320px}@media(max-width:700px){.student-layout .task-workflow-heading{display:grid;grid-template-columns:minmax(0,1fr)}.student-layout .task-workflow-status,.student-layout .task-live-summary{width:100%;min-width:0;justify-items:start;justify-content:flex-start}.student-layout .task-live-summary .game-summary{max-width:100%;flex-wrap:wrap}.student-answer-prompt{margin-bottom:18px;padding-bottom:18px}.student-answer-prompt p{font-size:24px}.student-mcq,.student-explanation-response{padding:20px 16px}.student-mcq-options{grid-template-columns:minmax(0,1fr)}.student-mcq label{min-height:60px;padding:12px 14px}.student-notebook-heading{align-items:flex-start;padding:14px 16px}.student-notebook-format{display:none}.student-notebook-cells{padding:16px}.notebook-markdown-cell{grid-template-columns:minmax(0,1fr)}.notebook-cell-gutter{display:none}.notebook-markdown-copy{padding:18px}.notebook-code-body{grid-template-columns:minmax(0,1fr)}.notebook-input-label{display:none}}@media(min-width:701px)and (max-width:980px){.student-mcq-options{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1200px){.student-layout.lesson-mode{grid-template-rows:minmax(0,1fr);grid-template-areas:"rail lesson lesson"}.student-layout.lesson-mode.sessions-hidden{grid-template-areas:"lesson lesson"}.student-layout.lesson-mode>.lesson-workbench{grid-area:lesson;grid-column:2 / -1;grid-row:1;height:100%;min-height:0}.student-layout.lesson-mode.sessions-hidden>.lesson-workbench{grid-column:1 / -1}.student-layout.notebook-mode{grid-template-columns:clamp(224px,17vw,284px) minmax(0,1fr);grid-template-rows:auto minmax(320px,1fr);grid-template-areas:"rail task" "rail notebook"}.student-layout.notebook-mode.sessions-hidden{grid-template-columns:minmax(0,1fr);grid-template-areas:"task" "notebook"}.student-layout.notebook-mode>.notebook-workbench{grid-area:notebook;height:100%;min-height:0;gap:0}}.student-answer-prompt{display:grid;gap:14px}.student-prompt-image{margin:0}.student-prompt-image img{display:block;max-width:100%;max-height:420px;margin:0 auto;object-fit:contain;border:1px solid #dbe2ef;border-radius:12px;background:#fff}.student-prompt-code{overflow:hidden;border:1px solid #263852;border-radius:12px;background:#111c2f;color:#e5edf8}.student-prompt-code>div{display:flex;gap:8px;padding:9px 14px;border-bottom:1px solid #263852;color:#aebbd0;font-size:12px;font-weight:700}.student-prompt-code>div span{color:#74a7ff}.student-prompt-code pre{margin:0;padding:16px;overflow:auto;white-space:pre}.student-prompt-code code{font:14px/1.6 ui-monospace,SFMono-Regular,Menlo,monospace}.student-short-answer{--short-answer-editor-width: 760px;width:100%}.student-code-exploration{position:relative;width:min(100%,980px);margin:0 auto 24px}.student-code-exploration-unlock{position:fixed;z-index:81;inset:0;display:grid;place-items:center;padding:24px;background:#ffffff2e;-webkit-backdrop-filter:blur(4px) saturate(120%);backdrop-filter:blur(4px) saturate(120%);animation:code-exploration-unlock 2.2s ease both}.student-code-exploration-unlock-card{width:min(100%,430px);min-height:64px;padding:18px 24px;display:flex;align-items:center;justify-content:center;gap:10px;border:1px solid #7bd69b;border-radius:24px;background:#effdf5f5;color:#147a3c;box-shadow:0 18px 52px #147a3c38;font-size:18px;text-align:center}.prompt-code-run{min-height:30px;padding:5px 12px;display:inline-flex;align-items:center;gap:6px;border:1px solid #bdcaf1;border-radius:9px;background:#f1f4ff;color:var(--color-primary, #263891);font:inherit;font-weight:850}.prompt-code-run:hover:not(:disabled){border-color:#8ea5eb;background:#e7ecff}.student-code-exploration-output{margin:10px 0 0;padding:12px 14px;overflow:auto;border:1px solid #263852;border-radius:10px;background:#07111f;color:#d7f9df;font:13px/1.6 var(--font-mono, ui-monospace, monospace);white-space:pre-wrap}@keyframes code-exploration-unlock{0%{opacity:0}14%,78%{opacity:1}to{opacity:0}}.student-code-exploration-unlock-card{animation:code-exploration-unlock-card 1.8s ease both}@keyframes code-exploration-unlock-card{0%{opacity:0;transform:translateY(18px) scale(.94)}16%,78%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-10px) scale(.98)}}@media(prefers-reduced-motion:reduce){.student-code-exploration-unlock{animation:none}}.student-answer-prompt{width:min(100%,980px);margin:0 auto 24px;padding:0;gap:18px;border:0}.student-question-copy{display:grid;grid-template-columns:62px minmax(0,1fr);overflow:hidden;border:1px solid var(--color-border, #d9dfeb);border-radius:16px;background:#fff;box-shadow:var(--shadow-1, 0 1px 2px rgb(15 23 42 / 5%))}.student-question-copy>span{display:grid;place-items:start center;padding-top:22px;border-right:1px solid #e2e7f0;background:#f8faff;color:#60708a}.student-answer-prompt .student-question-copy p{max-width:72ch;margin:0;padding:20px 24px 22px;color:#334155;font-family:var(--font-display, inherit);font-size:clamp(18px,1.55vw,23px);line-height:1.55;text-wrap:pretty}.student-prompt-image{padding:12px;border:1px solid var(--color-border, #d9dfeb);border-radius:16px;background:#fff}.student-prompt-image img{max-height:480px;border:0;border-radius:10px}.prompt-code-card{min-width:0;overflow:hidden;border:1px solid #27364d;border-radius:16px;background:#101827;box-shadow:var(--shadow-1, 0 1px 2px rgb(15 23 42 / 5%))}.prompt-code-card-header{min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 16px;border-bottom:1px solid #2b3950;background:#141f33;color:#dbe7ff;font-size:13px}.prompt-code-card-header>span{display:inline-flex;align-items:center;gap:8px}.prompt-code-card-header>span:last-child{color:#9aa8bf;font-family:var(--font-mono, monospace);font-weight:700}.prompt-code-card-editor{min-width:0;height:100%;background:#101827}.prompt-code-card-editor .code-editor-wrap{height:100%}.prompt-code-card-source{width:100%;height:100%;margin:0;overflow:auto;border:0;border-radius:0;outline:0;background:transparent;color:#e8eefb;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:14px;line-height:23px;padding:14px 16px;tab-size:4;white-space:pre-wrap;overflow-wrap:anywhere}.prompt-code-card-input{display:block;resize:none;caret-color:currentColor}.prompt-code-card.light .prompt-code-card-source{color:#13213b}.prompt-code-card-input:focus-visible{box-shadow:inset 0 0 0 2px #315bea}.student-code-exploration .prompt-code-card.light{border-color:#dbe3ee;border-radius:22px;background:#fff;box-shadow:none}.student-code-exploration .prompt-code-card.light .prompt-code-card-header{min-height:40px;padding:8px 16px;border-bottom-color:#e6ebf2;background:#fff;color:#5f6e86;font-size:12px}.student-code-exploration .prompt-code-card.light .prompt-code-card-header>span:last-child{color:#5f6e86}.student-code-exploration .prompt-code-card.light .prompt-code-card-editor{background:#fff}.student-short-answer>label,.student-short-answer>textarea{box-sizing:border-box;width:min(100%,var(--short-answer-editor-width));margin-inline:auto}.student-short-answer .short-answer-prompt,.student-short-answer .student-code-exploration{box-sizing:border-box;width:min(100%,var(--short-answer-editor-width))}.student-short-answer .prompt-code-card{width:100%;min-height:300px}.student-short-answer .short-answer-prompt{margin-bottom:24px;gap:20px;justify-items:stretch}.student-short-answer .short-answer-prompt .student-question-copy{display:block;overflow:visible;border:0;border-radius:0;background:transparent;box-shadow:none}.student-short-answer .short-answer-prompt .student-question-copy>span{display:none}.student-short-answer .short-answer-prompt .student-question-copy p{max-width:40ch;padding:0;color:#13213b;font-size:clamp(22px,2vw,28px);font-weight:850;line-height:1.25;text-wrap:balance}.student-short-answer .prompt-code-card.light{border-color:#dbe3ee;border-radius:22px;background:#fff;box-shadow:none}.student-short-answer .prompt-code-card.light .prompt-code-card-header{min-height:40px;padding:8px 16px;border-bottom-color:#e6ebf2;background:#fff;color:#5f6e86;font-size:12px}.student-short-answer .prompt-code-card.light .prompt-code-card-header>span:last-child{color:#5f6e86}.student-short-answer .prompt-code-card.light .prompt-code-card-editor{background:#fff}.short-answer-feedback-trigger{width:min(100%,var(--short-answer-editor-width));min-height:44px;margin:8px auto 0;justify-content:center}.short-answer-feedback-dialog{width:min(520px,calc(100vw - 32px));max-height:calc(100dvh - 48px);overflow:auto;padding:28px;border:1px solid var(--line, #dbe3ee);border-radius:18px;background:var(--panel, #fff);color:var(--ink, #13213b);box-shadow:0 24px 80px #0f172a3d}.short-answer-feedback-dialog::backdrop{background:#0f172a73;-webkit-backdrop-filter:none;backdrop-filter:none}.short-answer-feedback-dialog>.quick-liquid-popup-surface{background:#ffffffb8;border:1px solid rgb(255 255 255 / 88%);box-shadow:0 24px 72px #0f172a2e}.short-answer-feedback-dialog h2{margin:14px 0 8px;font-size:22px}.short-answer-feedback-dialog p{margin:0;line-height:1.6;overflow-wrap:anywhere}.short-answer-feedback-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.short-answer-feedback-heading .constructed-response-score{position:static;flex:0 0 auto;margin:0}.short-answer-feedback-actions{display:flex;justify-content:flex-end;margin-top:24px}@media(max-width:560px){.short-answer-feedback-dialog{width:calc(100vw - 24px);max-height:calc(100dvh - 24px);padding:22px 18px}}@media(min-width:1200px){.student-layout.short-answer-mode{grid-template-columns:clamp(224px,17vw,284px) minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto;grid-template-areas:"rail task" "rail editor" "rail utility"}.student-layout.short-answer-mode.sessions-hidden{grid-template-columns:minmax(0,1fr);grid-template-areas:"task" "editor" "utility"}.student-layout.short-answer-mode>.utility-dock{height:auto;min-height:0;grid-template-rows:auto;overflow:visible}.student-layout.short-answer-mode>.utility-dock>.support-launcher{width:min(100%,460px);margin-left:auto}}@media(max-width:700px){.student-question-copy{grid-template-columns:minmax(0,1fr)}.student-question-copy>span{display:none}.student-answer-prompt .student-question-copy p{padding:18px;font-size:18px}.prompt-code-card{border-radius:12px}.prompt-code-card-header{padding-inline:12px}}.full-instruction-toggle{flex:0 0 auto;min-height:34px;padding:6px 10px;border-color:#c9d5f3;border-radius:8px;background:#f4f7ff;color:var(--color-primary);font-size:12px;line-height:1}.full-instruction-toggle svg{width:15px;height:15px}.full-instruction-copy{white-space:pre-wrap}.student-layout:not(.full-instruction-mode) .full-instruction-copy{display:-webkit-box;width:100%;max-width:88ch;overflow:hidden;white-space:normal;overflow-wrap:anywhere;text-wrap:pretty;text-overflow:ellipsis;-webkit-box-orient:vertical;-webkit-line-clamp:5;line-clamp:5}.student-layout:not(.full-instruction-mode) .task-instruction-brief{display:contents}.student-layout:not(.full-instruction-mode) .task-instruction-footer{display:contents}.student-layout.full-instruction-mode .task-instruction-brief{min-width:0}.student-layout.full-instruction-mode .task-workflow-toolbar,.student-layout.full-instruction-mode .task-workflow-toolbar-start,.student-layout.full-instruction-mode .task-workflow-status,.student-layout.full-instruction-mode .task-live-summary,.student-layout.full-instruction-mode .task-live-summary .game-summary{display:flex;flex-wrap:nowrap;align-items:center}.student-layout.full-instruction-mode .task-workflow-status{justify-content:flex-start;gap:7px;width:auto;max-width:100%;min-width:0;margin:0;overflow-x:auto;overflow-y:hidden;overscroll-behavior-inline:contain;scrollbar-width:thin}.student-layout.full-instruction-mode .task-workflow-status>:first-child{margin-inline-start:auto}.student-layout.full-instruction-mode .task-live-summary,.student-layout.full-instruction-mode .task-live-summary .game-summary{justify-content:flex-end;gap:7px;flex:0 0 auto}.student-layout.full-instruction-mode .task-instruction-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 16px}.student-layout.full-instruction-mode .task-instruction-footer .exercise-score-cluster{flex:0 1 auto;margin:0}.student-layout.full-instruction-mode .task-instruction-footer .editor-task-navigator{flex:1 1 240px;min-width:0;padding:0}.instruction-content{min-width:0}.instruction-metadata{display:flex;align-items:center;gap:8px;margin-top:10px;flex-wrap:wrap}.instruction-metadata>span{display:inline-flex;align-items:center;gap:6px;min-height:28px;padding:5px 10px;border-radius:8px;background:#f1f5ff;color:#25429a;font-size:12px;font-weight:800}.instruction-metadata>span:last-child{background:#f7f6fb;color:#64748b}.instruction-rich-text{margin-top:14px;color:#26364f;font-size:13px;line-height:1.45}.instruction-rich-text h3,.instruction-rich-text h4{margin:14px 0 4px;color:#111827;font-size:13px;line-height:1.35}.instruction-rich-text h3:first-child,.instruction-rich-text h4:first-child,.instruction-rich-text p:first-child{margin-top:0}.instruction-rich-text p{margin:5px 0;color:inherit;font-size:inherit;line-height:inherit}.instruction-rich-text ul,.instruction-rich-text ol{margin:4px 0 9px;padding-left:20px}.instruction-rich-text li{margin:1px 0;padding-left:2px}.instruction-rich-text code{padding:1px 4px;border-radius:4px;background:#eef2f7;color:#273b74;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.92em}@media(min-width:1200px){.student-layout.full-instruction-mode,.student-layout.full-instruction-mode.sessions-hidden{width:calc(100% - 24px);max-width:none;height:calc(100dvh - 76px);min-height:640px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:minmax(0,1.8fr) minmax(220px,1fr);grid-template-areas:"editor task" "utility task";gap:12px;overflow:hidden}.student-layout.full-instruction-mode>.lesson-rail,.student-layout.full-instruction-mode>.curriculum-drawer-backdrop{display:none}.student-layout.full-instruction-mode>.task-workflow{grid-area:task;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto;grid-template-areas:"chrome" "brief" "footer";align-items:stretch;align-content:stretch;justify-items:stretch;gap:0;height:100%;min-height:0;padding:0;overflow:hidden}.student-layout.full-instruction-mode>.task-workflow .task-workflow-heading{display:contents}.student-layout.full-instruction-mode>.task-workflow .task-workflow-toolbar,.student-layout.full-instruction-mode>.task-workflow .task-workflow-toolbar-start{display:flex;flex-wrap:nowrap;align-items:center}.student-layout.full-instruction-mode>.task-workflow .task-workflow-toolbar{grid-area:chrome;justify-content:space-between;gap:10px 16px;width:100%;min-width:0;padding:12px 20px;border-bottom:1px solid var(--student-border);background:#fffffff5}.student-layout.full-instruction-mode>.task-workflow .task-workflow-toolbar-start{justify-content:flex-start;gap:10px;min-width:0;flex:0 0 auto}.student-layout.full-instruction-mode>.task-workflow .task-workflow-toolbar-start .utility-kicker{flex:0 1 auto;width:auto}.student-layout.full-instruction-mode>.task-workflow .task-workflow-course-actions{position:static;flex:0 0 auto;margin:0;padding:0;border:0;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}.student-layout.full-instruction-mode>.task-workflow .task-workflow-status{display:flex;flex-wrap:nowrap;align-items:center;justify-content:flex-start;gap:7px;width:auto;max-width:100%;min-width:0;margin:0;flex:1 1 auto;overflow-x:auto;overflow-y:hidden}.student-layout.full-instruction-mode>.task-workflow .task-live-summary{display:flex;flex-wrap:nowrap;align-items:center;gap:7px;flex:0 0 auto}.student-layout.full-instruction-mode>.task-workflow .task-live-summary .game-summary{display:flex;flex-wrap:nowrap;align-items:center;gap:7px;flex:0 0 auto}.student-layout.full-instruction-mode>.task-workflow .task-instruction-brief{grid-area:brief;display:block;min-width:0;min-height:0;padding:24px 28px 32px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.student-layout.full-instruction-mode>.task-workflow .task-instruction-brief h2{max-width:62ch;margin:0 0 16px}.student-layout.full-instruction-mode>.task-workflow .full-instruction-copy{max-width:62ch;margin-top:0;overflow:visible;color:#334155;font-size:16px;line-height:1.7;white-space:pre-wrap;-webkit-line-clamp:unset;line-clamp:unset}.student-layout.full-instruction-mode>.task-workflow .instruction-content,.student-layout.full-instruction-mode>.task-workflow .instruction-rich-text{max-width:62ch}.student-layout.full-instruction-mode>.task-workflow .curriculum-drawer-trigger,.student-layout.full-instruction-mode>.task-workflow .desktop-show-sessions-button{display:none}.student-layout.full-instruction-mode>.task-workflow .task-instruction-footer{grid-area:footer;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 16px;width:100%;min-width:0;padding:12px 20px 14px;border-top:1px solid var(--student-border);background:#fffffff5}.student-layout.full-instruction-mode>.workbench{grid-area:editor;height:100%;min-height:0}.student-layout.full-instruction-mode>.utility-dock{grid-area:utility;height:100%;min-height:0;grid-template-rows:minmax(0,1fr) auto;gap:10px;overflow:hidden}.student-layout.full-instruction-mode>.utility-dock>.terminal-panel{min-height:0;height:100%}.student-layout.full-instruction-mode>.utility-dock>.test-results-panel{max-height:42%;overflow-y:auto}}@media(max-width:1199px){.student-layout.full-instruction-mode>.lesson-rail{display:none}.student-layout.full-instruction-mode>.task-workflow{order:0;display:flex;flex-direction:column;align-items:stretch;max-height:min(54dvh,680px);overflow:hidden}.student-layout.full-instruction-mode>.task-workflow .task-workflow-heading{display:flex;flex-direction:column;align-items:stretch;gap:12px;min-width:0;padding-bottom:0;border-bottom:0}.student-layout.full-instruction-mode>.task-workflow .task-instruction-brief{min-height:0;max-height:min(42dvh,420px);overflow-y:auto;overscroll-behavior:contain}}@media(max-width:1199px),(orientation:portrait){.student-app-shell{height:auto;min-height:100dvh;overflow-x:hidden;overflow-y:auto}.student-layout,.student-layout.sessions-hidden,.student-layout.full-instruction-mode,.student-layout.full-instruction-mode.sessions-hidden{width:100%;height:auto;min-height:calc(100dvh - 72px);flex:0 0 auto;grid-template-columns:minmax(0,1fr);grid-template-rows:auto;grid-template-areas:"task" "editor" "utility";grid-auto-rows:max-content;align-content:start;overflow:visible}.student-layout .task-workflow{min-width:0;max-width:100%;overflow-x:hidden}.student-layout .task-workflow-heading{grid-template-columns:minmax(0,1fr)}.student-layout .task-workflow-status,.student-layout .task-live-summary{width:100%;min-width:0;justify-items:start;justify-content:flex-start}.student-layout .task-live-summary .game-summary{max-width:100%;justify-content:flex-start;flex-wrap:wrap}.student-layout .task-steps{width:100%;max-width:100%;padding-bottom:5px;overflow-x:auto;overflow-y:hidden;overscroll-behavior-inline:contain}.student-layout>.workbench,.student-layout>.utility-dock{height:auto;min-height:0;overflow:visible}.student-layout.full-instruction-mode>.task-workflow{height:auto;max-height:none;overflow:visible}}@media(min-width:1200px)and (max-height:760px){.student-app-shell:has(.student-layout.full-instruction-mode){height:auto;min-height:100dvh;overflow-x:hidden;overflow-y:auto}.student-layout.full-instruction-mode,.student-layout.full-instruction-mode.sessions-hidden{width:100%;height:auto;min-height:calc(100dvh - 72px);flex:0 0 auto;grid-template-columns:minmax(0,1fr);grid-template-rows:auto;grid-template-areas:"task" "editor" "utility";grid-auto-rows:max-content;align-content:start;overflow:visible}.student-layout.full-instruction-mode>.task-workflow{height:auto;max-height:none;overflow:visible}.student-layout.full-instruction-mode>.task-workflow .task-instruction-brief{max-height:min(56dvh,520px)}.student-layout.full-instruction-mode>.workbench{height:560px;min-height:560px}.student-layout.full-instruction-mode>.utility-dock{height:auto;min-height:420px;overflow:visible}}html.student-viewport-locked body.student-viewport-locked .student-app-shell:has(.student-layout.full-instruction-mode){height:100dvh;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:contain}html.student-viewport-locked body.student-viewport-locked .student-app-shell:has(.student-layout.pdf-exercise-mode){height:100dvh;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:contain}html body .student-lab-glass .student-layout.pdf-exercise-mode:not(.full-instruction-mode){height:auto;min-height:calc(100dvh - 72px);flex:0 0 auto;grid-template-rows:auto auto;align-content:start;overflow:visible}html body .student-lab-glass .student-layout.pdf-exercise-mode:not(.full-instruction-mode)>.pdf-exercise-workbench{height:auto;min-height:0;align-self:start;overflow:visible}.student-layout.notebook-mode.full-instruction-mode .curriculum-drawer-trigger,.student-layout.notebook-mode.full-instruction-mode .desktop-show-sessions-button{display:none}@media(min-width:1200px)and (orientation:landscape){.student-layout.notebook-mode.full-instruction-mode,.student-layout.notebook-mode.full-instruction-mode.sessions-hidden{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);grid-template-areas:"task" "notebook"}.student-layout.notebook-mode.full-instruction-mode>.notebook-workbench{grid-area:notebook;height:100%;min-height:0}}@media(max-width:1199px),(orientation:portrait){.student-layout.notebook-mode.full-instruction-mode,.student-layout.notebook-mode.full-instruction-mode.sessions-hidden{grid-template-columns:minmax(0,1fr);grid-template-areas:"task" "notebook";grid-template-rows:auto auto}.student-layout.notebook-mode.full-instruction-mode>.notebook-workbench{grid-area:notebook;height:640px}.student-layout.notebook-mode.full-instruction-mode>.task-workflow{display:flex;flex-direction:column;height:auto;max-height:none;overflow:visible}.student-layout.notebook-mode.full-instruction-mode .task-workflow-heading{display:flex;flex-direction:column}}.role-home-shell{min-height:100dvh;padding:12px;color:#12203a;font-family:Avenir Next,Avenir,DM Sans,Inter,ui-sans-serif,system-ui,sans-serif;background:#fff}.role-home-shell .role-topbar{position:relative;min-height:70px;padding:10px 18px 16px;overflow:hidden;border:1px solid rgb(18 32 58 / .08);border-radius:28px;background:#ffffffb8;box-shadow:0 8px 28px #12203a0f,inset 0 1px #ffffffe6;backdrop-filter:blur(22px) saturate(165%);-webkit-backdrop-filter:blur(22px) saturate(165%)}.role-home-shell .role-topbar:after{right:0;bottom:0;left:0;height:6px;background:linear-gradient(90deg,#fdd209 0 34%,#28b350 34% 67%,#263891 67% 100%)}.role-home-shell .role-topbar .brand-mark{width:44px;height:44px;border-radius:16px;background:#fff;box-shadow:0 1px 2px #12203a14}.role-home-shell .role-topbar .brand-academy{display:block;color:#12203a;font-family:Nunito,ui-rounded,Trebuchet MS,sans-serif;font-weight:800}.role-home-shell .role-topbar .brand-lab{color:#5b6b82;font-family:inherit;font-weight:500}.role-playground-cta{min-height:44px;padding-inline:16px;border:0;border-radius:16px;background:linear-gradient(90deg,#263891,#3b4fd0);box-shadow:0 10px 24px #26389147;font-weight:700}.role-page{width:100%;padding:clamp(52px,9vh,112px) 24px 56px}.role-intro{max-width:720px;margin:0 auto 40px}.role-eyebrow,.role-card-kicker{display:inline-flex;align-items:center;color:#263891;font-size:11px;font-weight:800;letter-spacing:.16em;line-height:1.2}.role-eyebrow{min-height:32px;margin-bottom:12px;padding:0 12px;border-radius:999px;background:#26389114}.role-intro h1{margin-bottom:14px;color:#12203a;font-family:Nunito,ui-rounded,Trebuchet MS,sans-serif;font-size:clamp(40px,5vw,60px);font-weight:800;letter-spacing:-.045em}.role-intro mark{padding:0 6px 3px;border-radius:10px;background:#fdd209}.role-intro p{max-width:620px;color:#5b6b82;font-size:17px;font-weight:500}.role-cards{gap:12px}.role-card{min-height:276px;padding:28px;border:1px solid rgb(18 32 58 / .08);border-top:1px solid rgb(18 32 58 / .08);border-radius:28px;background:#ffffffb8;box-shadow:0 8px 28px #12203a0f,inset 0 1px #ffffffe6;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.role-card:hover:not(:disabled){border-color:#26389147;background:#fff;box-shadow:0 14px 32px #12203a1a,inset 0 1px #ffffffe6;transform:translateY(-2px)}.teacher-role-card,.teacher-role-card:hover:not(:disabled){border-color:#28b35038}.role-card-icon{width:48px;height:48px;margin-bottom:18px;border-radius:16px;background:linear-gradient(135deg,#26389126,#28b35026);color:#263891}.teacher-role-card .role-card-icon{background:linear-gradient(135deg,#28b3502e,#fdd20938);color:#168a39}.role-card-kicker{margin-bottom:7px;color:#5b6b82;font-size:10px}.role-card>strong{margin-bottom:8px;color:#12203a;font-family:Nunito,ui-rounded,Trebuchet MS,sans-serif;font-size:24px;font-weight:800;letter-spacing:-.03em}.role-card p{color:#5b6b82;font-size:15px;font-weight:500}.role-card-link,.teacher-role-card .role-card-link{min-height:44px;color:#263891;font-weight:800}.role-benefits{gap:12px}.role-benefits li{min-height:76px;padding:14px;border:1px solid rgb(18 32 58 / .08);border-radius:20px;background:#ffffffb8;box-shadow:0 1px 2px #12203a0f;color:#12203a}.benefit-icon{width:40px;height:40px;border-radius:14px}@media(max-width:767px){.role-home-shell{padding:8px}.role-home-shell .role-topbar{padding-inline:14px;border-radius:24px}.role-home-shell .role-topbar .brand-academy,.role-home-shell .role-topbar .brand-lab{font-size:10px}.role-playground-cta{padding-inline:12px}.role-page{padding:52px 8px 40px}.role-intro{text-align:left}.role-intro h1{font-size:clamp(38px,12vw,50px)}.role-intro p{font-size:16px}.role-card{min-height:236px;padding:24px}.role-benefits li{min-height:68px}}@media(prefers-reduced-motion:reduce){.role-card{transition:none}.role-card:hover:not(:disabled){transform:none}}.student-auth-shell{min-height:100dvh;padding:12px;color:#12203a;font-family:Avenir Next,Avenir,DM Sans,Inter,ui-sans-serif,system-ui,sans-serif;background:#fff}.student-auth-shell .role-topbar{position:relative;min-height:70px;padding:10px 18px 16px;overflow:hidden;border:1px solid rgb(18 32 58 / .08);border-radius:28px;background:#ffffffb8;box-shadow:0 8px 28px #12203a0f,inset 0 1px #ffffffe6;backdrop-filter:blur(22px) saturate(165%);-webkit-backdrop-filter:blur(22px) saturate(165%)}.student-auth-shell .role-topbar:after{content:"";position:absolute;right:0;bottom:0;left:0;height:6px;background:linear-gradient(90deg,#fdd209 0 34%,#28b350 34% 67%,#263891 67% 100%)}.student-auth-shell .role-topbar .brand-mark{width:44px;height:44px;border-radius:16px;background:#fff;box-shadow:0 1px 2px #12203a14}.student-auth-shell .role-topbar .brand-academy{display:block;color:#12203a;font-family:Nunito,ui-rounded,Trebuchet MS,sans-serif;font-weight:800}.student-auth-shell .role-topbar .brand-lab{display:block;color:#5b6b82;font-family:inherit;font-weight:500}.student-auth-shell .join-back-button{min-height:44px;border-radius:16px;color:#12203a;font-weight:700}.student-auth-page{width:min(100%,760px);min-height:calc(100dvh - 106px);padding:clamp(44px,9vh,112px) 16px 52px}.student-auth-card{width:min(100%,580px);gap:16px;padding:clamp(28px,5vw,48px);border:1px solid rgb(18 32 58 / .08);border-radius:28px;background:#ffffffb8;box-shadow:0 8px 28px #12203a0f,inset 0 1px #ffffffe6;backdrop-filter:blur(22px) saturate(165%);-webkit-backdrop-filter:blur(22px) saturate(165%)}.student-auth-lab-pill{width:fit-content;min-height:36px;padding:0 12px;display:inline-flex;align-items:center;gap:7px;border-radius:999px;background:linear-gradient(90deg,#2638911a,#fff,#28b3501a);color:#263891;font-size:12px;font-weight:800}.student-auth-card .eyebrow{width:fit-content;margin:0;padding:7px 10px;border-radius:999px;background:#26389114;color:#263891;font-size:11px;letter-spacing:.14em}.student-auth-card h1{margin:2px 0 0;color:#12203a;font-family:Nunito,ui-rounded,Trebuchet MS,sans-serif;font-size:clamp(32px,5vw,42px);font-weight:800;letter-spacing:-.04em}.student-auth-card>p{margin:0;color:#5b6b82;font-size:16px;font-weight:500;line-height:1.55}.student-auth-card .clerk-auth-controls{padding:18px;border-color:#12203a14;border-radius:20px;background:#fff}.student-auth-card>.primary{min-height:44px;border:0;border-radius:16px;background:linear-gradient(90deg,#263891,#3b4fd0);box-shadow:0 10px 24px #26389147}.guest-pin-join{display:grid;gap:12px}.guest-pin-divider{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;color:#8190a5;font-size:12px;font-weight:800;text-transform:uppercase}.guest-pin-divider:before,.guest-pin-divider:after{height:1px;background:#dfe5ee;content:""}.student-auth-card .guest-pin-trigger{width:100%;min-height:48px;border:1px solid #263891;border-radius:16px;background:#f6f7ff;color:#263891;font-weight:800}.student-auth-card .guest-pin-trigger:hover{background:#eef0ff}.guest-pin-panel{display:grid;gap:16px;padding:18px;border:1px solid #d8def5;border-radius:20px;background:#fff;box-shadow:0 12px 30px #26389117}.guest-pin-heading{display:flex;align-items:center;gap:12px}.guest-pin-heading>span:last-child{display:grid;gap:2px}.guest-pin-heading strong{color:#12203a;font-size:15px}.guest-pin-heading small,.guest-privacy-note{color:#687991;line-height:1.45}.guest-pin-icon{display:grid;width:42px;height:42px;flex:0 0 42px;place-items:center;border-radius:14px;background:#eef0ff;color:#263891}.guest-pin-panel form,.guest-pin-panel label{display:grid;gap:9px}.guest-pin-panel label>span{color:#25344d;font-size:13px;font-weight:800}.guest-pin-panel input{width:100%;min-height:48px;padding:0 14px;border:1px solid #cbd4e2;border-radius:14px;background:#fbfcff;color:#12203a;font:inherit;box-sizing:border-box}.guest-pin-panel input:focus-visible{border-color:#3b4fd0;outline:3px solid rgb(59 79 208 / .16)}.guest-pin-panel .guest-pin-input{font-family:JetBrains Mono,ui-monospace,monospace;font-size:24px;font-weight:800;letter-spacing:.24em;text-align:center}.guest-pin-panel form>.primary,.guest-pin-actions .primary{min-height:46px;border:0;border-radius:14px;background:linear-gradient(90deg,#263891,#3b4fd0);color:#fff;font-weight:800}.guest-pin-actions{display:grid;grid-template-columns:auto 1fr;gap:10px}.guest-pin-actions>button:first-child{min-height:46px;border-radius:14px;background:#fff}.guest-pin-panel .join-error{margin:0}@media(max-width:767px){.student-auth-shell{padding:8px}.student-auth-shell .role-topbar{padding-inline:14px;border-radius:24px}.student-auth-shell .role-topbar .brand-academy,.student-auth-shell .role-topbar .brand-lab{font-size:10px}.student-auth-page{min-height:calc(100dvh - 88px);padding-inline:8px}.student-auth-card{padding:28px 24px;border-radius:24px}}.teacher-auth-shell{min-height:100dvh;padding:12px;color:#12203a;font-family:Avenir Next,Avenir,DM Sans,Inter,ui-sans-serif,system-ui,sans-serif;background:#fff}.teacher-auth-shell .role-topbar{position:relative;min-height:70px;padding:10px 18px 16px;overflow:hidden;border:1px solid rgb(18 32 58 / .08);border-radius:28px;background:#ffffffb8;box-shadow:0 8px 28px #12203a0f,inset 0 1px #ffffffe6;backdrop-filter:blur(22px) saturate(165%);-webkit-backdrop-filter:blur(22px) saturate(165%)}.teacher-auth-shell .role-topbar:after{content:"";position:absolute;right:0;bottom:0;left:0;height:6px;background:linear-gradient(90deg,#fdd209 0 34%,#28b350 34% 67%,#263891 67% 100%)}.teacher-auth-shell .role-topbar .brand-mark{width:44px;height:44px;border-radius:16px;background:#fff;box-shadow:0 1px 2px #12203a14}.teacher-auth-shell .role-topbar .brand-academy{display:block;color:#12203a;font-family:Nunito,ui-rounded,Trebuchet MS,sans-serif;font-weight:800}.teacher-auth-shell .role-topbar .brand-lab{display:block;color:#5b6b82;font-family:inherit;font-weight:500}.teacher-auth-shell .join-back-button{min-height:44px;border-radius:16px;color:#12203a;font-weight:700}.teacher-auth-page{width:min(100%,760px);min-height:calc(100dvh - 106px);padding:clamp(44px,9vh,112px) 16px 52px}.teacher-auth-card{width:min(100%,580px);gap:16px;padding:clamp(28px,5vw,48px);border:1px solid rgb(40 179 80 / .2);border-radius:28px;background:#ffffffb8;box-shadow:0 8px 28px #12203a0f,inset 0 1px #ffffffe6;backdrop-filter:blur(22px) saturate(165%);-webkit-backdrop-filter:blur(22px) saturate(165%)}.teacher-auth-lab-pill{width:fit-content;min-height:36px;padding:0 12px;display:inline-flex;align-items:center;gap:7px;border-radius:999px;background:linear-gradient(90deg,#28b35021,#fff,#fdd20921);color:#168a39;font-size:12px;font-weight:800}.teacher-auth-card .eyebrow{width:fit-content;margin:0;padding:7px 10px;border-radius:999px;background:#28b3501f;color:#168a39;font-size:11px;letter-spacing:.14em}.teacher-auth-card h1{margin:2px 0 0;color:#12203a;font-family:Nunito,ui-rounded,Trebuchet MS,sans-serif;font-size:clamp(32px,5vw,42px);font-weight:800;letter-spacing:-.04em}.teacher-auth-card>p{margin:0;color:#5b6b82;font-size:16px;font-weight:500;line-height:1.55}.teacher-auth-card .clerk-auth-controls{padding:18px;border-color:#28b3502e;border-radius:20px;background:#fff}.teacher-auth-card>.primary{min-height:44px;border:0;border-radius:16px;background:linear-gradient(90deg,#168a39,#28b350);box-shadow:0 10px 24px #28b3503d}.teacher-sessions-glass{min-height:100dvh;background:#fff}.teacher-sessions-glass .teacher-sessions-topbar{position:relative;overflow:visible;min-height:76px;margin:12px;padding:10px 18px 16px;border:1px solid rgb(18 32 58 / .08);border-radius:28px;background:#fffc;box-shadow:0 8px 28px #12203a0f,inset 0 1px #ffffffe6;backdrop-filter:blur(22px) saturate(165%);-webkit-backdrop-filter:blur(22px) saturate(165%)}.teacher-sessions-glass .teacher-sessions-topbar:after{content:"";position:absolute;right:0;bottom:0;left:0;height:6px;background:linear-gradient(90deg,#fdd209 0 34%,#28b350 34% 67%,#263891 67% 100%)}.teacher-sessions-glass .teacher-sessions-topbar .brand-mark{width:44px;height:44px;border-radius:16px;background:#fff}.teacher-sessions-glass .teacher-sessions-topbar .brand-academy,.teacher-sessions-glass .teacher-session-heading h1,.teacher-sessions-glass .session-grid-card strong,.teacher-sessions-glass .session-grid-column-heading h2{color:#12203a;font-family:Nunito,ui-rounded,Trebuchet MS,sans-serif;font-weight:800}.teacher-sessions-glass .teacher-session-page,.teacher-sessions-glass .teacher-session-page input,.teacher-sessions-glass .teacher-session-page select,.teacher-sessions-glass .teacher-session-page button{font-family:Avenir Next,Avenir,DM Sans,Inter,ui-sans-serif,system-ui,sans-serif}.teacher-sessions-glass .teacher-session-page{width:calc(100% - 48px);padding:clamp(34px,5vw,64px) 0 72px}.teacher-sessions-glass .teacher-session-heading{gap:18px;margin-bottom:32px}.teacher-sessions-glass .teacher-session-heading .eyebrow{color:#168a39;font-size:12px;font-weight:800;letter-spacing:.14em}.teacher-sessions-glass .teacher-session-heading h1{margin-top:4px;font-size:clamp(2rem,4vw,3rem);letter-spacing:-.03em}.teacher-sessions-glass .teacher-session-heading p{max-width:58ch;color:#5b6b82;font-size:16px;line-height:1.55}.teacher-sessions-glass .teacher-create-actions>button,.teacher-sessions-glass .teacher-create-actions .school-selector>button{min-height:44px;border-color:#b9dfc6;border-radius:16px;background:#fff;color:#168a39;font-weight:800}.teacher-sessions-glass .teacher-create-actions .teacher-create-session{border:0;background:linear-gradient(90deg,#168a39,#28b350);box-shadow:0 10px 24px #28b35038;color:#fff}.teacher-sessions-glass .session-view-filters{padding:4px;border-color:#12203a14;border-radius:16px;background:#eff8f1}.teacher-sessions-glass .session-view-filters button,.teacher-sessions-glass .session-type-filters button{min-height:44px;border-radius:12px}.teacher-sessions-glass .session-view-filters button.active,.teacher-sessions-glass .session-type-filters button.active{border-color:transparent;background:#fff;color:#168a39;box-shadow:0 2px 8px #168a3914}.teacher-sessions-glass .session-search-toolbar{margin-bottom:32px}.teacher-sessions-glass .session-search-field,.teacher-sessions-glass .session-sort-field{min-height:48px;border-color:#d8e7dc;border-radius:16px;box-shadow:none}.teacher-sessions-glass .session-grid-column-heading{padding-bottom:14px;border-bottom-color:#12203a1a}.teacher-sessions-glass .session-card-grid{gap:18px}.teacher-sessions-glass .session-grid-card{border-color:#12203a14;border-radius:24px;box-shadow:0 8px 28px #12203a0d}.teacher-sessions-glass .teacher-session-grid-card:hover{border-color:#b9dfc6;box-shadow:0 14px 32px #168a391a}.teacher-sessions-glass .teacher-session-grid-card .student-session-icon{background:linear-gradient(135deg,#e5f7e9,#fff4c7);color:#168a39}.teacher-sessions-glass .teacher-session-grid-actions{border-top-color:#12203a14}.teacher-sessions-glass .teacher-session-grid-actions button{min-height:40px;border-radius:12px;color:#168a39}.teacher-sessions-glass .teacher-session-grid-actions .danger{color:#b42318}@media(max-width:767px){.teacher-sessions-glass .teacher-sessions-topbar{margin:8px;padding-inline:14px;border-radius:24px}.teacher-sessions-glass .teacher-sessions-topbar .brand-academy,.teacher-sessions-glass .teacher-sessions-topbar .brand-lab{font-size:10px}.teacher-sessions-glass .teacher-session-page{width:calc(100% - 24px)}.teacher-sessions-glass .teacher-session-heading{margin-bottom:24px}}@media(max-width:767px){.teacher-auth-shell{padding:8px}.teacher-auth-shell .role-topbar{padding-inline:14px;border-radius:24px}.teacher-auth-shell .role-topbar .brand-academy,.teacher-auth-shell .role-topbar .brand-lab{font-size:10px}.teacher-auth-page{min-height:calc(100dvh - 88px);padding-inline:8px}.teacher-auth-card{padding:28px 24px;border-radius:24px}}html body .admin-shell{--admin-ink: #12203a;--admin-muted: #5b6b82;--admin-line: rgb(18 32 58 / .08);--admin-glass: rgb(255 255 255 / .72);--admin-shadow: 0 8px 28px rgb(18 32 58 / .06), inset 0 1px 0 rgb(255 255 255 / .9);min-height:100dvh;padding:12px;color:var(--admin-ink);font-family:Avenir Next,Avenir,DM Sans,Inter,ui-sans-serif,system-ui,sans-serif;background:#fff}html body .admin-shell .admin-topbar{position:sticky;top:12px;z-index:30;min-height:70px;padding:10px 18px 16px;overflow:hidden;border:1px solid var(--admin-line);border-radius:28px;background:var(--admin-glass);box-shadow:var(--admin-shadow);backdrop-filter:blur(22px) saturate(165%);-webkit-backdrop-filter:blur(22px) saturate(165%)}html body .admin-shell .admin-topbar:after{right:0;bottom:0;left:0;height:6px;background:linear-gradient(90deg,#fdd209 0 34%,#28b350 34% 67%,#263891 67% 100%)}html body .admin-shell .admin-topbar .brand-mark{width:44px;height:44px;border-radius:16px;background:#fff;box-shadow:0 1px 2px #12203a14}html body .admin-shell .admin-topbar .brand-academy{display:block;color:var(--admin-ink);font-family:Nunito,ui-rounded,Trebuchet MS,sans-serif;font-weight:800}html body .admin-shell .admin-topbar .brand-lab{display:block;color:var(--admin-muted);font-weight:500}html body .admin-shell .admin-topbar-actions>button,html body .admin-shell .admin-topbar-actions>.report-issue-trigger{min-height:44px;border-color:transparent;border-radius:16px;background:#ffffffb3;box-shadow:0 1px 2px #12203a0f;color:var(--admin-ink);font-weight:700}html body .admin-shell .admin-topbar-actions>button:hover,html body .admin-shell .admin-topbar-actions>.report-issue-trigger:hover{background:#fff;color:#263891}html body .admin-shell .admin-access-badge,html body .admin-shell .admin-section-count,html body .admin-shell .admin-domain-count{border:1px solid rgb(40 179 80 / .12);background:#28b3501a;color:#176632}html body .admin-shell .admin-page{width:100%;padding:clamp(40px,6vw,72px) 24px 64px}html body .admin-shell .admin-hero,html body .admin-shell .admin-panel,html body .admin-shell .admin-loading-state{border:1px solid var(--admin-line);border-radius:28px;background:var(--admin-glass);box-shadow:var(--admin-shadow);backdrop-filter:blur(22px) saturate(165%);-webkit-backdrop-filter:blur(22px) saturate(165%)}html body .admin-shell .admin-hero{padding:clamp(28px,4vw,40px);align-items:center}html body .admin-shell .utility-kicker{color:#263891}html body .admin-shell .admin-hero h1,html body .admin-shell .admin-section-heading h2,html body .admin-shell .admin-users-heading h2,html body .admin-shell .admin-domain-heading h2{color:var(--admin-ink);font-family:Nunito,ui-rounded,Trebuchet MS,sans-serif}html body .admin-shell .admin-hero h1{max-width:680px;font-size:clamp(2.35rem,4vw,3.45rem)}html body .admin-shell .admin-hero p,html body .admin-shell .admin-section-heading p,html body .admin-shell .admin-users-heading p,html body .admin-shell .admin-domain-heading p{color:var(--admin-muted)}html body .admin-shell .admin-hero-context,html body .admin-shell .admin-user-search,html body .admin-shell .admin-session-search,html body .admin-shell .admin-users-table-wrap{border-color:var(--admin-line);background:#ffffff94}html body .admin-shell .admin-hero-context{border-radius:20px}html body .admin-shell .admin-metric-grid{gap:14px;margin-top:18px}html body .admin-shell .admin-metric-grid article{min-height:104px;border-color:var(--admin-line);border-radius:20px;background:var(--admin-glass);box-shadow:var(--admin-shadow);backdrop-filter:blur(18px) saturate(155%);-webkit-backdrop-filter:blur(18px) saturate(155%)}html body .admin-shell .admin-metric-icon,html body .admin-shell .admin-section-icon,html body .admin-shell .admin-session-icon{color:#263891;background:#26389117}html body .admin-shell .admin-panel{margin-top:20px;padding:clamp(24px,3vw,32px)}html body .admin-shell .admin-school-list>article,html body .admin-shell .admin-session-card,html body .admin-shell .admin-panel-empty,html body .admin-shell .admin-domain-rule{border-color:var(--admin-line);border-radius:20px;background:#ffffff80}html body .admin-shell .admin-school-list>article.active{border-color:#26389152;background:#eef1ffb3;box-shadow:inset 3px 0 #263891}html body .admin-shell .admin-session-actions,html body .admin-shell .admin-audit-content,html body .admin-shell .admin-audit-list li{border-color:var(--admin-line)}html body .admin-shell .admin-users-table,html body .admin-shell .admin-users-table th{background:transparent}html body .admin-shell .admin-users-table th{border-color:var(--admin-line);color:var(--admin-muted)}html body .admin-shell .admin-users-table td,html body .admin-shell .admin-users-table tbody tr:last-child td{border-color:var(--admin-line)}html body .admin-shell .admin-users-table tbody tr:hover,html body .admin-shell .admin-audit-summary:hover{background:#2638910d}html body .admin-shell .admin-gemini-form{margin-top:20px;display:grid;grid-template-columns:minmax(190px,.55fr) minmax(0,1fr) auto auto;align-items:end;gap:12px}html body .admin-shell .admin-gemini-form label{min-width:0;display:grid;gap:7px;color:var(--admin-ink);font-size:.82rem;font-weight:800}html body .admin-shell .admin-gemini-form label small,html body .admin-shell .admin-gemini-usage p{color:var(--admin-muted);font-size:.75rem;font-weight:500;line-height:1.45}html body .admin-shell .admin-gemini-form input,html body .admin-shell .admin-gemini-form select{min-height:44px;border-color:var(--admin-line);border-radius:16px;background:#ffffff94}html body .admin-shell .admin-gemini-form>button{min-height:44px;border-radius:16px}html body .admin-shell .admin-gemini-usage{margin-top:20px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}html body .admin-shell .admin-gemini-usage article{min-width:0;padding:14px;display:grid;gap:4px;border:1px solid var(--admin-line);border-radius:18px;background:#ffffff80}html body .admin-shell .admin-gemini-usage small{overflow:hidden;color:var(--admin-muted);font-size:.68rem;font-weight:800;letter-spacing:.04em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}html body .admin-shell .admin-gemini-usage strong{color:var(--admin-ink);font-size:1.35rem;font-variant-numeric:tabular-nums}html body .admin-shell .admin-gemini-usage p{grid-column:1 / -1;margin:2px 0 0}@media(max-width:767px){html body .admin-shell{padding:8px}html body .admin-shell .admin-topbar{top:8px;padding-inline:14px;border-radius:24px}html body .admin-shell .admin-topbar .brand-academy,html body .admin-shell .admin-topbar .brand-lab{font-size:10px}html body .admin-shell .admin-page{width:100%;padding:32px 8px 40px}html body .admin-shell .admin-hero,html body .admin-shell .admin-panel,html body .admin-shell .admin-loading-state{border-radius:24px}html body .admin-shell .admin-gemini-form{grid-template-columns:minmax(0,1fr)}html body .admin-shell .admin-gemini-form>button{width:100%;justify-content:center}html body .admin-shell .admin-gemini-usage{grid-template-columns:repeat(2,minmax(0,1fr))}}.notebook-feedback-dialog{width:min(520px,calc(100vw - 32px));max-height:calc(100dvh - 48px);overflow:auto;padding:28px;border:1px solid var(--line);border-radius:18px;color:var(--ink);background:var(--panel)}.notebook-feedback-dialog::backdrop{background:#0f172a73}.notebook-feedback-dialog h2{margin:0 0 12px}.notebook-feedback-dialog p,.notebook-feedback-dialog li{line-height:1.6;overflow-wrap:anywhere}.notebook-feedback-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}.course-inherited-starter{padding:16px;border-bottom:1px solid #475569;color:#e2e8f0;background:#182231}.course-inherited-starter>div{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.course-inherited-starter p{font-size:13px;color:#cbd5e1}.course-inherited-starter .prompt-code-card{margin-top:12px}html body .topbar:has(.account-profile-menu),html body .role-topbar:has(.account-profile-menu),html body .teacher-topbar:has(.account-profile-menu){overflow:visible}html body header:has(.account-profile-menu[open]){z-index:90}.account-profile-menu[open]{z-index:80}.course-rewrite-preview textarea,.prompt-code-rewrite-preview textarea{display:block;width:100%;min-height:140px;resize:vertical}html body header:has(.account-profile-menu){position:relative}.feedback-result-dialog{--feedback-accent: 38 56 145;--feedback-chip-bg: #eef2ff;--feedback-chip-border: #b9c4f3;--feedback-chip-text: #263891;width:min(760px,calc(100vw - 32px));max-height:calc(100dvh - 48px);overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior:contain;scrollbar-gutter:stable;padding:26px;border:1px solid rgb(255 255 255 / 88%);border-radius:28px;background:radial-gradient(circle at 92% 0%,rgb(var(--feedback-accent) / 10%),transparent 34%),linear-gradient(145deg,#fafcfffa,#eff3f9fa);color:var(--ink, #13213b);box-shadow:0 28px 90px #0f172a4d,inset 0 1px #ffffffe5}.feedback-result-dialog[data-feedback-tone=success]{--feedback-accent: 20 132 82;--feedback-chip-bg: #e9f8ef;--feedback-chip-border: #9bd3b2;--feedback-chip-text: #0f6941}.feedback-result-dialog[data-feedback-tone=review]{--feedback-accent: 184 112 22;--feedback-chip-bg: #fff4dc;--feedback-chip-border: #e7b45d;--feedback-chip-text: #784000}.feedback-result-dialog::backdrop{background:#0f172a73}.feedback-result-dialog>.quick-liquid-popup-surface{overflow:visible;background:transparent;border:0;box-shadow:none}.feedback-result-dialog .short-answer-feedback-heading{margin-bottom:16px}.feedback-result-dialog .utility-kicker{display:inline-flex;align-items:center;gap:8px;min-height:34px;padding:0 12px;border:1px solid var(--feedback-chip-border);border-radius:999px;background:var(--feedback-chip-bg);color:var(--feedback-chip-text);font-size:11px;letter-spacing:.12em}.feedback-result-dialog .utility-kicker:before{width:7px;height:7px;border-radius:999px;background:var(--feedback-chip-text);box-shadow:0 0 0 4px #ffffffa6;content:""}.feedback-result-dialog .constructed-response-score{padding:8px 12px;border:1px solid rgb(var(--feedback-accent) / 18%);border-radius:999px;background:#ffffffb8;color:rgb(var(--feedback-accent));box-shadow:0 6px 18px #0f172a12;font-size:17px}.feedback-result-dialog h2{margin:0 0 10px;font-size:clamp(24px,3vw,32px);line-height:1.18}.feedback-result-summary{position:relative;overflow:hidden;padding:24px 24px 24px 28px;border:1px solid rgb(var(--feedback-accent) / 14%);border-radius:20px;background:linear-gradient(135deg,#fffffff5,rgb(var(--feedback-accent) / 4%));box-shadow:0 14px 36px #1e293b17,inset 0 1px #fff}.feedback-result-summary:before{position:absolute;inset:18px auto 18px 0;width:4px;border-radius:0 999px 999px 0;background:rgb(var(--feedback-accent));content:""}.feedback-result-summary>h2:first-child{margin-top:0}.feedback-result-summary>p:last-child{margin-bottom:0}.feedback-result-summary>p{color:#52627a;font-size:17px;line-height:1.65}.feedback-result-cards{display:grid;gap:12px;margin:24px 0 0;padding:0;list-style:none}.feedback-result-cards li{padding:18px;border:1px solid #dbe5f1;border-radius:18px;background:#ffffffd1}.feedback-result-cards li strong{display:block;font-size:17px;line-height:1.35}.feedback-result-cards li p{margin:8px 0 0;color:#64748b}.feedback-result-dialog .short-answer-feedback-actions,.feedback-result-dialog .notebook-feedback-actions{margin:18px 0 0;padding:0;border:0;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}.feedback-result-dialog .short-answer-feedback-actions button,.feedback-result-dialog .notebook-feedback-actions button{min-height:44px;padding:0 20px;border-color:#94a3b88c;border-radius:13px;background:#ffffffe0;box-shadow:0 6px 18px #0f172a14}.feedback-result-dialog .short-answer-feedback-actions button:hover:not(:disabled),.feedback-result-dialog .notebook-feedback-actions button:hover:not(:disabled){border-color:rgb(var(--feedback-accent) / 38%);transform:translateY(-1px)}.feedback-result-dialog .notebook-feedback-actions button.primary{border-color:transparent;background:rgb(var(--feedback-accent));color:#fff;box-shadow:0 8px 22px rgb(var(--feedback-accent) / 24%)}@media(max-width:560px){.feedback-result-dialog{width:calc(100vw - 24px);max-height:calc(100dvh - 24px);padding:22px 18px;border-radius:20px}.feedback-result-summary{padding:20px 18px 20px 22px;border-radius:16px}.feedback-result-dialog .short-answer-feedback-actions,.feedback-result-dialog .notebook-feedback-actions{margin-top:16px}}html body header:has(.account-profile-menu):after{z-index:0}html body header>.student-session-account:has(.account-profile-menu){position:relative;z-index:1}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/nunito-latin-700-normal-Dort48En.woff2) format("woff2"),url(/assets/nunito-latin-700-normal-OcDqTBcA.woff) format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/nunito-latin-800-normal-Dz8SOQK_.woff2) format("woff2"),url(/assets/nunito-latin-800-normal-D-J0wlBY.woff) format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:900;src:url(/assets/nunito-latin-900-normal-BVB1fGs6.woff2) format("woff2"),url(/assets/nunito-latin-900-normal-CVn49sIn.woff) format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/nunito-latin-ext-700-normal-BWeMsAzO.woff2) format("woff2"),url(/assets/nunito-latin-ext-700-normal-D4woHhbd.woff) format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/nunito-latin-ext-800-normal-CtU8tJOV.woff2) format("woff2"),url(/assets/nunito-latin-ext-800-normal-CDcxIxx8.woff) format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:900;src:url(/assets/nunito-latin-ext-900-normal-Dllsvgjo.woff2) format("woff2"),url(/assets/nunito-latin-ext-900-normal-CTBZd6bf.woff) format("woff")}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/dm-sans-latin-400-normal-CW0RaeGs.woff2) format("woff2"),url(/assets/dm-sans-latin-400-normal-BwCSEQnW.woff) format("woff")}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/dm-sans-latin-500-normal-B9HHJjqV.woff2) format("woff2"),url(/assets/dm-sans-latin-500-normal-Dr3UlScf.woff) format("woff")}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/dm-sans-latin-600-normal-Aqo67rzb.woff2) format("woff2"),url(/assets/dm-sans-latin-600-normal-BmdmIIQ2.woff) format("woff")}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/dm-sans-latin-700-normal-DvUfVpUG.woff2) format("woff2"),url(/assets/dm-sans-latin-700-normal-CUSSCpQX.woff) format("woff")}@font-face{font-family:DM Sans;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/dm-sans-latin-400-italic-DRLHr0TN.woff2) format("woff2"),url(/assets/dm-sans-latin-400-italic-i6QPgQBE.woff) format("woff")}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/dm-sans-latin-ext-400-normal-BtiwyxMk.woff2) format("woff2"),url(/assets/dm-sans-latin-ext-400-normal-BjWJ59Pq.woff) format("woff")}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/dm-sans-latin-ext-500-normal-BJfUCQsA.woff2) format("woff2"),url(/assets/dm-sans-latin-ext-500-normal-DR84L5F-.woff) format("woff")}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/dm-sans-latin-ext-600-normal-4vooXBpG.woff2) format("woff2"),url(/assets/dm-sans-latin-ext-600-normal-DRtaDpgU.woff) format("woff")}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/dm-sans-latin-ext-700-normal-CJIcxD6K.woff2) format("woff2"),url(/assets/dm-sans-latin-ext-700-normal-BLI3TTWz.woff) format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-latin-400-normal-V6pRDFza.woff2) format("woff2"),url(/assets/jetbrains-mono-latin-400-normal-6-qcROiO.woff) format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/jetbrains-mono-latin-600-normal-C8RAYTDA.woff2) format("woff2"),url(/assets/jetbrains-mono-latin-600-normal-BfsvjouI.woff) format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-latin-ext-400-normal-Bc8Ftmh3.woff2) format("woff2"),url(/assets/jetbrains-mono-latin-ext-400-normal-fXTG6kC5.woff) format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/jetbrains-mono-latin-ext-600-normal-BfB_LPfz.woff2) format("woff2"),url(/assets/jetbrains-mono-latin-ext-600-normal-DObL3zCW.woff) format("woff")}@font-face{font-family:Avenir Next;font-style:normal;font-weight:400;font-display:swap;src:local("AvenirNext-Regular"),local("Avenir Next Regular"),local("Avenir")}@font-face{font-family:Avenir Next;font-style:normal;font-weight:500;font-display:swap;src:local("Avenir Next Medium"),local("AvenirNext-Medium"),local("Avenir-Medium")}@font-face{font-family:Avenir Next;font-style:normal;font-weight:600;font-display:swap;src:local("Avenir Next Demi Bold"),local("AvenirNext-DemiBold"),local("Avenir-Heavy")}@font-face{font-family:Avenir Next;font-style:normal;font-weight:700;font-display:swap;src:local("Avenir Next Bold"),local("AvenirNext-Bold"),local("Avenir-Black")}html body .student-lab-glass{--color-canvas: #ffffff;--color-ink: #12203a;--color-muted: #5b6b82;--color-line: rgb(18 32 58 / .08);--color-glass: rgb(255 255 255 / .72);--color-primary: #263891;--color-brand-yellow: #fdd209;--color-brand-green: #28b350;--color-brand-blue: #263891;--shadow-glass: 0 8px 28px rgb(18 32 58 / .06), inset 0 1px 0 rgb(255 255 255 / .9);--shadow-neo-out: 5px 5px 12px rgb(38 56 145 / .12), -4px -4px 10px #ffffff, inset 0 1px 0 rgb(255 255 255 / .88);--shadow-neo-in: inset 4px 3px 8px rgb(38 56 145 / .12), inset -3px -3px 7px #ffffff;--shadow-neo-primary: 5px 8px 16px rgb(38 56 145 / .28), -2px -2px 8px rgb(255 255 255 / .65), inset 0 1px 0 rgb(255 255 255 / .28);--color-neo: #eef2f8;--radius-glass: 28px;--radius-control: 16px;--font-display: "Nunito", ui-rounded, "Trebuchet MS", sans-serif;--font-body: "Avenir Next", Avenir, "DM Sans", Inter, ui-sans-serif, system-ui, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--ink: #12203a;--muted: #5b6b82;--line: rgb(18 32 58 / .08);--panel: #ffffff;--student-panel-radius: 28px;--student-border: rgb(18 32 58 / .08);box-sizing:border-box;display:flex;flex-direction:column;gap:12px;width:100%;max-width:none;min-height:100dvh;margin:0;padding:12px;color:var(--color-ink);font-family:var(--font-body);background:#fff;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html body .student-lab-glass button,html body .student-lab-glass input,html body .student-lab-glass textarea,html body .student-lab-glass select{font-family:inherit}html body .student-lab-glass h1,html body .student-lab-glass h2,html body .student-lab-glass h3,html body .student-lab-glass .brand-academy{font-family:var(--font-display)}html body .student-lab-glass code,html body .student-lab-glass kbd,html body .student-lab-glass pre,html body .student-lab-glass .xterm,html body .student-lab-glass .xterm-rows{font-family:var(--font-mono)}html body .student-lab-glass .student-topbar{position:relative;overflow:hidden;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;min-height:56px;margin:0;padding:6px 16px 10px;border:1px solid var(--color-line);border-radius:var(--radius-glass);background:var(--color-glass);box-shadow:var(--shadow-glass);backdrop-filter:blur(22px) saturate(165%);-webkit-backdrop-filter:blur(22px) saturate(165%)}html body .student-lab-glass .student-topbar:after{content:"";position:absolute;right:0;bottom:0;left:0;display:block;height:4px;background:linear-gradient(90deg,#fdd209 0 34%,#28b350 34% 67%,#263891 67% 100%)}html body .student-lab-glass .student-topbar .brand-mark{width:36px;height:36px;border-radius:12px;background:#fff;box-shadow:0 1px 2px #12203a14}html body .student-lab-glass .student-topbar .brand-academy{display:block;color:var(--color-ink);font-weight:800}html body .student-lab-glass .student-topbar .brand-lab{display:block;color:var(--color-muted);font-family:var(--font-body);font-weight:500}html body .student-lab-glass .student-view-pill{min-height:36px;padding:0 12px;border:1px solid rgb(255 255 255 / .82);border-radius:999px;background:linear-gradient(90deg,#2638911a,#ffffffc7,#28b3501a);box-shadow:var(--shadow-neo-out);color:#263891;font-size:13px;font-weight:700}html body .student-lab-glass .student-identity{min-height:36px;padding-block:0;border:1px solid rgb(255 255 255 / .82);border-radius:999px;background:#ffffffc7;box-shadow:var(--shadow-neo-out);color:var(--color-muted);font-size:13px;font-weight:600}html body .student-lab-glass .student-header-actions>button,html body .student-lab-glass .student-header-actions>.report-issue-trigger{min-height:36px;padding:6px 10px;border-color:transparent;border-radius:999px;background:transparent;box-shadow:none;font-size:13px;font-weight:700}html body .student-lab-glass .student-header-actions>button:hover,html body .student-lab-glass .student-header-actions>.report-issue-trigger:hover{color:#263891;background:#2638910f}html body .student-lab-glass .student-layout{width:100%;max-width:none;margin:0;padding:0;background:transparent;gap:12px}html body .student-lab-glass .lesson-rail,html body .student-lab-glass .task-workflow,html body .student-lab-glass .workbench,html body .student-lab-glass .constructed-response-result,html body .student-lab-glass .test-results-panel,html body .student-lab-glass .support-panel{border:1px solid var(--color-line);border-radius:var(--radius-glass);background:var(--color-glass);box-shadow:var(--shadow-glass);backdrop-filter:blur(22px) saturate(165%);-webkit-backdrop-filter:blur(22px) saturate(165%)}html body .student-lab-glass .utility-dock .terminal-panel,html body .student-lab-glass .workbench .terminal-panel{border:1px solid rgb(255 255 255 / .12);border-radius:24px;background:linear-gradient(180deg,#121c34db,#0c1426c7);box-shadow:0 16px 40px #0f172a38,inset 0 1px #ffffff14;color:#f8fafc;flex-basis:auto;border-top:0}html body .student-lab-glass .student-layout:not(.full-instruction-mode) .task-workflow-heading{display:contents}html body .student-lab-glass .student-layout:not(.full-instruction-mode)>.task-workflow{display:grid;grid-template-columns:minmax(0,1fr);grid-template-areas:"toolbar" "title" "instruction";align-items:start;gap:0;padding:6px 0 18px;border:1px solid var(--color-line);background:var(--color-glass);box-shadow:var(--shadow-glass);backdrop-filter:blur(22px) saturate(165%);-webkit-backdrop-filter:blur(22px) saturate(165%)}html body .student-lab-glass .student-layout:not(.full-instruction-mode) .task-workflow-toolbar{grid-area:toolbar;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px;width:100%;min-height:54px;padding:6px 10px;border:0;border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}html body .student-lab-glass .student-layout:not(.full-instruction-mode) .task-workflow-toolbar-start{display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-width:0}html body .student-lab-glass .student-layout:not(.full-instruction-mode) .task-workflow-status{display:flex;flex:1 1 auto;flex-wrap:nowrap;align-items:center;justify-content:flex-end;gap:6px;min-width:0;margin-left:auto;padding:7px 8px 14px;overflow-x:auto;overflow-y:hidden;overscroll-behavior-inline:contain;scrollbar-width:thin}html body .student-lab-glass .student-layout:not(.full-instruction-mode) .task-live-summary,html body .student-lab-glass .student-layout:not(.full-instruction-mode) .game-summary{display:flex;flex:0 0 auto;flex-wrap:nowrap;align-items:center;justify-content:flex-end;gap:6px}html body .student-lab-glass .student-layout.full-instruction-mode .task-workflow-toolbar,html body .student-lab-glass .student-layout.full-instruction-mode .task-workflow-toolbar-start,html body .student-lab-glass .student-layout.full-instruction-mode .task-workflow-status,html body .student-lab-glass .student-layout.full-instruction-mode .task-live-summary,html body .student-lab-glass .student-layout.full-instruction-mode .game-summary{display:flex;flex-wrap:nowrap;align-items:center}html body .student-lab-glass .student-layout.full-instruction-mode .task-workflow-status{justify-content:flex-start;gap:8px;min-width:0;padding:7px 8px 14px;overflow-x:auto;overflow-y:hidden;overscroll-behavior-inline:contain;scrollbar-width:thin}html body .student-lab-glass .student-layout.full-instruction-mode .task-workflow-status>:first-child{margin-inline-start:auto}html body .student-lab-glass .student-layout.full-instruction-mode .task-live-summary,html body .student-lab-glass .student-layout.full-instruction-mode .game-summary{justify-content:flex-end;gap:8px;flex:0 0 auto}html body .student-lab-glass .student-layout:not(.full-instruction-mode) .task-workflow-heading h2{grid-area:title;margin:14px 18px 0}html body .student-lab-glass .student-layout:not(.full-instruction-mode) .task-workflow-heading p,html body .student-lab-glass .student-layout:not(.full-instruction-mode) .full-instruction-copy,html body .student-lab-glass .student-layout:not(.full-instruction-mode) .instruction-content{grid-area:instruction;width:auto;min-width:0;margin-right:18px;margin-left:18px}html body .student-lab-glass .student-layout:not(.full-instruction-mode) .exercise-score-cluster{display:flex;flex:0 0 auto;align-items:center;gap:6px}html body .student-lab-glass .student-layout:not(.full-instruction-mode) .exercise-score-report{width:auto;margin:0;padding:0;display:flex;align-items:center;gap:0;border:0;background:transparent}html body .student-lab-glass .student-layout:not(.full-instruction-mode) .exercise-score-report>div{min-width:auto;padding:0 8px;display:flex;align-items:center;gap:5px;border-left:1px solid rgb(18 32 58 / .12);border-radius:0;background:transparent;box-shadow:none}html body .student-lab-glass .student-layout:not(.full-instruction-mode) .exercise-score-report dt{color:var(--color-muted);font-size:10px;letter-spacing:.08em;white-space:nowrap}html body .student-lab-glass .student-layout:not(.full-instruction-mode) .exercise-score-report dd{color:var(--color-ink);font-family:var(--font-display);margin:0;font-size:14px;font-weight:800}html body .student-lab-glass .utility-kicker{min-height:36px;padding:0 10px;display:inline-flex;align-items:center;border:0;border-radius:999px;background:#26389114;box-shadow:none;color:#263891;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}html body .student-lab-glass .student-layout:not(.full-instruction-mode) .task-type-chip{display:none}html body .student-lab-glass .task-state,html body .student-lab-glass .task-timer-chip,html body .student-lab-glass .game-summary>span,html body .student-lab-glass .sync-status{min-height:36px;border:1px solid rgb(18 32 58 / .1);border-radius:999px;background:#ffffffdb;box-shadow:var(--shadow-neo-out);font-size:12px;font-weight:700}html body .student-lab-glass .task-state{color:var(--color-muted)}html body .student-lab-glass .task-state.complete{color:#15803d}html body .student-lab-glass .task-timer-chip.active{border-color:#86efac;background:#f0fdf4;color:#15803d}html body .student-lab-glass .task-timer-chip.completed{border-color:#bfdbfe;background:#eff6ff;color:#1d4ed8}html body .student-lab-glass .game-summary>span:first-child{border-color:#f0d26c;background:#fff9dc;color:#7a5700}html body .student-lab-glass .game-sound-toggle{width:36px;min-width:36px;min-height:36px;padding:0;border:1px solid rgb(18 32 58 / .1);border-radius:999px;background:#ffffffdb;box-shadow:var(--shadow-neo-out)}html body .student-lab-glass .game-sound-toggle:active:not(:disabled){background:var(--color-neo);box-shadow:var(--shadow-neo-in)}html body .student-lab-glass .sync-status.cloud-online,html body .student-lab-glass .sync-status.cloud-offline{width:36px;min-width:36px;min-height:36px;padding:0;justify-content:center;border-radius:999px}html body .student-lab-glass .sync-status.cloud-online{border-color:#86efac;border-radius:999px;background:#dcfce7;color:#15803d}html body .student-lab-glass .sync-status.cloud-offline{border-color:#fecaca;background:#fff1f2;color:#dc2626}html body .student-lab-glass .student-layout:not(.full-instruction-mode) .task-instruction-brief,html body .student-lab-glass .student-layout:not(.full-instruction-mode) .task-instruction-footer{display:contents}html body .student-lab-glass .student-layout .task-workflow-heading h2{color:var(--color-ink);font-family:var(--font-display);font-size:24px;font-weight:800;letter-spacing:-.03em}html body .student-lab-glass .student-layout.full-instruction-mode .task-instruction-brief h2{max-width:62ch;margin:0 0 16px;font-size:clamp(1.75rem,2.2vw,2.125rem);line-height:1.2}html body .student-lab-glass .student-layout.full-instruction-mode .full-instruction-copy,html body .student-lab-glass .student-layout.full-instruction-mode .instruction-content,html body .student-lab-glass .student-layout.full-instruction-mode .instruction-rich-text{max-width:62ch;color:var(--color-muted);font-family:var(--font-body);font-size:16px;font-weight:500;line-height:1.7}html body .student-lab-glass .student-layout.full-instruction-mode .instruction-rich-text p{margin:0 0 .9em}html body .student-lab-glass .student-layout.full-instruction-mode .instruction-rich-text h3,html body .student-lab-glass .student-layout.full-instruction-mode .instruction-rich-text h4{margin:1.25em 0 .45em;color:var(--color-ink);font-family:var(--font-display);font-size:1.05rem;font-weight:800}html body .student-lab-glass .student-layout.full-instruction-mode .task-instruction-footer .exercise-score-cluster{display:flex;flex:0 0 auto;align-items:center;justify-self:start;align-self:center;gap:8px}html body .student-lab-glass .student-layout.full-instruction-mode .task-instruction-footer .exercise-score-report{display:flex;gap:8px;margin:0;padding:0;border:0;background:transparent}html body .student-lab-glass .student-layout.full-instruction-mode .task-instruction-footer .exercise-score-report>div{min-width:92px;padding:8px 12px;border:1px solid rgb(18 32 58 / .1);border-radius:16px;background:#fff;box-shadow:var(--shadow-neo-out)}html body .student-lab-glass .student-layout.full-instruction-mode .task-instruction-footer .exercise-score-report dt{color:var(--color-muted);font-size:11px;letter-spacing:.12em}html body .student-lab-glass .student-layout.full-instruction-mode .task-instruction-footer .exercise-score-report dd{color:var(--color-ink);font-family:var(--font-display);font-size:18px;font-weight:800}html body .student-lab-glass .student-layout.full-instruction-mode .task-instruction-footer .editor-task-navigator{flex:1 1 280px;width:auto;min-width:0;padding:0}html body .student-lab-glass .student-layout.full-instruction-mode .task-instruction-footer .task-steps{padding:0}html body .student-lab-glass .student-layout:not(.full-instruction-mode) .task-workflow-heading p,html body .student-lab-glass .student-layout:not(.full-instruction-mode) .full-instruction-copy{max-width:42rem;color:var(--color-muted);font-family:var(--font-body);font-size:14px;font-weight:500;line-height:1.5}html body .student-lab-glass .curriculum-heading{min-height:auto;padding:16px;align-items:flex-start;border-bottom:0}html body .student-lab-glass .curriculum-heading strong{color:var(--color-muted);font-family:var(--font-body);font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}html body .student-lab-glass .curriculum-heading small{margin-top:4px;color:var(--color-ink);font-family:var(--font-display);font-size:1.25rem;font-weight:800;letter-spacing:-.03em;line-height:1.25}html body .student-lab-glass .curriculum-list{padding:0 12px 16px}html body .student-lab-glass .curriculum-session{margin:8px 0;padding:8px;border-radius:22px;background:#ffffff59}html body .student-lab-glass .curriculum-session+.curriculum-session{border-top:0}html body .student-lab-glass .curriculum-session-heading{min-height:56px;color:var(--color-ink)}html body .student-lab-glass .curriculum-session-heading>svg:first-child{box-sizing:content-box;width:17px;height:17px;padding:11.5px;border-radius:16px;background:linear-gradient(to bottom right,#26389126,#28b35026);color:#263891}html body .student-lab-glass .curriculum-session-heading strong,html body .student-lab-glass .curriculum-exercise strong{overflow:hidden;color:var(--color-ink);font-family:var(--font-display);font-size:14px;font-weight:800;line-height:1.25;text-overflow:ellipsis}html body .student-lab-glass .curriculum-session-heading small,html body .student-lab-glass .curriculum-exercise small{margin-top:2px;color:var(--color-muted);font-family:var(--font-body);font-size:12px;font-weight:500}html body .student-lab-glass .session-progress{padding:0;background:transparent;color:#263891;font-size:11px;font-weight:700}html body .student-lab-glass .curriculum-exercise{min-height:48px;padding:8px 10px;border:0;border-radius:16px;background:transparent}html body .student-lab-glass .curriculum-exercise+.curriculum-exercise{border-top:0}html body .student-lab-glass .curriculum-exercise:hover:not(:disabled){border-left-color:transparent;background:#ffffff80}html body .student-lab-glass .curriculum-exercise.active,html body .student-lab-glass .curriculum-exercise[aria-current=step]{border-left-color:transparent;background:#ffffffdb;box-shadow:var(--shadow-neo-out)}html body .student-lab-glass .curriculum-exercise.locked{background:transparent;opacity:.55}html body .student-lab-glass .curriculum-status{width:24px;height:24px}html body .student-lab-glass .curriculum-exercise.active .curriculum-status,html body .student-lab-glass .curriculum-exercise[aria-current=step] .curriculum-status{border-color:transparent;background:#263891;color:#fff}html body .student-lab-glass .current-label{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;flex:0 0 auto;height:24px;min-height:24px;padding:0 12px 0 10px;overflow:visible;border-radius:999px;background:#fdd209;color:#12203a;font-size:10px;font-weight:800;letter-spacing:.04em;line-height:1;white-space:nowrap}html body .student-lab-glass .task-type-chip{min-height:44px;padding:0 12px;display:inline-flex;align-items:center;border:1px solid rgb(255 255 255 / .82);border-radius:999px;background:#ffffffc7;box-shadow:var(--shadow-neo-out);color:var(--color-muted);font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}html body .student-lab-glass .workbench:not(.lesson-workbench){display:flex;flex-direction:column;grid-template-rows:none;gap:0;min-height:0;overflow:hidden}html body .student-lab-glass .workbench>.code-grid{display:flex;flex:1 1 auto;min-height:0;height:auto;flex-direction:column}html body .student-lab-glass .workbench>.code-grid>.editor-panel{flex:1 1 auto;min-height:0}html body .student-lab-glass .editor-footer-main small,html body .student-lab-glass .editor-actions-bar small{margin-left:auto;color:var(--color-muted);font-family:var(--font-body);font-size:12px;font-weight:600;white-space:nowrap}html body .student-lab-glass .ai-loader{--ai-loader-color: #263891;min-height:44px;color:var(--color-muted)}html body .student-lab-glass .workbench .editor-panel,html body .student-lab-glass .workbench .mcq-editor-panel{min-height:0;overflow:hidden;border:1px solid var(--color-line);border-radius:24px;background:#fff;box-shadow:inset 0 1px #fffc}html body .student-lab-glass .workbench .student-editor-area{min-height:0;height:100%}html body .student-lab-glass .mcq-editor-panel,html body .student-lab-glass .mcq-editor-panel .student-editor-area,html body .student-lab-glass .student-mcq,html body .student-lab-glass .student-explanation-response{background:#fff}html body .student-lab-glass .student-mcq{min-height:0;display:block;width:min(100%,52rem);margin-inline:auto;padding:28px 32px}html body .student-lab-glass .student-mcq .student-answer-prompt,html body .student-lab-glass .student-short-answer .student-answer-prompt,html body .student-lab-glass .student-explanation-response .student-answer-prompt{width:100%;max-width:none;margin:0 0 8px}html body .student-lab-glass .student-question-copy{display:block;border:0;background:transparent;box-shadow:none}html body .student-lab-glass .student-question-copy>span{display:none}html body .student-lab-glass .student-answer-prompt .student-question-copy p{max-width:46rem;padding:0;color:var(--color-ink);font-family:var(--font-display);font-size:1.65rem;font-weight:800;line-height:1.25;letter-spacing:-.03em}html body .student-lab-glass .student-mcq-options{width:100%;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:12px}html body .student-lab-glass .student-short-answer,html body .student-lab-glass .student-explanation-response{display:grid;width:min(100%,52rem);max-width:none;margin-inline:auto;gap:10px;padding:28px 32px}html body .student-lab-glass .student-explanation-response>label{width:100%;margin:8px 0 0}html body .student-lab-glass .student-explanation-response textarea{width:100%;min-height:168px;margin:0;border-radius:24px}html body .student-lab-glass .student-code-exploration{width:min(100%,52rem);margin:8px auto 18px}html body .student-lab-glass .student-code-exploration.locked{display:flex;align-items:center;gap:10px;margin-top:4px;padding:0;border:0;background:transparent}html body .student-lab-glass .student-code-exploration.locked small{display:none}html body .student-lab-glass .student-mcq-heading,html body .student-lab-glass .student-explanation-response>label{color:var(--color-ink);font-family:var(--font-display);font-size:16px;font-weight:800}html body .student-lab-glass .student-mcq-heading{grid-column:1 / -1;margin:8px 0 0}html body .student-lab-glass .student-mcq label{position:relative;min-height:72px;border:1px solid var(--color-line);border-radius:22px;background:#fff;box-shadow:none;grid-template-columns:auto minmax(0,1fr)}html body .student-lab-glass .student-mcq input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}html body .student-lab-glass .student-mcq label:hover{border-color:#26389166;background:#2638910d;box-shadow:none}html body .student-lab-glass .student-mcq label.selected{border-color:#263891;background:#26389114;box-shadow:0 0 0 3px #2638911f}html body .student-lab-glass .student-mcq-letter{background:#2638911a;color:#263891}html body .student-lab-glass .student-mcq label.selected .student-mcq-letter{background:#263891;color:#fff}html body .student-lab-glass .student-question-copy{border-color:var(--color-line);border-radius:16px;box-shadow:none}html body .student-lab-glass .student-question-copy>span{background:#2638910d;color:var(--color-muted);border-right-color:var(--color-line)}html body .student-lab-glass .student-answer-prompt .student-question-copy p{color:var(--color-ink);font-family:var(--font-body);font-size:17px;font-weight:500;line-height:1.6}html body .student-lab-glass .student-prompt-image{border-color:var(--color-line);border-radius:16px;background:#fff}html body .student-lab-glass .prompt-code-card-glass,html body .student-lab-glass .prompt-code-card{border:1px solid var(--color-line);border-radius:24px;background:#fff;box-shadow:none}html body .student-lab-glass .prompt-code-card-header{min-height:36px;border-bottom:1px solid rgb(38 56 145 / .08);background:#fff;color:var(--color-muted);font-family:var(--font-body);font-size:12px;font-weight:700}html body .student-lab-glass .prompt-code-card-header>span:last-child{color:var(--color-muted);font-family:var(--font-body);font-weight:700}html body .student-lab-glass .prompt-code-card-editor{background:#fff}html body .student-lab-glass .prompt-code-blank{border-radius:4px;background:#fdd2098c;color:#12203a;font-weight:700}html body .student-lab-glass .student-explanation-response textarea{min-height:180px;border:1px solid var(--color-line);border-radius:16px;background:#fff;color:var(--color-ink);font-family:var(--font-body)}html body .student-lab-glass .student-explanation-response textarea:focus-visible{border-color:#263891;outline:3px solid rgb(38 56 145 / .15)}html body .student-lab-glass .student-code-exploration{margin:8px 18px 18px;border:1px solid var(--color-line);border-radius:24px;background:#ffffffb8}html body .student-lab-glass .student-code-exploration.locked{border-style:dashed;background:#ffffff8c}html body .student-lab-glass .student-code-exploration small{color:var(--color-muted)}html body .student-lab-glass .student-code-exploration textarea{border:1px solid var(--color-line);border-radius:16px;background:#fff;color:var(--color-ink);font-family:var(--font-mono)}html body .student-lab-glass .student-code-exploration-output{border-radius:16px;background:#0c1426eb;color:#f8fafc}html body .student-lab-glass .constructed-response-result{min-height:0}html body .student-lab-glass .student-layout.response-mode .constructed-response-result:not(.success):not(.warn){display:none}html body .student-lab-glass .constructed-response-result.success strong{color:#28b350}html body .student-lab-glass .mcq-editor-panel .editor-actions-bar{border-top-color:#26389114;background:#fff}html body .student-lab-glass .editor-toolbar,html body .student-lab-glass .workbench .editor-toolbar{border-bottom:1px solid rgb(38 56 145 / .08);background:#fff;color:var(--color-muted);font-family:var(--font-body);font-size:12px;font-weight:700}html body .student-lab-glass .python-file-tabs button{border-right-color:#12203a14;background:#fff;color:var(--color-muted);font-family:var(--font-mono);font-size:12px;font-weight:600;box-shadow:none}html body .student-lab-glass .python-file-tabs button:hover,html body .student-lab-glass .python-file-tabs button.active{background:#2638910f;color:#263891;box-shadow:none}html body .student-lab-glass .code-editor-dark .editor-toolbar,html body .student-lab-glass .code-editor-dark .python-file-toolbar{border-bottom-color:#263246;background:#101927;color:#91a0b8}html body .student-lab-glass .code-editor-dark .python-file-tabs button{border-right-color:#263246;background:#101927;color:#91a0b8}html body .student-lab-glass .code-editor-dark .python-file-tabs button:hover,html body .student-lab-glass .code-editor-dark .python-file-tabs button.active{background:#0b1220;color:#eef4ff}html body .student-lab-glass .code-editor-dark .python-file-icon{color:#77a7ff;background:#0b1220e6;box-shadow:none}html body .student-lab-glass .code-editor-dark .editor-theme-toggle{border-color:#344258;background:#172235;color:#d8e2f0}html body .student-lab-glass .python-file-icon{color:#263891;background:#ffffffb8;box-shadow:var(--shadow-neo-out)}html body .student-lab-glass .code-editor-wrap{background:#fff}html body .student-lab-glass .editor-actions-bar{border-top:1px solid rgb(38 56 145 / .08);background:#fff;color:var(--color-ink);flex-wrap:wrap}html body .student-lab-glass .editor-footer-main{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;min-width:0;flex:1 1 auto}html body .student-lab-glass .editor-task-navigator{flex:0 0 auto;min-width:0}html body .student-lab-glass .editor-actions-bar small{color:var(--color-muted);font-family:var(--font-body);font-weight:600}html body .student-lab-glass .toolbar-actions>button,html body .student-lab-glass .sessions-toggle,html body .student-lab-glass .full-instruction-toggle,html body .student-lab-glass .support-launcher button{min-height:44px;border:1px solid rgb(255 255 255 / .82);border-radius:var(--radius-control);background:#ffffffb8;box-shadow:var(--shadow-neo-out);color:var(--color-ink);font-size:14px;font-weight:700;transition:transform .15s ease-out,filter .15s ease-out,background-color .15s ease-out,box-shadow .15s ease-out}html body .student-lab-glass .toolbar-actions>button:not(.primary):hover:not(:disabled),html body .student-lab-glass .sessions-toggle:hover:not(:disabled),html body .student-lab-glass .full-instruction-toggle:hover:not(:disabled),html body .student-lab-glass .support-launcher button:hover:not(:disabled){background:#ffffffeb;transform:translateY(-1px)}html body .student-lab-glass .toolbar-actions>button:active:not(:disabled),html body .student-lab-glass .sessions-toggle:active:not(:disabled),html body .student-lab-glass .sessions-toggle[aria-pressed=true],html body .student-lab-glass .full-instruction-toggle:active:not(:disabled),html body .student-lab-glass .full-instruction-toggle[aria-pressed=true],html body .student-lab-glass .support-launcher button:active:not(:disabled){background:var(--color-neo);box-shadow:var(--shadow-neo-in);transform:translateY(0) scale(.97)}html body .student-lab-glass .toolbar-actions>button.primary,html body .student-lab-glass button.primary{border:0;border-radius:var(--radius-control);background:linear-gradient(180deg,#3b4fd0,#263891);color:#fff;box-shadow:var(--shadow-neo-primary);font-weight:700}html body .student-lab-glass .toolbar-actions>button.primary:hover:not(:disabled),html body .student-lab-glass button.primary:hover:not(:disabled){background:linear-gradient(180deg,#3b4fd0,#263891);filter:brightness(1.05);transform:translateY(-1px)}html body .student-lab-glass .toolbar-actions>button.primary:active:not(:disabled),html body .student-lab-glass button.primary:active:not(:disabled){box-shadow:inset 4px 4px 10px #0f184661,inset -1px -1px 4px #ffffff2e;transform:translateY(0) scale(.97)}html body .student-lab-glass .editor-task-navigator{display:flex;flex-wrap:nowrap;align-items:center;justify-content:flex-start;gap:12px;width:100%;min-width:0;padding:8px 12px 18px}html body .student-lab-glass .editor-task-navigator .task-navigation{flex:0 0 auto}html body .student-lab-glass .editor-task-navigator .task-steps{flex:1 1 auto;min-width:0;justify-content:flex-start;margin-left:0;padding:10px 8px 16px;overflow-x:auto;overflow-y:hidden;overscroll-behavior-inline:contain;scrollbar-width:thin}html body .student-lab-glass .editor-task-navigator .task-steps>:first-child{margin-left:auto}html body .student-lab-glass .editor-task-navigator .task-navigation button,html body .student-lab-glass .task-navigation button{min-height:44px;font-size:14px;font-weight:800}html body .student-lab-glass .editor-task-navigator .task-navigation button:not(.primary),html body .student-lab-glass .task-navigation button:not(.primary){border:0;background:transparent}html body .student-lab-glass .student-layout .task-steps button{width:44px;min-width:44px;height:44px;min-height:44px;flex:0 0 44px;border:1px solid rgb(255 255 255 / .82);background:#ffffffb8;box-shadow:var(--shadow-neo-out);font-family:var(--font-display);font-size:14px;font-weight:800}html body .student-lab-glass .student-layout .task-steps button.active{border-color:transparent;background:linear-gradient(180deg,#3b4fd0,#263891);color:#fff;box-shadow:var(--shadow-neo-primary)}html body .student-lab-glass .student-layout .task-steps button.complete:not(.active){color:#28b350}html body .student-lab-glass .editor-actions-bar .support-launcher{display:flex;flex:0 0 auto;margin-left:auto;gap:8px}html body .student-lab-glass .utility-dock>.support-launcher,html body .student-lab-glass .support-launcher{gap:8px}html body .student-lab-glass .utility-dock>.support-launcher{padding:4px 2px 10px;flex:0 0 auto}html body .student-lab-glass .support-launcher button,html body .student-lab-glass .editor-actions-bar .support-launcher button{min-width:0;width:auto;min-height:44px;padding-inline:14px;border:1px solid rgb(255 255 255 / .82);border-radius:var(--radius-control);background:#ffffffb8;box-shadow:var(--shadow-neo-out);font-size:14px;font-weight:700;backdrop-filter:blur(16px) saturate(160%);-webkit-backdrop-filter:blur(16px) saturate(160%)}html body .student-lab-glass .support-launcher button[aria-expanded=true]{border-color:transparent;background:var(--color-neo);box-shadow:var(--shadow-neo-in);color:#263891}html body .student-lab-glass .student-layout .support-panel.support-drawer{position:fixed;z-index:120;top:92px;right:12px;bottom:12px;width:min(440px,calc(100vw - 24px));max-height:calc(100dvh - 104px);min-height:0;display:flex;flex-direction:column;transform:translate(calc(100% + 24px));opacity:0;visibility:hidden;overflow:hidden;height:auto;padding:0;border-color:#ffffffa3;border-width:1px;background:var(--color-glass);box-shadow:0 24px 56px #12203a2e,0 4px 16px #2638911a,inset 0 1px #ffffffc2;backdrop-filter:blur(22px) saturate(165%);-webkit-backdrop-filter:blur(22px) saturate(165%);pointer-events:none;transition:transform .22s cubic-bezier(.22,1,.36,1),opacity .18s ease-out,visibility 0s linear .22s}html body .student-lab-glass .student-layout .support-panel.support-drawer.open{transform:translate(0);opacity:1;visibility:visible;padding:0;pointer-events:auto;transition-delay:0s}html body .student-lab-glass .student-layout .support-panel.support-drawer.open .support-tab-panel{flex:1 1 auto;min-height:0}html body .student-lab-glass .student-layout .support-drawer-heading{min-height:76px;padding:14px 14px 12px 18px;border-bottom-color:#c9d5f3d9;background:#ffffff61}html body .student-lab-glass .student-layout .support-drawer-heading strong{color:#12203a;font-size:16px;line-height:1.25}html body .student-lab-glass .student-layout .prediction-drawer-heading{background:linear-gradient(135deg,#eef2ffe6,#fffffffa)}html body .student-lab-glass .student-layout .prediction-drawer-heading .utility-kicker,html body .student-lab-glass .student-layout .prediction-panel .utility-kicker{min-height:28px;padding:0;border-radius:0;background:transparent;color:#263891;font-size:11px}html body .student-lab-glass .student-layout .prediction-drawer .prediction-panel{padding:20px 18px}html body .student-lab-glass .student-layout .support-drawer-heading button{min-width:44px;min-height:44px;padding:0 10px;border-radius:12px;border:1px solid rgb(255 255 255 / .82);background:#ffffffb8;box-shadow:var(--shadow-neo-out)}html body .student-lab-glass .student-layout .support-tabs{min-height:52px;border-bottom-color:#c9d5f3d9;background:#ffffff47}html body .student-lab-glass .student-layout .support-tabs button{min-height:52px;padding:8px 10px;color:#5b6b82;font-size:12px;line-height:1.15;transition:background-color .16s ease,color .16s ease}html body .student-lab-glass .student-layout .support-tabs button:focus-visible,html body .student-lab-glass .student-layout .support-drawer-heading button:focus-visible{outline:3px solid rgba(38,56,145,.42);outline-offset:2px}html body .student-lab-glass .student-layout .support-tabs button[aria-selected=true]{background:linear-gradient(135deg,#eef2fff5,#f6fafff5);color:#263891}html body .student-lab-glass .student-layout .support-panel.support-drawer .support-tab-panel{padding:18px;background:transparent;scrollbar-gutter:stable}html body .student-lab-glass .full-instruction-toggle{width:44px;min-width:44px;min-height:44px;padding:0;border:1px solid #c9d5f3;border-radius:12px;background:#ffffffdb;color:#263891}html body .student-lab-glass .full-instruction-toggle svg{width:17px;height:17px}html body .student-lab-glass .lesson-viewer{border-radius:24px}html body .student-lab-glass .celebration-card{border-radius:32px;background:var(--color-glass);font-family:var(--font-display);backdrop-filter:blur(22px) saturate(165%);-webkit-backdrop-filter:blur(22px) saturate(165%)}html body .student-lab-glass .utility-dock .terminal-toolbar,html body .student-lab-glass .utility-dock .terminal-toolbar span,html body .student-lab-glass .workbench .terminal-toolbar,html body .student-lab-glass .workbench .terminal-toolbar span{color:#f8fafc;font-family:var(--font-body);font-weight:700}@media(min-width:1200px){html body .student-lab-glass .student-layout:not(.full-instruction-mode){grid-template-columns:300px minmax(0,1fr) minmax(320px,380px);grid-template-areas:"rail task task" "rail editor utility";column-gap:12px;row-gap:12px}html body .student-lab-glass .student-layout.sessions-hidden:not(.full-instruction-mode){grid-template-columns:minmax(0,1fr) minmax(320px,380px);grid-template-areas:"task task" "editor utility"}html body .student-lab-glass .student-layout.notebook-mode:not(.full-instruction-mode){grid-template-columns:300px minmax(0,1fr);grid-template-rows:auto minmax(320px,1fr);grid-template-areas:"rail task" "rail notebook"}html body .student-lab-glass .student-layout.notebook-mode.sessions-hidden:not(.full-instruction-mode){grid-template-columns:minmax(0,1fr);grid-template-areas:"task" "notebook"}html body .student-lab-glass .student-layout.notebook-mode:not(.full-instruction-mode)>.notebook-workbench{grid-area:notebook;height:100%;min-height:0}html body .student-lab-glass .student-layout.response-mode:not(.full-instruction-mode){grid-template-columns:300px minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto;grid-template-areas:"rail task" "rail editor" "rail utility"}html body .student-lab-glass .student-layout.response-mode.sessions-hidden:not(.full-instruction-mode){grid-template-columns:minmax(0,1fr);grid-template-areas:"task" "editor" "utility"}html body .student-lab-glass .student-layout.response-mode:not(.full-instruction-mode)>.utility-dock{height:auto;min-height:0;display:flex;flex-direction:row;flex-wrap:wrap;align-items:stretch;gap:8px;padding:10px 12px}html body .student-lab-glass .student-layout.response-mode:not(.full-instruction-mode)>.utility-dock>.support-launcher{flex:0 0 auto}html body .student-lab-glass .student-layout:not(.full-instruction-mode)>.task-workflow{margin:0;border-radius:var(--radius-glass)}html body .student-lab-glass .student-layout:not(.full-instruction-mode)>.workbench{border-radius:var(--radius-glass)}html body .student-lab-glass .student-layout:not(.full-instruction-mode)>.workbench,html body .student-lab-glass .student-layout:not(.full-instruction-mode)>.utility-dock{height:100%;min-height:0;align-self:stretch}html body .student-lab-glass .student-layout:not(.full-instruction-mode):not(.response-mode)>.utility-dock{display:flex;flex-direction:column;gap:12px;padding-bottom:6px;overflow:visible;background:transparent;border:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}html body .student-lab-glass .student-layout:not(.full-instruction-mode):not(.response-mode)>.utility-dock>.terminal-panel{flex:1 1 auto;min-height:0}html body .student-lab-glass .student-layout:not(.full-instruction-mode) .task-workflow-toolbar{flex-wrap:nowrap}html body .student-lab-glass .student-layout.full-instruction-mode>.task-workflow{grid-template-columns:minmax(0,1fr);align-items:stretch;gap:0;padding:0;overflow:hidden}html body .student-lab-glass .student-layout.full-instruction-mode .task-workflow-toolbar{display:flex;flex-wrap:nowrap;align-items:center;justify-content:space-between;gap:10px 16px}html body .student-lab-glass .student-layout.full-instruction-mode .task-workflow-toolbar-start{display:flex;flex-wrap:nowrap;align-items:center;gap:10px;flex:0 0 auto}}@media(max-width:1199px),(orientation:portrait){html body .student-lab-glass{padding:8px}html body .student-lab-glass .student-layout:not(.full-instruction-mode)>.task-workflow,html body .student-lab-glass .student-layout:not(.full-instruction-mode)>.workbench,html body .student-lab-glass .student-layout:not(.full-instruction-mode)>.utility-dock{border-radius:var(--radius-glass)}html body .student-lab-glass .student-mcq,html body .student-lab-glass .student-short-answer,html body .student-lab-glass .student-explanation-response{padding:20px 16px}html body .student-lab-glass .student-layout .support-panel.support-drawer{top:80px;right:8px;bottom:8px;width:calc(100vw - 16px);max-height:calc(100dvh - 88px)}}@media(min-width:1200px)and (max-height:760px){html body .student-lab-glass .student-layout.full-instruction-mode>.task-workflow{height:auto;max-height:none;overflow:visible}html body .student-lab-glass .student-layout.full-instruction-mode>.workbench{height:560px;min-height:560px}html body .student-lab-glass .student-layout.full-instruction-mode>.utility-dock{height:auto;min-height:420px;overflow:visible}}html body .student-lab-glass .student-layout.notebook-mode>.task-workflow{display:block;height:auto;min-height:0;padding:10px 14px;overflow:visible}html body .student-lab-glass .student-layout.notebook-mode>.task-workflow .task-workflow-heading{display:contents}html body .student-lab-glass .student-layout.notebook-mode>.task-workflow .task-workflow-toolbar{display:flex;flex-wrap:wrap;padding:0;border:0;gap:8px}html body .student-lab-glass .student-layout.notebook-mode>.task-workflow .task-workflow-status{flex:0 1 auto;flex-wrap:wrap;gap:8px;margin-left:auto;overflow:visible}html body .student-lab-glass .student-layout.notebook-mode>.task-workflow .task-live-summary,html body .student-lab-glass .student-layout.notebook-mode>.task-workflow .game-summary{flex:0 1 auto;flex-wrap:wrap}@media(max-width:600px){html body .student-lab-glass .student-layout.notebook-mode>.task-workflow .task-workflow-status{justify-content:flex-start;margin-left:0}html body .student-lab-glass .student-layout.notebook-mode>.task-workflow .task-live-summary,html body .student-lab-glass .student-layout.notebook-mode>.task-workflow .game-summary{display:contents}}@media(prefers-reduced-motion:reduce){html body .student-lab-glass .toolbar-actions>button,html body .student-lab-glass .sessions-toggle,html body .student-lab-glass .full-instruction-toggle,html body .student-lab-glass .support-launcher button{transition:none}html body .student-lab-glass .toolbar-actions>button:hover:not(:disabled),html body .student-lab-glass .toolbar-actions>button:active:not(:disabled),html body .student-lab-glass .sessions-toggle:hover:not(:disabled),html body .student-lab-glass .sessions-toggle:active:not(:disabled),html body .student-lab-glass .full-instruction-toggle:hover:not(:disabled),html body .student-lab-glass .full-instruction-toggle:active:not(:disabled),html body .student-lab-glass .support-launcher button:hover:not(:disabled),html body .student-lab-glass .support-launcher button:active:not(:disabled){transform:none}html body .student-lab-glass .toolbar-actions>button.primary:hover:not(:disabled){filter:none}html body .student-lab-glass .student-layout .support-panel.support-drawer,html body .student-lab-glass .student-layout .support-tabs button{transition:none}}@media(prefers-reduced-transparency:reduce){html body .student-lab-glass .student-topbar,html body .student-lab-glass .lesson-rail,html body .student-lab-glass .task-workflow,html body .student-lab-glass .workbench,html body .student-lab-glass .constructed-response-result,html body .student-lab-glass .test-results-panel,html body .student-lab-glass .support-panel,html body .student-lab-glass .student-view-pill,html body .student-lab-glass .student-identity,html body .student-lab-glass .toolbar-actions>button,html body .student-lab-glass .sessions-toggle,html body .student-lab-glass .full-instruction-toggle,html body .student-lab-glass .support-launcher button{background:#fff;backdrop-filter:none;-webkit-backdrop-filter:none}}@media(prefers-contrast:more){html body .student-lab-glass .student-topbar,html body .student-lab-glass .lesson-rail,html body .student-lab-glass .task-workflow,html body .student-lab-glass .workbench,html body .student-lab-glass .support-panel{border-color:#12203a}html body .student-lab-glass .student-view-pill,html body .student-lab-glass .student-identity,html body .student-lab-glass .toolbar-actions>button,html body .student-lab-glass .sessions-toggle,html body .student-lab-glass .full-instruction-toggle,html body .student-lab-glass .support-launcher button{border-color:#263891}}html body .student-lab-glass .toolbar-actions>button:is(.student-run-action,.student-reset-action,.prediction-trigger):is(:hover,:focus-visible):not(:disabled){color:#263891;background:#e8ecfa;border-color:#263891;filter:none}html body .student-lab-glass .toolbar-actions>button:is(.student-run-action,.student-reset-action,.prediction-trigger):disabled{cursor:not-allowed}html body .student-lab-glass .student-short-answer>.answer-actions{box-sizing:border-box;width:min(100%,var(--short-answer-editor-width));margin-inline:auto;flex:0 0 auto;justify-content:flex-end}html body .teacher-lab-glass{--color-canvas: #ffffff;--color-ink: #12203a;--color-muted: #5b6b82;--color-line: rgb(18 32 58 / .08);--color-glass: rgb(255 255 255 / .72);--color-primary: #263891;--color-brand-yellow: #fdd209;--color-brand-green: #28b350;--color-brand-blue: #263891;--shadow-glass: 0 8px 28px rgb(18 32 58 / .06), inset 0 1px 0 rgb(255 255 255 / .9);--shadow-neo-out: 5px 5px 12px rgb(38 56 145 / .12), -4px -4px 10px #ffffff, inset 0 1px 0 rgb(255 255 255 / .88);--shadow-neo-in: inset 4px 3px 8px rgb(38 56 145 / .12), inset -3px -3px 7px #ffffff;--shadow-neo-primary: 5px 8px 16px rgb(38 56 145 / .28), -2px -2px 8px rgb(255 255 255 / .65), inset 0 1px 0 rgb(255 255 255 / .28);--radius-glass: 28px;--font-display: "Nunito", ui-rounded, "Trebuchet MS", sans-serif;--font-body: "Avenir Next", Avenir, "DM Sans", Inter, ui-sans-serif, system-ui, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;box-sizing:border-box;min-height:100dvh;color:var(--color-ink);font-family:var(--font-body);background:#fff}html body .teacher-lab-glass button,html body .teacher-lab-glass input,html body .teacher-lab-glass select{font-family:inherit}html body .teacher-lab-glass h1,html body .teacher-lab-glass h2,html body .teacher-lab-glass h3,html body .teacher-lab-glass .brand-academy{font-family:var(--font-display)}html body .teacher-lab-glass .teacher-topbar{position:relative;overflow:hidden;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;min-height:64px;margin:12px 12px 0;padding:10px 18px 16px;border:1px solid var(--color-line);border-radius:var(--radius-glass);background:var(--color-glass);box-shadow:var(--shadow-glass);backdrop-filter:blur(22px) saturate(165%);-webkit-backdrop-filter:blur(22px) saturate(165%)}html body .teacher-lab-glass .teacher-topbar:after{content:"";position:absolute;right:0;bottom:0;left:0;height:6px;background:linear-gradient(90deg,#fdd209 0 34%,#28b350 34% 67%,#263891 67% 100%)}html body .teacher-lab-glass .teacher-view-pill,html body .teacher-lab-glass .teacher-header-nav>button,html body .teacher-lab-glass .teacher-header-nav>.report-issue-trigger{min-height:44px;padding:0 14px;border:1px solid rgb(255 255 255 / .82);border-radius:999px;background:#ffffffc7;box-shadow:var(--shadow-neo-out);color:#263891;font-size:14px;font-weight:700}html body .teacher-app-shell.teacher-lab-glass{height:auto;min-height:100dvh;overflow:visible}html body .teacher-lab-glass .teacher-layout{display:grid;grid-template-rows:auto auto;gap:16px;width:calc(100% - 24px);max-width:none;height:auto;min-height:0;flex:0 0 auto;margin:0 auto;padding:8px 0 168px;overflow:visible;background:transparent}html body .teacher-app-shell.teacher-lab-glass:has(.pane-live){display:flex;flex-direction:column;height:100dvh;max-height:100dvh;overflow:hidden}html body .teacher-lab-glass:has(.pane-live)>.teacher-topbar,html body .teacher-lab-glass:has(.pane-live)>.notice{flex:0 0 auto}html body .teacher-lab-glass .teacher-layout.pane-live{display:flex;flex-direction:column;flex:1 1 0%;width:100%;max-width:none;height:auto;min-height:0;margin:0;padding:8px 12px 80px;overflow:hidden}html body .teacher-lab-glass .teacher-layout.pane-live>.teacher-glass-header{flex:0 0 auto;padding:10px 16px}html body .teacher-lab-glass .teacher-layout.pane-live .teacher-heading h1{font-size:clamp(1.35rem,2.4vw,1.85rem)}html body .teacher-lab-glass .teacher-live-page{gap:8px}html body .teacher-lab-glass .pane-live .teacher-live-roster{padding:10px 14px}html body .teacher-lab-glass .teacher-glass-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;padding:18px 22px;border:1px solid var(--color-line);border-radius:var(--radius-glass);background:var(--color-glass);box-shadow:var(--shadow-glass);-webkit-backdrop-filter:blur(22px) saturate(165%);backdrop-filter:blur(22px) saturate(165%)}html body .teacher-lab-glass .teacher-heading h1{margin:2px 0 0;color:var(--color-ink);font-size:clamp(1.6rem,3vw,2.15rem);letter-spacing:-.03em}html body .teacher-lab-glass .eyebrow{color:#168a39;font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}html body .teacher-lab-glass .teacher-solution-dialog .teacher-solution-dialog-header .eyebrow{color:#a5b4fc}html body .teacher-lab-glass .teacher-solution-dialog .terminal-toolbar button.teacher-solution-terminal-run{border:1px solid #6366f1;border-radius:10px;color:#fff;background:#4f46e5;box-shadow:none}html body .teacher-lab-glass .teacher-solution-dialog .terminal-toolbar button.teacher-solution-terminal-run:hover:not(:disabled){background:#4338ca}html body .teacher-lab-glass .teacher-header-tools{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}html body .teacher-lab-glass .teacher-header-tools button,html body .teacher-lab-glass .class-pin-control button,html body .teacher-lab-glass .teacher-target-controls button,html body .teacher-lab-glass .pacing-navigation button,html body .teacher-lab-glass .teacher-student-list button,html body .teacher-lab-glass .teacher-student-card button,html body .teacher-lab-glass .teacher-field input,html body .teacher-lab-glass .teacher-field select,html body .teacher-lab-glass .add-student input{min-height:44px;border:1px solid rgb(255 255 255 / .82);border-radius:16px;background:#ffffffc7;box-shadow:var(--shadow-neo-out)}html body .teacher-lab-glass button.primary,html body .teacher-lab-glass .teacher-live-launch{border:0;background:linear-gradient(180deg,#3a4db8,#263891);box-shadow:var(--shadow-neo-primary);color:#fff}html body .teacher-lab-glass .class-pin-control{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 10px;border-radius:18px;background:#ffffff8c}html body .teacher-lab-glass .class-pin-control strong{font-family:var(--font-mono);letter-spacing:.12em}html body .teacher-lab-glass .teacher-page-heading h1{margin:4px 0 8px;font-size:clamp(1.8rem,4vw,2.6rem)}html body .teacher-lab-glass .teacher-page-heading p{max-width:62ch;color:var(--color-muted)}html body .teacher-lab-glass .teacher-dashboard-home,html body .teacher-lab-glass .teacher-students-page{display:grid;gap:18px}html body .teacher-lab-glass .teacher-dashboard-home{grid-template-columns:minmax(0,1fr)}html body .teacher-lab-glass .teacher-layout.pane-dashboard{max-width:1280px}html body .teacher-lab-glass .teacher-dashboard-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:16px 24px}html body .teacher-lab-glass .teacher-dashboard-hero-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:10px;padding-top:1.45rem}html body .teacher-lab-glass .teacher-metric-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,250px));align-items:stretch;gap:14px}html body .teacher-lab-glass .teacher-start-class{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:56px;padding:12px 22px;border:0;border-radius:20px;background:linear-gradient(180deg,#3a4db8,#263891);box-shadow:0 18px 36px #2638916b,var(--shadow-neo-primary);color:#fff;font-size:1.05rem;font-weight:800;letter-spacing:.01em}html body .teacher-lab-glass .teacher-metric-solutions{display:grid}html body .teacher-lab-glass .teacher-metric-solutions-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:56px;padding:12px 16px;border:1px solid var(--color-line);border-radius:20px;background:linear-gradient(165deg,#fff 38%,#26389114);box-shadow:var(--shadow-glass);color:var(--color-ink);font-weight:800}html body .teacher-lab-glass .teacher-liquid-card,html body .teacher-exam-glass .teacher-liquid-card{position:relative;overflow:hidden;display:flex;gap:12px;min-height:88px;padding:18px 16px 16px;border:1px solid var(--color-line);border-radius:24px;background-color:#fff;background-image:repeating-linear-gradient(0deg,transparent 0 3px,rgb(18 32 58 / .016) 3px 4px),repeating-linear-gradient(90deg,transparent 0 3px,rgb(38 56 145 / .018) 3px 4px),linear-gradient(180deg,#fff,#f7f8fc);box-shadow:var(--shadow-glass)}html body .teacher-lab-glass .teacher-liquid-card:before,html body .teacher-exam-glass .teacher-liquid-card:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.16;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}html body .teacher-lab-glass .teacher-liquid-card:after,html body .teacher-exam-glass .teacher-liquid-card:after{content:"";position:absolute;top:0;right:0;left:0;height:4px;background:linear-gradient(90deg,#fdd209 0 34%,#28b350 34% 67%,#263891 67% 100%)}html body .teacher-lab-glass .teacher-liquid-card>*,html body .teacher-exam-glass .teacher-liquid-card>*{position:relative;z-index:1}html body .teacher-lab-glass .teacher-liquid-icon,html body .teacher-exam-glass .teacher-liquid-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:16px;background:#fff;box-shadow:var(--shadow-neo-out);color:#263891}html body .teacher-lab-glass .teacher-liquid-card.tone-green .teacher-liquid-icon,html body .teacher-exam-glass .teacher-liquid-card.tone-green .teacher-liquid-icon{color:#28b350}html body .teacher-lab-glass .teacher-liquid-card.tone-yellow .teacher-liquid-icon,html body .teacher-exam-glass .teacher-liquid-card.tone-yellow .teacher-liquid-icon{color:#c39200}html body .teacher-lab-glass .teacher-liquid-card strong,html body .teacher-exam-glass .teacher-liquid-card strong{display:flex;align-items:center;gap:8px;font-family:var(--font-display);font-size:1.7rem}html body .teacher-lab-glass .teacher-liquid-card small,html body .teacher-exam-glass .teacher-liquid-card small{color:var(--color-muted);font-weight:700}html body .teacher-lab-glass .teacher-live-pip,html body .teacher-exam-glass .teacher-live-pip{width:8px;height:8px;border-radius:50%;background:#28b350;box-shadow:0 0 0 4px #28b35029}html body .teacher-lab-glass .teacher-live-cta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;padding:22px 24px;border:1px solid rgb(255 255 255 / .16);border-radius:28px;background:linear-gradient(180deg,#121c34eb,#0c1426db);box-shadow:0 16px 40px #0f172a38,inset 0 1px #ffffff14;color:#f8fafc}html body .teacher-lab-glass .teacher-live-cta .eyebrow{color:#86efac}html body .teacher-lab-glass .teacher-live-cta h2{margin:4px 0 8px;color:#fff;font-size:1.7rem}html body .teacher-lab-glass .teacher-live-cta p{max-width:62ch;color:#c5d0e0}html body .teacher-lab-glass .teacher-live-launch{min-height:48px;padding:0 18px}html body .teacher-lab-glass .teacher-gradient-menu{display:flex;flex-wrap:wrap;gap:12px}html body .teacher-lab-glass .teacher-gradient-action{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:0 14px 0 8px;border:1px solid rgb(255 255 255 / .82);border-radius:999px;background:#ffffffc7;box-shadow:var(--shadow-neo-out);font-weight:800}html body .teacher-lab-glass .teacher-gradient-orb{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;color:#fff}html body .teacher-lab-glass .tone-blue .teacher-gradient-orb{background:#263891;box-shadow:0 8px 16px #26389159}html body .teacher-lab-glass .tone-green .teacher-gradient-orb{background:#28b350;box-shadow:0 8px 16px #28b35059}html body .teacher-lab-glass .tone-yellow .teacher-gradient-orb{background:#fdd209;color:#12203a;box-shadow:0 8px 16px #fdd20973}html body .teacher-lab-glass .tone-rose .teacher-gradient-orb{background:#fb7185;box-shadow:0 8px 16px #fb718561}html body .teacher-lab-glass .teacher-heatmap-card,html body .teacher-lab-glass .teacher-students-toolbar,html body .teacher-lab-glass .class-pacing-bar,html body .teacher-lab-glass .teacher-live-roster,html body .teacher-lab-glass .teacher-live-insight{padding:16px;border:1px solid var(--color-line);border-radius:24px;background:var(--color-glass);box-shadow:var(--shadow-glass);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px)}html body .teacher-lab-glass .teacher-dashboard-home>.teacher-heatmap-card{box-sizing:border-box;width:fit-content;max-width:100%}html body .teacher-lab-glass .teacher-heatmap-header{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;margin-bottom:12px}html body .teacher-lab-glass .teacher-heatmap-legend{display:flex;flex-wrap:wrap;gap:10px;margin:0;padding:0;list-style:none;color:var(--color-muted);font-size:12px;font-weight:700}html body .teacher-lab-glass .teacher-heatmap-legend li{display:flex;align-items:center;gap:6px}html body .teacher-lab-glass .teacher-heatmap-scroll{overflow-x:auto;overflow-y:visible;max-height:none}html body .teacher-lab-glass .teacher-heatmap{border-collapse:separate;border-spacing:3px;width:max-content}html body .teacher-lab-glass .teacher-heatmap th,html body .teacher-lab-glass .teacher-heatmap td{padding:0;font-size:11px;font-weight:700}html body .teacher-lab-glass .teacher-heatmap thead th{color:var(--color-muted);writing-mode:vertical-rl;transform:rotate(180deg);height:72px}html body .teacher-lab-glass .teacher-heatmap tbody th{position:sticky;left:0;z-index:1;min-width:132px;background:#fffffff0;text-align:left}html body .teacher-lab-glass .teacher-heatmap tbody th button{width:100%;min-height:32px;padding:0 8px;border:0;border-radius:10px;background:transparent;box-shadow:none;text-align:left}html body .teacher-lab-glass .teacher-heat-cell{display:block;width:14px;height:14px;border:0;border-radius:4px;box-shadow:none;min-height:14px;padding:0}html body .teacher-lab-glass .teacher-heat-cell.not_started{background:#d8dee8}html body .teacher-lab-glass .teacher-heat-cell.working{background:#8aa0d4}html body .teacher-lab-glass .teacher-heat-cell.needs_help,html body .teacher-lab-glass .teacher-heat-cell.needs_review{background:#f4c56d}html body .teacher-lab-glass .teacher-heat-cell.complete{background:var(--color-brand-green)}html body .teacher-lab-glass .teacher-heat-cell.selected{outline:2px solid #263891;outline-offset:1px}html body .teacher-lab-glass .teacher-live-page{display:flex;flex-direction:column;flex:1 1 0%;align-items:stretch;gap:12px;min-height:0;overflow:hidden}html body .teacher-lab-glass .teacher-live-page>.class-pacing-bar{display:flex;flex:0 0 auto;flex-wrap:nowrap;align-items:center;gap:10px 16px;min-width:0;padding:8px 14px;overflow-x:auto;overflow-y:visible;overscroll-behavior-inline:contain;scrollbar-width:thin}html body .teacher-lab-glass .teacher-live-page>.class-pacing-bar .pacing-current-exercise{justify-items:start;text-align:left}html body .teacher-lab-glass .teacher-live-page>.class-pacing-bar .pacing-navigation{display:flex;flex:0 0 auto;align-items:center;gap:8px}html body .teacher-lab-glass .pacing-task-navigation{padding-left:8px;border-left:1px solid var(--color-line)}html body .teacher-lab-glass .pacing-advance-dialog{border-radius:20px;background:#fffaf0;box-shadow:0 24px 64px #0f172a47}html body .teacher-lab-glass .teacher-live-roster,html body .teacher-lab-glass .teacher-live-stage{box-sizing:border-box;width:100%;max-width:none;margin-inline:0}html body .teacher-lab-glass .teacher-live-roster{display:grid;flex:0 0 auto;grid-template-columns:auto minmax(160px,220px) minmax(0,1fr);grid-template-areas:"heading search list";align-items:center;align-content:start;gap:8px 16px;min-width:0;min-height:min-content;overflow:hidden}html body .teacher-lab-glass .teacher-live-roster .teacher-pane-heading{grid-area:heading;margin:0}html body .teacher-lab-glass .teacher-live-roster .teacher-pane-heading h2{margin:0;font-size:1rem}html body .teacher-lab-glass .teacher-live-roster .teacher-student-search{grid-area:search;margin:0}html body .teacher-lab-glass .teacher-student-list{min-height:0;overflow:auto}html body .teacher-lab-glass .teacher-live-roster .teacher-student-list{display:flex;flex-wrap:nowrap;grid-area:list;gap:8px;min-width:0;min-height:auto;margin-top:0;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scrollbar-gutter:stable;scrollbar-width:thin}html body .teacher-lab-glass .teacher-live-roster .teacher-student-list button{flex:0 0 auto;min-width:188px}html body .teacher-lab-glass .teacher-live-roster .teacher-student-list button[aria-pressed=true]{border:2px solid #3048a5;background:#eef2ff;color:#243781;box-shadow:inset 4px 0 #3048a5,var(--shadow-glass)}html body .teacher-lab-glass .teacher-live-roster .teacher-student-list button[aria-pressed=true]:focus-visible{outline:2px solid #3048a5;outline-offset:2px}html body .teacher-lab-glass .teacher-live-stage,html body .teacher-lab-glass .teacher-layout .teacher-live-stage.teacher-code-pane{display:grid;grid-template-columns:max-content minmax(0,1fr) minmax(280px,340px);grid-template-rows:auto minmax(0,1fr);grid-template-areas:"banner controls insight" "workspace workspace insight";flex:1 1 0%;gap:8px;min-width:0;min-height:0;overflow:hidden}html body .teacher-lab-glass .teacher-live-stage.insight-hidden,html body .teacher-lab-glass .teacher-layout .teacher-live-stage.teacher-code-pane.insight-hidden{grid-template-columns:max-content minmax(0,1fr);grid-template-areas:"banner controls" "workspace workspace"}html body .teacher-lab-glass .teacher-live-sync-banner{grid-area:banner;justify-self:start;width:fit-content;max-width:min(24rem,100%);min-width:0;flex-wrap:nowrap}html body .teacher-lab-glass .teacher-live-sync-banner>div{min-width:0;flex:0 1 auto}html body .teacher-lab-glass .teacher-live-stage>.teacher-target-controls{grid-area:controls;align-content:center;min-width:0;overflow-x:auto;grid-template-columns:minmax(8.5rem,1.1fr) minmax(9.5rem,1.3fr) minmax(9.5rem,1.3fr) auto auto}html body .teacher-lab-glass .teacher-live-stage>.teaching-workspace,html body .teacher-lab-glass .teacher-live-stage>.teacher-response-workspace,html body .teacher-lab-glass .teacher-live-stage>.teacher-notebook-pane{grid-area:workspace;min-height:0;overflow:hidden}html body .teacher-lab-glass .teacher-response-workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.82fr);min-height:0;height:100%;overflow:hidden;border:1px solid var(--color-line);border-radius:24px;background:#ffffffd1;box-shadow:var(--shadow-glass)}html body .teacher-lab-glass .teacher-response-question,html body .teacher-lab-glass .teacher-response-answer{min-width:0;min-height:0;padding:clamp(18px,2.5vw,32px);overflow:auto}html body .teacher-lab-glass .teacher-response-question{border-right:1px solid var(--color-line)}html body .teacher-lab-glass .teacher-response-question-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}html body .teacher-lab-glass .teacher-response-question-header>button,html body .teacher-lab-glass .teacher-notebook-pane>button:first-child{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:8px 14px;border:1px solid #c7d2fe;border-radius:14px;background:#fff;color:#263891;font-weight:700}html body .teacher-lab-glass .teacher-response-question-header>button:hover,html body .teacher-lab-glass .teacher-notebook-pane>button:first-child:hover{background:#eef2ff}html body .teacher-lab-glass .teacher-response-question-header>button:focus-visible,html body .teacher-lab-glass .teacher-notebook-pane>button:first-child:focus-visible{outline:3px solid #263891;outline-offset:2px}html body .teacher-lab-glass .teacher-response-question .student-answer-prompt{margin-top:12px}html body .teacher-lab-glass .teacher-response-answer{display:flex;flex-direction:column;gap:10px;background:#f8fafce6}html body .teacher-lab-glass .teacher-response-answer h3{margin:0;color:var(--color-ink);font-size:clamp(1rem,1.5vw,1.3rem)}html body .teacher-lab-glass .teacher-response-answer textarea{width:100%;min-height:220px;flex:1 1 auto;padding:18px;resize:none;border:1px solid #c7d2fe;border-radius:18px;background:#fff;box-shadow:inset 0 1px 2px #0f172a0f;color:var(--color-ink);font:500 1rem/1.65 var(--font-body)}html body .teacher-lab-glass .teacher-response-answer textarea:focus-visible{outline:3px solid rgb(79 70 229 / .22);outline-offset:2px}html body .teacher-lab-glass .teacher-selected-choice{display:grid;grid-template-columns:44px minmax(0,1fr);align-items:center;gap:14px;padding:18px;border:2px solid #4f46e5;border-radius:18px;background:#fff;color:var(--color-ink)}html body .teacher-lab-glass .teacher-selected-choice strong{width:44px;height:44px;display:grid;place-items:center;border-radius:50%;background:#3346bb;color:#fff}html body .teacher-lab-glass .teacher-response-empty{margin:0;padding:18px;border:1px dashed var(--color-line);border-radius:18px;background:#fff;color:var(--color-muted)}html body .teacher-lab-glass .teaching-workspace.response-presentation .teacher-response-answer{height:100%;border-left:1px solid rgb(255 255 255 / .12)}html body .teacher-lab-glass .teacher-live-insight{grid-area:insight;display:flex;flex-direction:column;align-self:stretch;gap:12px;min-width:0;min-height:0;height:100%;max-height:none;padding:12px 14px;overflow:auto}html body .teacher-lab-glass .teacher-live-stage>.sync-warning{display:none}html body .teacher-lab-glass .teacher-live-insight .teacher-insight-toolbar,html body .teacher-lab-glass .teacher-live-insight .teacher-insight-name,html body .teacher-lab-glass .teacher-live-insight .selected-answer,html body .teacher-lab-glass .teacher-live-insight .teacher-progress-summary{flex:0 0 auto;min-width:0}html body .teacher-lab-glass .teacher-live-insight .teacher-insight-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}html body .teacher-lab-glass .teacher-live-insight-toggle{display:inline-flex;flex:0 0 auto;align-items:center;gap:6px;min-height:36px;padding:0 12px;border:1px solid rgb(255 255 255 / .82);border-radius:999px;background:#ffffffc7;box-shadow:var(--shadow-neo-out);color:#263891;font-size:12px;font-weight:800}html body .teacher-lab-glass .teacher-live-insight-restore{box-sizing:border-box;display:inline-flex;align-self:end;justify-content:center;align-items:center;gap:8px;width:max-content;min-height:44px;padding:0 14px;border-radius:16px;font-size:16px;font-weight:900;line-height:normal}html body .teacher-lab-glass .teacher-live-insight-restore .teacher-live-insight-toggle-label{display:inline-block;line-height:normal}html body .teacher-lab-glass .teacher-live-insight .teacher-insight-name{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:6px 10px}html body .teacher-lab-glass .teacher-live-insight .teacher-insight-name strong{overflow:visible;text-overflow:unset;white-space:normal}html body .teacher-lab-glass .teacher-live-insight .selected-answer{align-items:flex-start}html body .teacher-lab-glass .teacher-live-insight .teacher-progress-summary{grid-template-columns:repeat(2,minmax(0,1fr));margin:0}html body .teacher-lab-glass .teacher-live-insight .teacher-progress-summary dd{font-size:18px}html body .teacher-lab-glass .teacher-live-insight .teacher-feedback-detail{display:flex;flex-direction:column;flex:0 1 auto;gap:8px;min-width:0;min-height:0;max-height:11rem;padding:12px 14px;overflow:auto}html body .teacher-lab-glass .teacher-live-insight .teacher-feedback-detail p,html body .teacher-lab-glass .teacher-live-insight .teacher-feedback-detail code{flex:0 1 auto;margin:0;overflow:visible;white-space:pre-wrap;overflow-wrap:anywhere}html body .teacher-lab-glass .teacher-layout.pane-live .teacher-heading>p:last-child{display:none}html body .teacher-lab-glass .teacher-layout.pane-live .teacher-glass-header{gap:12px}html body .teacher-lab-glass .teacher-layout.pane-live .class-pin-control{background:#fff6}html body .teacher-lab-glass .teacher-layout.pane-live .class-pin-control button:not(:first-of-type){background:transparent;box-shadow:none;color:var(--color-muted);font-size:13px}html body .teacher-lab-glass .teacher-layout.pane-live .teacher-roster-count{margin-left:4px;color:var(--color-muted);font-size:.78em;font-weight:700}html body .teacher-lab-glass .teacher-layout.pane-live .teacher-student-name-row{flex-wrap:wrap;justify-content:flex-start;gap:3px 6px}html body .teacher-lab-glass .teacher-layout.pane-live .teacher-student-name-row strong{flex-basis:100%;overflow:visible;white-space:normal;overflow-wrap:anywhere;line-height:1.25}html body .teacher-lab-glass .teacher-layout.pane-live .teacher-student-name-row small{min-width:0}html body .teacher-lab-glass .teacher-layout.pane-live .teacher-student-name-row .teacher-progress-chip{margin-left:auto}html body .teacher-lab-glass .teacher-layout.pane-live .teacher-student-list button>span:last-child{min-width:0;text-align:left}html body .teacher-lab-glass .teacher-layout.pane-live .teacher-student-list button>span:last-child>small{display:block;margin-top:5px}html body .teacher-lab-glass .teacher-live-sync-banner{display:flex;flex-wrap:nowrap;align-items:center;justify-content:flex-start;gap:8px;width:fit-content;max-width:min(24rem,100%);min-height:40px;padding:4px 10px;overflow-x:auto;border-radius:14px;background:linear-gradient(180deg,#121c34f0,#0c1426e0);color:#f8fafc}html body .teacher-lab-glass .teacher-live-sync-banner p,html body .teacher-lab-glass .teacher-live-sync-banner .eyebrow{display:none}html body .teacher-lab-glass .teacher-live-sync-banner h2{margin:0;overflow:hidden;color:#fff;font-size:.98rem;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}html body .teacher-lab-glass .teacher-live-sync-banner p{color:#d7e3f4}html body .teacher-lab-glass .teacher-live-sync-banner .sync-status{box-sizing:border-box;display:grid;place-items:center;position:relative;margin-left:0;flex:0 0 auto;gap:0;aspect-ratio:1;width:32px;min-width:32px;height:32px;min-height:32px;padding:0;overflow:hidden;background:#0f172ab8;border-color:#fff3;color:#e8f1ff}html body .teacher-lab-glass .teacher-live-sync-banner .sync-status svg{display:block;flex:none;width:16px;height:16px;max-width:16px;max-height:16px;overflow:visible}html body .teacher-lab-glass .teacher-live-sync-banner .sync-status.disabled,html body .teacher-lab-glass .teacher-live-sync-banner .sync-status.error{background:#7f1d1d6b;border-color:#fca5a573;color:#fecdd3}html body .teacher-lab-glass .teacher-live-sync-banner .sync-status.connected{background:#064e3b73;border-color:#6ee7b766;color:#bbf7d0}html body .teacher-lab-glass .teaching-workspace.glass{overflow:hidden;border-radius:24px;background:transparent}html body .teacher-lab-glass .teaching-workspace.glass .teaching-workspace-toolbar{border:0;background:#ffffffb8;color:var(--color-ink)}html body .teacher-lab-glass .teaching-workspace.featured-terminal{display:grid;grid-template-rows:auto minmax(0,1fr);min-height:0;height:100%;background:#0b1220}html body .teacher-lab-glass .teaching-workspace.featured-terminal.glass .teaching-workspace-toolbar{background:#111b2c;color:#e5edf8;border-bottom:1px solid rgb(255 255 255 / .08)}html body .teacher-lab-glass .teaching-workspace.featured-terminal .teaching-workspace-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:minmax(0,1fr);min-height:0;height:100%}html body .teacher-lab-glass .teaching-workspace.featured-terminal .terminal-panel{min-height:0;height:100%;border:1px solid rgb(255 255 255 / .12);border-radius:0 24px 24px 0;background:#0b1220;box-shadow:0 16px 40px #0f172a38,inset 0 1px #ffffff14;color:#e5edf8}html body .teacher-lab-glass .teaching-workspace.featured-terminal .teaching-editor,html body .teacher-lab-glass .teaching-workspace.featured-terminal .editor-panel{min-height:0;height:100%;border-radius:24px 0 0 24px;background:#0b1220}html body .teacher-lab-glass .teaching-workspace.featured-terminal .code-editor-dark .monaco-editor .sticky-widget,html body .teacher-lab-glass .teaching-workspace.featured-terminal .code-editor-dark .monaco-editor .sticky-widget-line-numbers,html body .teacher-lab-glass .teaching-workspace.featured-terminal .code-editor-dark .monaco-editor .sticky-widget-lines-scrollable,html body .teacher-lab-glass .teaching-workspace.featured-terminal .code-editor-dark .monaco-editor .sticky-widget-lines,html body .teacher-lab-glass .teaching-workspace.featured-terminal .code-editor-dark .monaco-editor .sticky-line-content{background:#0b1220!important}html body .teacher-lab-glass .teaching-workspace.featured-terminal .editor-toolbar,html body .teacher-lab-glass .teaching-workspace.featured-terminal .python-file-toolbar{background:#101927;border-bottom:1px solid #263246;color:#d7e3f4}html body .teacher-lab-glass .teaching-workspace.featured-terminal .python-file-tabs button{background:#101927;color:#d7e3f4;border-right-color:#263246}html body .teacher-lab-glass .teaching-workspace.featured-terminal .python-file-tabs button.active,html body .teacher-lab-glass .teaching-workspace.featured-terminal .python-file-tabs button:hover{background:#0b1220;color:#fff}html body .teacher-lab-glass .teaching-workspace.featured-terminal .python-file-toolbar>.room-name{color:#e5edf8}html body .teacher-lab-glass .teacher-notebook-pane{min-height:280px;padding:24px;border-radius:24px;background:#ffffffc7;box-shadow:var(--shadow-glass)}html body .teacher-lab-glass .teacher-dashboard-roster{display:grid;gap:12px}html body .teacher-lab-glass .teacher-dashboard-roster-toolbar{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:12px}html body .teacher-lab-glass .teacher-dashboard-roster-toolbar h2{margin:4px 0 0;font-size:1.55rem}html body .teacher-lab-glass .teacher-dashboard-roster-actions{display:flex;flex-wrap:wrap;align-items:end;gap:10px}html body .teacher-lab-glass .teacher-back-link{display:inline-flex;align-items:center;gap:6px;width:fit-content;min-height:40px;padding:0 12px;border:0;background:transparent;box-shadow:none;color:var(--color-muted);font-weight:700}html body .teacher-lab-glass .teacher-student-detail-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px}html body .teacher-lab-glass .teacher-student-detail-meta .teacher-live-launch{margin-left:auto}html body .teacher-lab-glass .teacher-student-progress-list{display:grid;gap:8px;max-height:28rem;margin:0;padding:0;overflow:auto;list-style:none}html body .teacher-lab-glass .teacher-student-progress-list li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:16px;background:#ffffffb8;box-shadow:var(--shadow-glass)}html body .teacher-lab-glass .teacher-student-progress-list strong,html body .teacher-lab-glass .teacher-student-progress-list small{display:block}html body .teacher-lab-glass .teacher-student-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,340px));gap:12px}html body .teacher-lab-glass .teacher-student-card{display:grid;gap:10px;padding:16px;border:1px solid var(--color-line);border-radius:22px;background:#ffffffb8;box-shadow:var(--shadow-glass);text-align:left;cursor:pointer}html body .teacher-lab-glass .teacher-student-card strong{display:flex;flex-wrap:wrap;align-items:center;gap:8px}html body .teacher-lab-glass .teacher-student-card:hover,html body .teacher-lab-glass .teacher-student-card:focus-visible{border-color:#26389173;background:#fffffff0;box-shadow:var(--shadow-glass)}html body .teacher-lab-glass .teacher-morph-dock{position:fixed;left:50%;bottom:18px;z-index:40;display:flex;gap:4px;padding:8px 10px;border:1px solid rgb(255 255 255 / .55);border-radius:28px;background:#ffffffb8;box-shadow:0 18px 40px #12203a29,inset 0 1px #ffffffe6;-webkit-backdrop-filter:blur(22px) saturate(170%);backdrop-filter:blur(22px) saturate(170%);transform:translate(-50%)}html body .teacher-lab-glass .teacher-dock-item{display:grid;justify-items:center;gap:2px;min-width:64px;min-height:58px;padding:6px 8px;border:0;border-radius:18px;background:transparent;box-shadow:none;color:var(--color-muted);font-size:11px;font-weight:800}html body .teacher-lab-glass .teacher-dock-item.active,html body .teacher-lab-glass .teacher-dock-item.featured{color:#263891}html body .teacher-lab-glass .teacher-dock-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:14px;background:#ffffffdb;box-shadow:var(--shadow-neo-out)}html body .teacher-lab-glass .teacher-dock-item.featured .teacher-dock-icon{background:linear-gradient(180deg,#3a4db8,#263891);color:#fff}html body .teacher-lab-glass .teacher-progress-chip{display:inline-flex;align-items:center;min-height:24px;padding:0 8px;border-radius:999px;background:#26389114;font-size:11px;font-style:normal;font-weight:800}html body .teacher-lab-glass .teacher-progress-chip.complete{background:#28b35024;color:#168a39}html body .teacher-lab-glass .teacher-progress-chip.needs-help{background:#fdd20947;color:#8a5a00}@media(prefers-reduced-motion:reduce){html body .teacher-lab-glass .teacher-live-pip{animation:none}}@media(max-width:1440px){html body .teacher-lab-glass .teacher-live-stage .teacher-live-set-class-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}html body .teacher-lab-glass .teacher-live-stage .set-class-exercise{min-width:44px;padding-inline:10px}}@media(min-width:1101px){html body .teacher-lab-glass .teacher-live-page{overflow-x:hidden;overflow-y:auto;scrollbar-gutter:stable}html body .teacher-lab-glass .pane-live .teacher-live-stage,html body .teacher-lab-glass .pane-live .teacher-live-stage.teacher-code-pane{flex:0 0 clamp(600px,70dvh,820px);min-height:clamp(600px,70dvh,820px)}}@media(max-width:1100px){html body .teacher-lab-glass .teacher-glass-header,html body .teacher-lab-glass .teacher-dashboard-hero{grid-template-columns:1fr}html body .teacher-lab-glass .teacher-dashboard-hero-actions{justify-content:flex-start}html body .teacher-lab-glass .teacher-live-roster{grid-template-columns:minmax(0,1fr);grid-template-areas:"heading" "search" "list"}html body .teacher-lab-glass .teacher-live-stage,html body .teacher-lab-glass .teacher-layout .teacher-live-stage.teacher-code-pane{grid-template-columns:minmax(0,1fr);grid-template-areas:"banner" "controls" "workspace" "insight";grid-template-rows:auto auto minmax(0,1fr) minmax(12rem,.42fr)}html body .teacher-lab-glass .teacher-live-stage.insight-hidden,html body .teacher-lab-glass .teacher-layout .teacher-live-stage.teacher-code-pane.insight-hidden{grid-template-columns:minmax(0,1fr);grid-template-areas:"banner" "controls" "workspace";grid-template-rows:auto auto minmax(0,1fr)}html body .teacher-lab-glass .teaching-workspace.featured-terminal .teaching-workspace-grid{grid-template-columns:1fr;grid-template-rows:minmax(240px,.8fr) minmax(320px,1.2fr)}html body .teacher-lab-glass .teacher-response-workspace{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(260px,1fr) minmax(240px,.8fr);overflow:auto}html body .teacher-lab-glass .teacher-response-question{border-right:0;border-bottom:1px solid var(--color-line)}html body .teacher-lab-glass .teaching-workspace.featured-terminal .terminal-panel,html body .teacher-lab-glass .teaching-workspace.featured-terminal .teaching-editor{border-radius:24px}}@media(max-width:720px){html body .teacher-lab-glass .teacher-dock-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}html body .teacher-lab-glass .teacher-morph-dock{width:calc(100% - 24px);justify-content:space-around}}@media(max-width:480px){html body .teacher-lab-glass .teacher-layout.pane-dashboard .teacher-metric-row,html body .teacher-lab-glass .teacher-layout.pane-dashboard .teacher-student-cards{grid-template-columns:minmax(0,1fr)}}html body .teacher-exam-glass{--color-canvas: #ffffff;--color-ink: #12203a;--color-muted: #5b6b82;--color-line: rgb(18 32 58 / .08);--color-glass: rgb(255 255 255 / .72);--color-primary: #263891;--shadow-glass: 0 8px 28px rgb(18 32 58 / .06), inset 0 1px 0 rgb(255 255 255 / .9);--shadow-neo-out: 5px 5px 12px rgb(38 56 145 / .12), -4px -4px 10px #ffffff, inset 0 1px 0 rgb(255 255 255 / .88);--radius-glass: 28px;--font-display: "Nunito", ui-rounded, "Trebuchet MS", sans-serif;--font-body: "Avenir Next", Avenir, "DM Sans", Inter, ui-sans-serif, system-ui, sans-serif;color:var(--color-ink);font-family:var(--font-body);background:#fff}html body .teacher-exam-glass h1,html body .teacher-exam-glass h2{font-family:var(--font-display)}html body .teacher-exam-glass .role-topbar{position:relative;overflow:hidden;min-height:64px;margin:12px;padding:10px 18px 16px;border:1px solid var(--color-line);border-radius:var(--radius-glass);background:var(--color-glass);box-shadow:var(--shadow-glass);backdrop-filter:blur(22px) saturate(165%);-webkit-backdrop-filter:blur(22px) saturate(165%)}html body .teacher-exam-glass .role-topbar:after{content:"";position:absolute;right:0;bottom:0;left:0;height:6px;background:linear-gradient(90deg,#fdd209 0 34%,#28b350 34% 67%,#263891 67% 100%)}html body .teacher-exam-glass .teacher-exam-page{width:calc(100% - 24px);max-width:none}html body .teacher-exam-glass .teacher-exam-overview,html body .teacher-exam-glass .exam-access-card,html body .teacher-exam-glass .exam-roster-section,html body .teacher-exam-glass .competency-section,html body .teacher-exam-glass .exam-monitor-summary-card,html body .teacher-exam-glass .exam-monitor-card{border:1px solid var(--color-line);border-radius:var(--radius-glass);background:var(--color-glass);box-shadow:var(--shadow-glass);-webkit-backdrop-filter:blur(18px) saturate(160%);backdrop-filter:blur(18px) saturate(160%)}html body .teacher-exam-glass .teacher-exam-overview{background:#ffffffc7}html body .teacher-exam-glass .exam-pin-control,html body .teacher-exam-glass .teacher-exam-action-panel>button{min-height:44px;border-radius:16px}html body .teacher-exam-glass .teacher-liquid-card{min-height:108px}html body .teacher-exam-glass .exam-guest-badge,html body .teacher-lab-glass .teacher-progress-chip.guest{display:inline-flex;margin-left:8px;padding:2px 8px;border-radius:999px;background:#fdd20938;color:#8a6d00;font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}@media(max-width:1100px){html body .teacher-exam-glass .exam-monitor-metrics,html body .teacher-exam-glass .teacher-exam-overview{grid-template-columns:1fr}}html body .teacher-lab-glass .teacher-student-card{justify-content:stretch;justify-items:start;text-align:left;min-width:0}html body .teacher-lab-glass .teacher-student-card strong{overflow-wrap:anywhere}.teacher-reward-mark-button{width:100%;min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border-color:#2638914d;color:#263891;background:#ffffffc7}.teacher-reward-mark-button:disabled{color:#4f6b5a;background:#e8f8eecc}.teacher-reward-mark-dialog{width:min(480px,calc(100vw - 32px));max-width:480px;color:#101828}.teacher-reward-mark-dialog::backdrop{background:#0f172a73}.teacher-reward-mark-dialog h2{margin:10px 0 8px}.teacher-reward-mark-dialog p{margin:0;line-height:1.55}.teacher-reward-mark-error{margin-top:14px!important;color:#b42318}.teacher-reward-mark-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.teacher-reward-mark-actions button{min-height:42px}@media(min-width:1101px){html body .teacher-lab-glass .teacher-layout.pane-live{padding-bottom:8px}html body .teacher-lab-glass .teacher-layout.pane-live .teacher-live-page{box-sizing:border-box;display:grid;grid-template-columns:minmax(230px,260px) minmax(0,1fr);grid-template-rows:auto minmax(600px,1fr);grid-template-areas:"pacing pacing" "roster stage";align-items:stretch;gap:12px;padding-bottom:calc(104px + env(safe-area-inset-bottom));overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:contain;scroll-padding-bottom:calc(104px + env(safe-area-inset-bottom));scrollbar-gutter:stable}html body .teacher-lab-glass .teacher-layout.pane-live .teacher-live-page>.class-pacing-bar{grid-area:pacing;display:grid;grid-template-columns:minmax(270px,1fr) 142px 204px auto;align-items:center;gap:12px;padding:10px 12px;overflow:visible}html body .teacher-lab-glass .teacher-layout.pane-live .pacing-current-exercise{min-width:0;padding-right:12px;border-right:1px solid var(--color-line)}html body .teacher-lab-glass .teacher-layout.pane-live .pacing-current-exercise strong,html body .teacher-lab-glass .teacher-layout.pane-live .pacing-current-exercise small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}html body .teacher-lab-glass .teacher-layout.pane-live .pacing-task-navigation{padding-left:0;border-left:0}html body .teacher-lab-glass .teacher-layout.pane-live .teacher-live-roster{grid-area:roster;display:flex;flex-direction:column;align-items:stretch;gap:10px;min-height:0;padding:14px;overflow:hidden}html body .teacher-lab-glass .teacher-layout.pane-live .teacher-live-roster .teacher-pane-heading{display:flex;align-items:end;justify-content:space-between}html body .teacher-lab-glass .teacher-layout.pane-live .teacher-live-roster .teacher-student-search,html body .teacher-lab-glass .teacher-layout.pane-live .teacher-live-roster .teacher-student-search input{width:100%}html body .teacher-lab-glass .teacher-layout.pane-live .teacher-live-roster .teacher-student-list{display:flex;flex:1 1 auto;flex-direction:column;flex-wrap:nowrap;gap:8px;min-height:0;overflow-x:hidden;overflow-y:auto;scrollbar-gutter:stable}html body .teacher-lab-glass .teacher-layout.pane-live .teacher-live-roster .teacher-student-list button{flex:0 0 auto;width:100%;min-width:0;min-height:76px}html body .teacher-lab-glass .teacher-layout.pane-live .teacher-live-stage,html body .teacher-lab-glass .teacher-layout.pane-live .teacher-live-stage.teacher-code-pane{grid-area:stage;display:grid;grid-template-columns:minmax(0,1fr) minmax(270px,300px);grid-template-rows:auto auto minmax(0,1fr);grid-template-areas:"banner insight" "controls insight" "workspace insight";flex:initial;gap:10px;min-height:600px}html body .teacher-lab-glass .teacher-layout.pane-live .teacher-live-stage.insight-hidden,html body .teacher-lab-glass .teacher-layout.pane-live .teacher-live-stage.teacher-code-pane.insight-hidden{grid-template-columns:minmax(0,1fr);grid-template-areas:"banner" "controls" "workspace"}html body .teacher-lab-glass .teacher-layout.pane-live .teacher-live-sync-banner{justify-self:stretch;width:auto;max-width:none;min-height:54px;overflow:hidden}html body .teacher-lab-glass .teacher-layout.pane-live .teacher-live-stage>.teacher-target-controls{grid-template-columns:minmax(120px,.9fr) minmax(150px,1.1fr) minmax(160px,1.25fr) auto auto;gap:8px;overflow:visible}}@media(max-width:1100px){html body .teacher-lab-glass .teacher-layout.pane-live .teacher-live-page>.class-pacing-bar{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;overflow:visible}html body .teacher-lab-glass .teacher-layout.pane-live .pacing-current-exercise,html body .teacher-lab-glass .teacher-layout.pane-live .pacing-navigation{grid-column:1 / -1;min-width:0}html body .teacher-lab-glass .teacher-layout.pane-live .pacing-current-exercise{padding-bottom:8px;border-bottom:1px solid var(--color-line)}html body .teacher-lab-glass .teacher-layout.pane-live .pacing-current-exercise strong,html body .teacher-lab-glass .teacher-layout.pane-live .pacing-current-exercise small{white-space:normal;overflow-wrap:anywhere}html body .teacher-lab-glass .teacher-layout.pane-live .pacing-mode-block,html body .teacher-lab-glass .teacher-layout.pane-live .learning-support-control{min-width:0}html body .teacher-lab-glass .teacher-layout.pane-live .pacing-task-navigation{display:flex;width:100%;padding-left:0;border-left:0}html body .teacher-lab-glass .teacher-layout.pane-live .pacing-task-navigation button{flex:1 1 0;min-width:0}}@media(max-width:720px){html body .teacher-lab-glass .teacher-layout.pane-live .teacher-live-page>.class-pacing-bar{grid-template-columns:minmax(0,1fr)}html body .teacher-lab-glass .teacher-layout.pane-live .teacher-live-page{overflow-x:hidden;overflow-y:auto;padding-bottom:calc(100px + env(safe-area-inset-bottom));scroll-padding-bottom:calc(100px + env(safe-area-inset-bottom));overscroll-behavior-y:contain}html body .teacher-lab-glass .teacher-layout.pane-live .teacher-live-roster{flex:0 0 auto}html body .teacher-lab-glass .teacher-layout.pane-live .teacher-live-stage,html body .teacher-lab-glass .teacher-layout.pane-live .teacher-live-stage.teacher-code-pane{flex:0 0 auto;min-height:760px}html body .teacher-lab-glass .teacher-layout.pane-live .pacing-current-exercise,html body .teacher-lab-glass .teacher-layout.pane-live .pacing-navigation{grid-column:1}}html body .playground-lab-glass{--color-canvas: #ffffff;--color-ink: #12203a;--color-muted: #5b6b82;--color-line: rgb(18 32 58 / .08);--color-glass: rgb(255 255 255 / .72);--shadow-glass: 0 8px 28px rgb(18 32 58 / .06), inset 0 1px 0 rgb(255 255 255 / .9);--shadow-neo-out: 5px 5px 12px rgb(38 56 145 / .12), -4px -4px 10px #ffffff, inset 0 1px 0 rgb(255 255 255 / .88);--radius-glass: 28px;--font-display: "Nunito", ui-rounded, "Trebuchet MS", sans-serif;--font-body: "Avenir Next", Avenir, "DM Sans", Inter, ui-sans-serif, system-ui, sans-serif;box-sizing:border-box;display:flex;flex-direction:column;gap:12px;width:100%;max-width:none;height:100dvh;min-height:100dvh;margin:0;padding:12px;overflow:hidden;background:#fff}html body .playground-lab-glass .playground-topbar{position:relative;z-index:20;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;flex:0 0 auto;min-height:64px;margin:0;padding:10px 18px 16px;overflow:hidden;border:1px solid var(--color-line);border-radius:var(--radius-glass);background:var(--color-glass);box-shadow:var(--shadow-glass);color:var(--color-ink);font-family:var(--font-body);backdrop-filter:blur(22px) saturate(165%);-webkit-backdrop-filter:blur(22px) saturate(165%)}html body .playground-lab-glass .playground-topbar:after{content:"";position:absolute;right:0;bottom:0;left:0;display:block;height:6px;background:linear-gradient(90deg,#fdd209 0 34%,#28b350 34% 67%,#263891 67% 100%)}html body .playground-lab-glass .playground-topbar button,html body .playground-lab-glass .playground-topbar input{font-family:inherit}html body .playground-lab-glass .playground-topbar .brand-home-button{margin-right:0;padding:0;border:0;background:transparent;box-shadow:none}html body .playground-lab-glass .playground-topbar .brand-mark{width:44px;height:44px;border-radius:16px;background:#fff;box-shadow:0 1px 2px #12203a14}html body .playground-lab-glass .playground-topbar .brand-academy{display:block;color:var(--color-ink);font-family:var(--font-display);font-weight:800}html body .playground-lab-glass .playground-topbar .brand-lab{display:block;color:var(--color-muted);font-family:var(--font-body);font-weight:500}html body .playground-lab-glass .playground-header-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px}html body .playground-lab-glass .playground-view-pill{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 14px;border:1px solid rgb(255 255 255 / .82);border-radius:999px;background:linear-gradient(90deg,#2638911a,#ffffffc7,#28b3501a);box-shadow:var(--shadow-neo-out);color:#263891;font-size:14px;font-weight:700;backdrop-filter:blur(16px) saturate(160%);-webkit-backdrop-filter:blur(16px) saturate(160%)}html body .playground-lab-glass .playground-header-actions>button,html body .playground-lab-glass .playground-header-actions>.report-issue-trigger{min-height:44px;padding:0 14px;border:1px solid rgb(255 255 255 / .82);border-radius:999px;background:#ffffffc7;box-shadow:var(--shadow-neo-out);color:#263891;font-size:14px;font-weight:700}html body .playground-lab-glass .playground-header-actions>button:hover,html body .playground-lab-glass .playground-header-actions>.report-issue-trigger:hover{color:#263891;background:#ffffffeb}html body .playground-lab-glass .playground-page{width:100%;max-width:none;min-height:0;flex:1 1 auto;margin:0;padding:0;display:flex;flex-direction:column;background:transparent}html body .playground-lab-glass .playground-workspace{min-height:0;flex:1 1 auto}@media(max-width:820px){html body .playground-lab-glass{height:auto;min-height:100dvh;overflow:visible}}@media(max-width:560px){html body .playground-lab-glass .playground-view-pill,html body .playground-lab-glass .playground-topbar .brand-lab,html body .playground-lab-glass .playground-topbar .brand-divider{display:none}}@media(prefers-reduced-transparency:reduce){html body .playground-lab-glass .playground-topbar,html body .playground-lab-glass .playground-view-pill,html body .playground-lab-glass .playground-header-actions>button,html body .playground-lab-glass .playground-header-actions>.report-issue-trigger{background:#fff;backdrop-filter:none;-webkit-backdrop-filter:none}}@media(prefers-contrast:more){html body .playground-lab-glass .playground-topbar,html body .playground-lab-glass .playground-view-pill,html body .playground-lab-glass .playground-header-actions>button,html body .playground-lab-glass .playground-header-actions>.report-issue-trigger{border-color:#263891}}.playground-shell .toolbar-actions{flex-wrap:wrap;gap:.4rem}.playground-shell .toolbar-actions .playground-icon-button,.playground-shell .toolbar-actions>button[aria-label="Reset code and terminal"],.playground-shell .toolbar-actions>button[aria-label=Stop]{display:inline-grid;place-items:center;min-width:44px;min-height:44px;padding:0}.playground-shell .toolbar-actions button:focus-visible{outline:3px solid #91a9ff;outline-offset:2px}.playground-shell .toolbar-actions button[data-tooltip]{position:relative}.playground-shell .toolbar-actions button[data-tooltip]:is(:hover,:focus-visible):after{content:attr(data-tooltip);position:absolute;top:calc(100% + 6px);left:50%;z-index:30;width:max-content;max-width:180px;padding:5px 8px;border-radius:7px;background:#f7f9ff;color:#172746;font:700 12px/1.3 DM Sans,sans-serif;box-shadow:0 6px 18px #0004;transform:translate(-50%);pointer-events:none}.playground-shell .playground-mobile-tool{display:none}.playground-shell .playground-more-tools,.playground-shell .playground-display-controls{margin-right:8px;padding-right:8px;border-right:1px solid var(--pg-toolbar-border, #40506a)}.playground-shell .playground-save-state{min-width:4.5rem;font-size:.8rem}.playground-shell .playground-more-tools{position:relative}.playground-shell .playground-more-menu{position:absolute;top:calc(100% + .35rem);right:0;z-index:20;display:grid;min-width:9rem;padding:.4rem;border-radius:.75rem;background:#293243;box-shadow:0 12px 30px #0005}.playground-shell .playground-library-message{position:fixed;right:24px;bottom:24px;z-index:3200;display:flex;align-items:center;gap:14px;max-width:min(470px,calc(100vw - 32px));margin:0;padding:14px 16px;border:1px solid rgb(18 32 58 / .1);border-radius:16px;background:#fffffff5;box-shadow:0 18px 48px #12203a2e;color:#12203a;font:600 14px/1.45 Avenir Next,Avenir,DM Sans,sans-serif}.playground-shell .playground-library-message button{flex:0 0 auto;min-height:36px;border-radius:10px}.playground-shell .playground-library-message .playground-message-close{display:grid;width:36px;padding:0;place-items:center}.playground-library-backdrop{position:fixed;inset:0;z-index:3000;display:grid;place-items:center;padding:20px;background:#0d172b80;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.playground-library-dialog{--playground-ink: #12203a;--playground-muted: #5b6b82;box-sizing:border-box;width:min(100%,720px);max-height:min(760px,calc(100dvh - 40px));overflow:auto;border:1px solid rgb(255 255 255 / .85);border-radius:28px;background:#fffffff5;box-shadow:0 28px 90px #0c163147,inset 0 1px #fff;color:var(--playground-ink);font-family:Avenir Next,Avenir,DM Sans,Inter,sans-serif;overscroll-behavior:contain}.playground-library-dialog *{box-sizing:border-box}.playground-library-dialog button,.playground-library-dialog input{font:inherit}.playground-library-dialog button:focus-visible,.playground-library-dialog a:focus-visible,.playground-library-dialog input:focus-visible{outline:3px solid #263891;outline-offset:3px}.playground-library-heading{display:grid;grid-template-columns:52px minmax(0,1fr) 44px;align-items:start;gap:16px;padding:30px 30px 23px}.playground-library-heading-icon,.playground-library-work-icon,.playground-share-intro>span,.playground-share-row-icon{display:grid;place-items:center;flex:0 0 auto;color:#263891;background:#eef2ff}.playground-library-heading-icon{width:52px;height:52px;border-radius:16px;box-shadow:4px 5px 12px #2638911a,inset 0 1px #fff}.playground-library-eyebrow{display:block;margin:1px 0 5px;color:#263891;font-size:11px;font-weight:800;letter-spacing:.15em}.playground-library-heading h2{margin:0;font:800 clamp(24px,3vw,30px)/1.15 "Nunito",ui-rounded,sans-serif;letter-spacing:-.03em}.playground-library-heading p,.playground-library-section-heading p,.playground-share-intro p{margin:6px 0 0;color:var(--playground-muted);font-size:14px;line-height:1.5}.playground-library-close{display:grid;width:44px;height:44px;place-items:center;border:1px solid rgb(18 32 58 / .1);border-radius:14px;background:#fff;box-shadow:4px 4px 10px #26389117,-3px -3px 9px #fff;color:var(--playground-muted);cursor:pointer}.playground-library-close:hover{color:#263891;background:#f7f9ff}.playground-library-tabs{display:flex;gap:8px;margin:0 30px;padding:6px;border-radius:16px;background:#f1f4fa}.playground-library-tabs button{display:inline-flex;min-height:44px;align-items:center;justify-content:center;gap:9px;flex:1 1 0;padding:8px 12px;border:0;border-radius:12px;background:transparent;color:var(--playground-muted);font-size:14px;font-weight:750;cursor:pointer}.playground-library-tabs button.is-active{background:#fff;box-shadow:0 2px 8px #26389117;color:#263891}.playground-library-tabs button span{padding:2px 7px;border-radius:999px;background:#eef2ff;font-size:11px}.playground-library-content{padding:26px 30px 30px}.playground-library-section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.playground-library-section-heading h3,.playground-share-intro h3,.playground-library-empty h3{margin:0;font:800 18px/1.25 Nunito,ui-rounded,sans-serif}.playground-library-primary{display:inline-flex;min-height:44px;align-items:center;justify-content:center;gap:8px;flex:0 0 auto;padding:0 17px;border:1px solid #263891;border-radius:14px;background:linear-gradient(180deg,#3b4fd0,#263891);box-shadow:5px 8px 16px #2638913b,inset 0 1px #ffffff40;color:#fff;font-size:14px;font-weight:750;cursor:pointer}.playground-library-primary:hover:not(:disabled){filter:brightness(1.07)}.playground-library-primary:disabled{opacity:.5;cursor:not-allowed}.playground-library-works{display:grid;gap:10px;max-height:320px;overflow:auto;padding:2px}.playground-library-work{display:flex;min-height:76px;align-items:center;gap:14px;width:100%;padding:12px 15px;border:1px solid rgb(18 32 58 / .09);border-radius:17px;background:#fff;box-shadow:0 5px 18px #12203a0a;color:var(--playground-ink);text-align:left}.playground-library-work-icon{width:44px;height:44px;border-radius:13px}.playground-library-work-copy{display:grid;gap:3px;flex:1 1 auto;min-width:0}.playground-library-work-copy strong{overflow:hidden;font-size:15px;text-overflow:ellipsis;white-space:nowrap}.playground-library-work-copy small,.playground-share-row small{color:var(--playground-muted);font-size:12px}.playground-library-current{flex:0 0 auto;padding:5px 9px;border-radius:999px;background:#edf8ef;color:#15803d;font-size:11px;font-weight:800}.playground-library-work-actions{display:flex;flex:0 0 auto;gap:7px}.playground-library-work-actions button{display:inline-flex;min-height:44px;align-items:center;justify-content:center;gap:6px;padding:0 11px;border:1px solid #c9d5e8;border-radius:12px;background:#fff;color:#263891;font-size:13px;font-weight:750;cursor:pointer}.playground-library-work-actions button:hover:not(:disabled){background:#f2f5ff}.playground-library-work-actions button.playground-library-delete{border-color:#f2c7cc;color:#ad3140}.playground-library-work-actions button.playground-library-delete:hover:not(:disabled){background:#fff5f6}.playground-library-work-actions button:disabled{opacity:.55;cursor:not-allowed}.playground-library-empty{display:grid;justify-items:center;gap:9px;padding:40px 18px;border:1px dashed rgb(38 56 145 / .22);border-radius:18px;background:#fbfcff;text-align:center}.playground-library-empty>svg{color:#263891}.playground-library-empty p{max-width:36ch;margin:0;color:var(--playground-muted);font-size:14px;line-height:1.5}.playground-library-empty div{display:flex;gap:14px;margin-top:4px}.playground-library-empty a{color:#263891;font-weight:700}.playground-share-intro{display:flex;align-items:flex-start;gap:14px;padding:18px;border-radius:18px;background:#f5f7fc}.playground-share-intro>span{width:40px;height:40px;border-radius:12px;background:#fff}.playground-share-intro p{max-width:55ch}.playground-share-field{display:grid;gap:8px;margin-top:24px}.playground-share-field label{font-size:13px;font-weight:800}.playground-share-field>div{display:flex;gap:8px}.playground-share-field input{min-width:0;min-height:44px;flex:1 1 auto;padding:0 13px;border:1px solid #c9d5e8;border-radius:13px;background:#fff;color:var(--playground-ink);font-size:14px}.playground-share-create{margin-top:22px}.playground-share-another{justify-self:start;min-height:44px;padding:0;border:0;background:transparent;color:#263891;font-size:13px;font-weight:750;cursor:pointer}.playground-share-another:hover{text-decoration:underline}.playground-share-another:disabled{opacity:.5;cursor:not-allowed}.playground-share-list-heading{margin:28px 0 14px}.playground-share-empty{margin:0;padding:20px;border:1px dashed #c9d5e8;border-radius:16px;color:var(--playground-muted);font-size:14px;text-align:center}.playground-share-list{display:grid;gap:9px;max-height:220px;overflow:auto}.playground-share-row{display:flex;min-height:66px;align-items:center;gap:12px;padding:10px 12px;border:1px solid rgb(18 32 58 / .09);border-radius:15px;background:#fff}.playground-share-row-icon{width:38px;height:38px;border-radius:11px}.playground-share-row>span:nth-child(2){display:grid;gap:2px;flex:1}.playground-share-row strong{font-size:14px}.playground-share-row button{min-height:44px;padding:0 13px;border:1px solid #f2c7cc;border-radius:12px;background:#fff;color:#ad3140;font-size:13px;font-weight:750;cursor:pointer}.playground-share-row button:hover{background:#fff5f6}@media(max-width:900px){.playground-shell .toolbar-actions .playground-desktop-tool,.playground-shell .playground-display-controls{display:none}.playground-shell .playground-more-menu .playground-mobile-tool{display:block}.playground-shell .playground-more-menu{min-width:190px}}@media(max-width:600px){.playground-shell .toolbar-actions{display:flex;width:100%;align-items:center;justify-content:flex-start;flex-wrap:wrap}.playground-shell .toolbar-actions>button,.playground-shell .toolbar-actions>button:first-child{width:auto;min-height:38px;flex:0 0 auto;grid-column:auto}.playground-shell .playground-more-tools>button{width:auto;min-height:38px}.playground-shell .playground-display-controls{width:auto;flex:0 0 100%}.playground-shell .playground-display-controls button{width:auto;grid-column:auto}.playground-shell .playground-library-message{right:16px;bottom:16px;left:16px;max-width:none}.playground-library-backdrop{padding:10px}.playground-library-dialog{max-height:calc(100dvh - 20px);border-radius:22px}.playground-library-heading{grid-template-columns:44px minmax(0,1fr) 44px;gap:11px;padding:22px 18px 17px}.playground-library-heading-icon{width:44px;height:44px;border-radius:13px}.playground-library-heading h2{font-size:23px}.playground-library-heading p{font-size:13px}.playground-library-tabs{margin:0 18px}.playground-library-tabs button{gap:5px;padding:7px;font-size:12px}.playground-library-content{padding:22px 18px}.playground-library-section-heading{align-items:flex-start;flex-direction:column}.playground-library-work{flex-wrap:wrap}.playground-library-work-copy{flex-basis:calc(100% - 58px)}.playground-library-work-actions{width:100%}.playground-library-work-actions button{flex:1}.playground-share-field>div{flex-direction:column}.playground-share-row{flex-wrap:wrap}.playground-share-row button{margin-left:auto}}@media(prefers-reduced-motion:no-preference){.playground-library-dialog{animation:playground-popup-in .18s ease-out}@keyframes playground-popup-in{0%{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:none}}}@media(prefers-reduced-transparency:reduce){.playground-library-backdrop{backdrop-filter:none;-webkit-backdrop-filter:none}.playground-library-dialog{background:#fff}}html body .presenter-lab-glass{--color-canvas: #ffffff;--color-ink: #12203a;--color-muted: #5b6b82;--color-line: rgb(18 32 58 / .08);--color-glass: rgb(255 255 255 / .72);--color-primary: #263891;--shadow-glass: 0 8px 28px rgb(18 32 58 / .06), inset 0 1px 0 rgb(255 255 255 / .9);--shadow-neo-out: 5px 5px 12px rgb(38 56 145 / .12), -4px -4px 10px #ffffff, inset 0 1px 0 rgb(255 255 255 / .88);--shadow-neo-in: inset 4px 3px 8px rgb(38 56 145 / .12), inset -3px -3px 7px #ffffff;--shadow-neo-primary: 5px 8px 16px rgb(38 56 145 / .28), -2px -2px 8px rgb(255 255 255 / .65), inset 0 1px 0 rgb(255 255 255 / .28);--radius-glass: 28px;--radius-control: 16px;--font-display: "Nunito", ui-rounded, "Trebuchet MS", sans-serif;--font-body: "Avenir Next", Avenir, "DM Sans", Inter, ui-sans-serif, system-ui, sans-serif;box-sizing:border-box;display:flex;flex-direction:column;gap:8px;width:100%;max-width:none;height:100dvh;min-height:100dvh;margin:0;padding:10px;overflow:hidden;color:var(--color-ink);font-family:var(--font-body);background:#fff}html body .presenter-lab-glass.presenter-empty{align-items:center;justify-content:center;text-align:center}html body .presenter-lab-glass.presenter-empty h1{margin:0;color:var(--color-ink);font-family:var(--font-display);font-weight:800}html body .presenter-lab-glass.presenter-empty p{max-width:36rem;color:var(--color-muted)}html body .presenter-lab-glass .presenter-header{position:relative;z-index:20;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;flex:0 0 auto;min-height:64px;margin:0;padding:10px 18px 16px;overflow:hidden;border:1px solid var(--color-line);border-radius:var(--radius-glass);background:var(--color-glass);box-shadow:var(--shadow-glass);color:var(--color-ink);backdrop-filter:blur(22px) saturate(165%);-webkit-backdrop-filter:blur(22px) saturate(165%)}html body .presenter-lab-glass .presenter-header:after{content:"";position:absolute;right:0;bottom:0;left:0;display:block;height:6px;background:linear-gradient(90deg,#fdd209 0 34%,#28b350 34% 67%,#263891 67% 100%)}html body .presenter-lab-glass .presenter-header .brand{gap:10px}html body .presenter-lab-glass .presenter-header .brand-mark{width:44px;height:44px;border-radius:16px;background:#fff;box-shadow:0 1px 2px #12203a14}html body .presenter-lab-glass .presenter-header .brand-academy{display:block;color:var(--color-ink);font-family:var(--font-display);font-weight:800}html body .presenter-lab-glass .presenter-header .brand-lab{display:block;color:var(--color-muted);font-family:var(--font-body);font-weight:500}html body .presenter-lab-glass .presenter-header .brand-divider{background:#12203a2e}html body .presenter-lab-glass .presenter-controls,html body .presenter-lab-glass .presenter-live-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:10px}html body .presenter-lab-glass .presenter-live-actions>button{min-height:44px;padding:0 14px;border:1px solid rgb(255 255 255 / .82);border-radius:999px;background:#ffffffc7;box-shadow:var(--shadow-neo-out);color:#263891;font-size:14px;font-weight:700}html body .presenter-lab-glass .presenter-live-actions>button:hover:not(:disabled){background:#ffffffeb}html body .presenter-lab-glass .presenter-fullscreen-error{color:#9f1239;font-size:13px;font-weight:600}html body .presenter-lab-glass .presenter-lesson{display:flex;flex-wrap:nowrap;align-items:center;justify-content:space-between;gap:12px 16px;flex:0 0 auto;min-width:0;margin:0;padding:8px 14px;border:1px solid var(--color-line);border-radius:var(--radius-glass);background:var(--color-glass);box-shadow:var(--shadow-glass);backdrop-filter:blur(22px) saturate(165%);-webkit-backdrop-filter:blur(22px) saturate(165%)}html body .presenter-lab-glass .presenter-lesson-copy{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 10px;min-width:0;flex:1 1 auto}html body .presenter-lab-glass .presenter-kicker,html body .presenter-lab-glass .presenter-lesson .presenter-kicker{flex:0 0 auto;margin:0;color:#168a39;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}html body .presenter-lab-glass .presenter-lesson h1{min-width:0;margin:0;color:var(--color-ink);font-family:var(--font-display);font-size:18px;font-weight:800;letter-spacing:-.03em;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}html body .presenter-lab-glass .presenter-lesson h2{min-width:0;margin:0;color:var(--color-muted);font-family:var(--font-display);font-size:14px;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}html body .presenter-lab-glass .presenter-lesson p{display:none}html body .presenter-lab-glass .presenter-mode-toggle{display:inline-flex;align-items:center;gap:0;padding:3px;border:1px solid rgb(255 255 255 / .82);border-radius:999px;background:#ffffffc7;box-shadow:var(--shadow-neo-out)}html body .presenter-lab-glass .presenter-mode-toggle button{min-height:38px;padding:0 14px;border:0;border-radius:999px;background:transparent;box-shadow:none;color:var(--color-ink);font-size:14px;font-weight:700}html body .presenter-lab-glass .presenter-mode-toggle button.active{background:linear-gradient(180deg,#3b4fd0,#263891);box-shadow:var(--shadow-neo-primary);color:#fff}html body .presenter-lab-glass .presenter-lesson-actions{display:flex;flex-wrap:nowrap;align-items:flex-end;justify-content:flex-end;gap:10px;flex:0 1 auto;min-width:0}html body .presenter-lab-glass .presenter-independent-selectors{display:flex;flex-wrap:nowrap;align-items:flex-end;gap:8px;min-width:0}html body .presenter-lab-glass .presenter-independent-selectors label,html body .presenter-lab-glass .presenter-student-selector{min-width:0;max-width:168px;color:var(--color-muted);font-family:var(--font-body)}html body .presenter-lab-glass .presenter-independent-selectors select,html body .presenter-lab-glass .presenter-student-selector select{width:100%;min-width:0;max-width:100%;min-height:40px;padding:0 12px;overflow:hidden;border:1px solid var(--color-line);border-radius:14px;background:#ffffffe0;color:var(--color-ink);font-family:var(--font-body);font-weight:600;text-overflow:ellipsis;white-space:nowrap}html body .presenter-lab-glass .presenter-navigation button{min-height:40px;padding:0 12px;border:1px solid rgb(255 255 255 / .82);border-radius:var(--radius-control);background:#ffffffc7;box-shadow:var(--shadow-neo-out);color:var(--color-ink);font-size:13px;font-weight:700}html body .presenter-lab-glass .presenter-navigation button:hover:not(:disabled),html body .presenter-lab-glass .presenter-authored-actions button:hover:not(:disabled){background:#ffffffeb}html body .presenter-lab-glass .presenter-navigation button:disabled{opacity:.45}html body .presenter-lab-glass>.teaching-workspace,html body .presenter-lab-glass>.presenter-authored-workspace{min-height:0;flex:1 1 auto;margin:0}html body .presenter-lab-glass>.teaching-workspace{overflow:hidden}html body .presenter-lab-glass .presenter-authored-workspace{border:1px solid var(--color-line);border-radius:var(--radius-glass);background:var(--color-glass);box-shadow:var(--shadow-glass)}html body .presenter-lab-glass .presenter-authored-actions{border-top-color:var(--color-line);background:#ffffffb8}html body .presenter-lab-glass .presenter-authored-actions button{min-height:44px;padding:0 14px;border:1px solid rgb(255 255 255 / .82);border-radius:var(--radius-control);background:#ffffffc7;box-shadow:var(--shadow-neo-out);color:var(--color-ink);font-weight:700}@media(max-width:1440px),(max-height:960px){html body .presenter-lab-glass{gap:6px;padding:8px}html body .presenter-lab-glass .presenter-header{min-height:52px;padding:6px 14px 12px;gap:8px}html body .presenter-lab-glass .presenter-header .brand-mark{width:36px;height:36px;border-radius:12px}html body .presenter-lab-glass .presenter-header .brand-academy{font-size:10px}html body .presenter-lab-glass .presenter-live-actions>button,html body .presenter-lab-glass .presenter-mode-toggle button{min-height:36px}html body .presenter-lab-glass .presenter-lesson{padding:6px 12px;gap:8px 12px;border-radius:18px}html body .presenter-lab-glass .presenter-lesson-copy{flex-wrap:nowrap;align-items:center}html body .presenter-lab-glass .presenter-lesson h1{font-size:16px}html body .presenter-lab-glass .presenter-independent-selectors label,html body .presenter-lab-glass .presenter-student-selector{max-width:148px}html body .presenter-lab-glass .presenter-independent-selectors select,html body .presenter-lab-glass .presenter-student-selector select,html body .presenter-lab-glass .presenter-navigation button{min-height:34px}}@media(max-width:820px){html body .presenter-lab-glass{height:auto;min-height:100dvh;overflow:visible}html body .presenter-lab-glass .presenter-lesson{flex-wrap:wrap}}@media(max-width:600px){html body .presenter-lab-glass .presenter-header .brand-lab,html body .presenter-lab-glass .presenter-header .brand-divider,html body .presenter-lab-glass .presenter-fullscreen-label{display:none}}
