.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}.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}: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}.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 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}@media(max-width:540px){.clerk-signed-out{grid-template-columns:1fr}}.student-session-page{width:min(840px,calc(100% - 32px));margin:0 auto;padding:clamp(36px,7vw,76px) 0}.student-session-account{display:flex;align-items:center;gap:12px;color:var(--muted);font-weight:700}.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(980px,calc(100% - 32px))}.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}.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.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}.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-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){.teacher-session-heading,.teacher-session-edit-form{grid-template-columns:1fr;align-items:stretch}.teacher-create-session{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}}.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:20px}.playground-shell{height:100dvh;min-height:0;display:flex;flex-direction:column;overflow:hidden}.playground-shell>.topbar{flex:0 0 auto}.playground-page{min-height:0;flex:1 1 auto;padding-block:24px;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-mark{display:grid;place-items:center;width:44px;height:44px;border-radius:8px;background:#e7efff;color:var(--blue)}.brand strong{display:block;font-size:18px}.brand span:last-child{color:var(--muted);font-size:13px}.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}.code-editor-wrap{position:relative;flex:1;background:var(--code);min-height:0}.student-editor-area{display:flex;min-height:360px;flex:1 1 58%}.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:#101827;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px;font-weight:800}.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: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 .pacing-advance-warning{right:0;left:auto;width:min(420px,75vw)}.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))}}.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;gap:8px}.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-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-report{grid-area:task-score;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;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);background:var(--color-surface-subtle)}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 strong{font-family:var(--font-display);font-size:18px;letter-spacing:-.02em}.brand span:last-child{color:var(--color-text-muted);font-size:12px}.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:1800px;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}.toolbar-actions button.primary{border-color:#4f7df0;background:#2f63dc}.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}.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 span:last-child{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 strong{font-size:17px}.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-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 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}@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-warning{position:absolute;z-index:40;top:calc(100% + 10px);right:0;width:min(390px,calc(100vw - 40px));padding:16px;display:grid;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-warning>svg{color:#d58b00}.pacing-advance-warning strong,.pacing-advance-warning p{white-space:normal}.pacing-advance-warning 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}.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.primary{border-color:#4f7df0;background:#2f63dc}.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 span:last-child{color:#aebbd0}.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 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 strong,.student-topbar .brand strong{display:none}.role-topbar .brand span:last-child,.student-topbar .brand span:last-child{display:block;color:#161616;font-family:var(--font-display);font-size:18px;font-weight:800}.role-playground-cta{min-height:42px;padding-inline:18px;display:inline-flex;align-items:center;gap:8px;border-color:var(--color-primary);background:var(--color-primary);color:#fff;font-weight:850}.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{position:relative;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}.role-card:disabled{cursor:not-allowed;opacity:.66;filter:grayscale(.15)}.role-coming-soon{position:absolute;top:16px;right:16px;padding:5px 8px;display:inline-flex;align-items:center;gap:4px;border:1px solid #d8dde7;border-radius:999px;background:#f6f7f9;color:#5f6878;font-size:11px;font-weight:850;letter-spacing:.04em;text-transform:uppercase}.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}.playground-packages{margin-top:7px;color:var(--muted);font-size:13px}.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-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:min(calc(100% - 48px),1792px);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-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}.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{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}.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-exercises{display:grid}.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-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}.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 small{color:#718099;font-size:11px;white-space:nowrap}.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}}@media(max-width:767px){.role-topbar{min-height:64px;padding:8px 16px}.role-playground-cta{min-height:38px;padding-inline:12px;font-size:13px}.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 span:last-child{overflow:hidden;font-size:15px;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-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 strong,.presenter-header .brand strong{display:none}.teacher-topbar .brand span:last-child,.presenter-header .brand span:last-child{display:block;color:#161616;font-family:var(--font-display);font-size:18px;font-weight:800}.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)}.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{width:100%}.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>.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-drawer-backdrop{min-height:0;position:fixed;z-index:119;inset:0;display:block;padding:0;border:0;border-radius:0;background:#0f172a3d;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .18s ease,visibility 0s linear .18s}.support-drawer-backdrop:hover:not(:disabled),.support-drawer-backdrop:active:not(:disabled){border:0;background:#0f172a3d;box-shadow:none}.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-drawer-backdrop.open{opacity:1;visibility:visible;pointer-events:auto;transition-delay:0s}.support-panel.support-drawer.open{transform:translate(0);opacity:1;visibility:visible;pointer-events:auto;transition-delay:0s}.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;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-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"}.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}@media(max-width:600px){.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}}
