*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--fg);font:13px system-ui;--bg:#171a22;--panel:#1d212c;--fg:#d4d9e5;--border:#303644;--muted:#8590a6;--active:#30394c}body.light{--bg:#fff;--panel:#f3f5fa;--fg:#263248;--border:#dce1eb;--muted:#63728b;--active:#e0e8fa}button,select,input{font:inherit;color:inherit}button{cursor:pointer;background:transparent;border:1px solid var(--border);border-radius:5px;padding:7px 10px}button:hover{background:var(--active)}header{height:62px;display:flex;align-items:center;gap:25px;padding:0 20px;border-bottom:1px solid var(--border);background:var(--panel)}strong{letter-spacing:1px;font-size:16px}.logo{color:#91a7ff;font-size:26px;vertical-align:middle;margin-right:10px}.accent{color:#91a7ff}.subtitle{color:var(--muted);font-size:12px}.actions{margin-left:auto;display:flex;gap:8px}main{height:calc(100dvh - 89px);display:flex}aside{width:10%;background:var(--panel);position:relative;padding:16px 12px;overflow:auto;min-width:0}#code{flex:1;min-width:180px;display:flex;flex-direction:column}#preview{width:40%;min-width:180px;display:flex;flex-direction:column;background:white}.split{width:5px;flex-shrink:0;cursor:col-resize;background:var(--border);touch-action:none}.split:hover,.split:focus{background:#7895ff}.section{letter-spacing:1.5px;font-size:10px;color:var(--muted);display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.section button{font-size:18px;border:0;padding:0 6px}select{width:100%;padding:9px;background:var(--bg);border:1px solid var(--border);border-radius:5px}.tools{display:flex;flex-wrap:wrap;gap:6px;margin:14px 0}.tools button{font-size:11px;padding:6px}.file{display:flex;align-items:center;gap:5px;margin:3px 0;padding:7px 5px;border-radius:4px}.file.selected{background:var(--active)}.file>button:first-child{border:0;text-align:left;flex:1;padding:0;overflow:hidden;text-overflow:ellipsis}.file .remove{border:0;padding:0 4px;opacity:.5}.folder{color:var(--muted);padding:10px 2px 4px}.explorerBottom{margin-top:40px;color:var(--muted);font-size:9px;display:grid;gap:10px}.explorerBottom button{font-size:11px}#tabs{height:42px;background:var(--panel);display:flex;overflow:auto;border-bottom:1px solid var(--border)}#tabs button{border-radius:0;border:0;border-right:1px solid var(--border);white-space:nowrap;color:var(--muted)}#tabs .selected{background:var(--bg);border-top:2px solid #8c9eff;color:var(--fg)}#breadcrumb{height:32px;padding:8px 16px;color:var(--muted);font-size:11px}#editor{flex:1}#fallback{display:none;flex:1;background:var(--bg);color:var(--fg);border:0;resize:none;padding:16px;font:14px/1.6 monospace;tab-size:2;outline:none}.previewHead{height:42px;background:var(--panel);color:var(--fg);padding:8px 14px;display:flex;align-items:center;justify-content:space-between;font-size:10px;letter-spacing:1px}.previewHead small{color:#76cda3;margin-left:12px;font-size:8px}.previewHead button{padding:2px 7px}.address{margin:10px;border:1px solid #e5e8ee;background:#f7f8fa;color:#718096;border-radius:5px;padding:7px;font-size:11px}.address span{margin-left:12px}iframe{border:0;flex:1;width:100%;background:white}footer{height:27px;background:#293854;color:#c7d6f2;display:flex;justify-content:space-between;padding:5px 13px;font-size:10px}dialog{color:var(--fg);background:var(--panel);border:1px solid var(--border);border-radius:12px;width:400px;padding:28px}dialog::backdrop{background:#0009}form{display:grid;gap:12px}form p{color:var(--muted);line-height:1.6;margin:0}label{display:grid;gap:6px}input{background:var(--bg);border:1px solid var(--border);border-radius:5px;padding:10px}.primary{background:#5876dc;color:white}#authError{color:#f58b91}@media(max-width:900px){.subtitle{display:none}header{padding:0 10px;gap:8px}.actions{gap:4px}.actions button{font-size:10px;padding:6px}strong{font-size:12px}aside{min-width:0}.tools{flex-wrap:wrap}}
[hidden]{display:none!important}#teacherDialog{width:min(1000px,94vw);max-height:90dvh;overflow:auto}.teacherHeading{display:flex;align-items:center;justify-content:space-between}#students section{border-bottom:1px solid var(--border);padding:12px 0}#students button{margin:4px}#studentCode{width:100%;height:340px;resize:vertical;background:var(--bg);color:var(--fg);padding:14px;border:1px solid var(--border);margin-top:12px;font:13px/1.6 monospace}#teacherDialog p{color:var(--muted)}
#connection{position:fixed;inset:62px 0 27px;z-index:10;background:var(--bg);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;text-align:center;padding:24px}#connection p{color:var(--muted);max-width:540px;line-height:1.7}#connection h2{margin:0}footer button{padding:0 6px;font-size:10px;border-color:#758bb7}
body{--teacher-height:0px}body.teacher-mode{--teacher-height:64px}main{height:calc(100dvh - 89px - var(--teacher-height))}#teacherBar{height:64px;background:var(--panel);border-bottom:1px solid var(--border);display:flex;align-items:center;gap:14px;padding:8px 18px}#teacherBar>label{font-size:10px;display:flex;align-items:center;gap:8px;color:var(--muted);white-space:nowrap}#teacherGroups{width:170px;padding:8px;color:var(--fg)}#studentButtons{display:flex;gap:7px;overflow:auto;flex:1;align-items:center;min-width:70px}.studentButton{white-space:nowrap;border-color:#53679d;background:var(--active);font-size:12px}#manageClass{white-space:nowrap;font-size:11px}.muted{color:var(--muted);font-size:12px}#connection{overflow:auto;display:block;padding:32px 18px}.loginCard{width:min(440px,100%);margin:4vh auto;padding:30px;background:var(--panel);border:1px solid var(--border);border-radius:16px;text-align:left;box-shadow:0 20px 70px #0002}.loginCard h1{font-size:28px;margin:16px 0 12px}.loginCard p{font-size:12px;line-height:1.7}.loginCard form{margin:22px 0 14px}.loginCard #connectRetry{width:100%;font-size:11px}.loginEyebrow{font-size:9px;letter-spacing:1.7px;color:#91a7ff}.loginFootnote{margin-bottom:0}.loginCard #authError{color:#f58b91;margin:0}#registrationFields{display:grid;gap:12px}#classManager{width:min(1000px,94vw);max-height:90dvh;overflow:auto}#groupForm{display:flex;align-items:end;margin:18px 0}#groupForm label{flex:1}.studentRow{display:grid;grid-template-columns:1fr 1fr 1fr auto;align-items:end;border-top:1px solid var(--border);padding:18px 0}.studentRow>strong,.studentRow>p{grid-column:1/-1;font-size:12px}.studentRow select{padding:10px}#classMessage{color:var(--muted)}@media(max-width:700px){body.teacher-mode{--teacher-height:100px}#teacherBar{height:100px;flex-wrap:wrap;gap:6px}#studentButtons{order:3;flex-basis:100%}#teacherBar>label{flex:1}#manageClass{font-size:10px;padding:6px}.studentRow{grid-template-columns:1fr 1fr}.loginCard{padding:22px;margin:0 auto}}
#htmlErrors{max-height:95px;overflow:auto;background:var(--panel);border-bottom:1px solid #a34650;padding:4px 8px;flex-shrink:0}#htmlErrors button{display:block;border:0;border-radius:0;color:#f48787;text-align:left;width:100%;font-size:11px;padding:5px 7px}body.light #htmlErrors button{color:#b42334}
.editorTools{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);min-height:32px;flex-shrink:0}.editorTools #breadcrumb{height:auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.editorTools #toggleComment{font-size:10px;padding:4px 8px;margin-right:9px;white-space:nowrap}button:disabled{opacity:.45;cursor:default}
#classManager{width:min(1080px,96vw)}.managerTabs{display:flex;gap:7px;flex-wrap:wrap;border-bottom:1px solid var(--border);padding:10px 0 16px;margin-bottom:12px}.managerTabs button[aria-pressed="true"]{background:var(--active);border-color:#91a7ff}.accountForm{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:end;padding:16px;border:1px solid var(--border);border-radius:8px;margin-bottom:24px}.accountForm>button{height:38px}.accountForm label{min-width:0}.accountForm input{width:100%}#managerRole{font-size:11px;color:var(--muted)}#classMessage,#csvMessage{white-space:pre-wrap;font-size:12px;line-height:1.6}#csvForm{display:grid;grid-template-columns:1fr 2fr auto;align-items:end;margin:18px 0}#csvForm input{max-width:100%}#csvPreview{max-height:260px;overflow:auto;margin:12px 0}#csvPreview table{width:100%;border-collapse:collapse;font-size:12px}#csvPreview th,#csvPreview td{padding:8px;text-align:left;border-bottom:1px solid var(--border)}#csvPreview th{position:sticky;top:0;background:var(--panel)}.groupSummary{border:1px solid var(--border);border-radius:5px;padding:12px}#managerCSV>p,#managerTeachers>p{color:var(--muted);font-size:12px;line-height:1.7}.accountHelp{font-size:11px;color:var(--muted)}@media(max-width:650px){.accountForm,#csvForm{grid-template-columns:1fr}.teacherHeading h2{font-size:18px}}
.editorActions{display:flex;align-items:center;gap:5px;padding:4px 8px;flex-shrink:0}.editorActions button{font-size:10px;padding:4px 7px;white-space:nowrap}.editorTools .editorActions #toggleComment{margin:0}.editorTools #breadcrumb{flex:1}@media(max-width:650px){.editorTools{flex-wrap:wrap}.editorTools #breadcrumb{flex-basis:100%}.editorActions{padding-left:12px}}

.groupSummary{display:flex;align-items:end;gap:10px;flex-wrap:wrap}.groupSummary label{flex:1;min-width:180px}.groupSummary input{width:100%}.groupSummary>span{font-size:12px;padding-bottom:10px}.dangerButton{color:#ef838a;border-color:#b85b65}.deleteConfirmation{grid-column:1/-1;flex-basis:100%;display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:12px;border:1px solid #b85b65;border-radius:6px}.deleteConfirmation span{flex:1;min-width:160px;font-size:12px}.trashRow{display:flex;gap:12px;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid var(--border)}#managerTrash p,#managerTrash h4{font-size:12px}#trashGroups,#trashStudents{font-size:12px}.studentRow>.dangerButton{margin-top:10px;justify-self:start}

#pasteForm{display:grid;gap:14px;margin:18px 0}#pastedNames{width:100%;min-height:140px;font:14px monospace;padding:12px;background:var(--bg);color:var(--fg);border:1px solid var(--border);border-radius:6px}.pastedStudent{display:grid;grid-template-columns:1fr 1fr 1.3fr 1fr;gap:10px;padding:14px 0;border-top:1px solid var(--border)}.pastedStudent input{width:100%;min-width:0}#pasteMessage{white-space:pre-wrap;font-size:12px}#managerPaste p{font-size:12px;line-height:1.6}@media(max-width:700px){.pastedStudent{grid-template-columns:1fr 1fr}}

#explorer{display:flex;flex-direction:column}#tree{flex:1}.explorerBottom{margin-top:24px}#colorPanel{display:grid;gap:8px;color:var(--fg);min-width:0;border-top:1px solid var(--border);padding-top:14px}#colorPanel h3,#colorPanel h4{font-size:10px;margin:4px 0}#colorPanel label{font-size:10px;min-width:0}#colorPanel input,#colorPanel select{width:100%;min-width:0;padding:5px;font-size:10px}#colorPicker{height:34px;cursor:pointer}#colorPanel code{font-size:10px;overflow-wrap:anywhere}#colorPanel p{font-size:10px;line-height:1.5;margin:2px 0;overflow-wrap:anywhere}#recentColors{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,80px),1fr));gap:4px}.colorSwatch{display:flex;align-items:center;gap:4px;padding:4px!important;min-width:0;font:9px monospace!important}.colorChip{width:16px;height:18px;flex-shrink:0;border:1px solid #888;border-radius:3px}#colorMessage:empty{display:none}
#colorPanel{max-height:55dvh;overflow:auto;padding-right:3px;flex-shrink:0}.explorerBottom{flex-shrink:0}#tree{min-height:90px}

.previewActions{display:flex;gap:7px;align-items:center}.previewActions #openPreviewWindow{font-size:10px;white-space:nowrap;padding:4px 7px}

.studentDownloads{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.tools #downloadProject,.tools #downloadFile{overflow-wrap:anywhere;text-align:left}

#explorer{overflow:hidden}#explorerFiles{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain}#tree{min-height:0}#explorerFiles>#deleteProject{font-size:10px;width:100%;margin:14px 0}.explorerBottom{display:flex;flex-direction:column;flex:0 1 360px;max-height:58%;min-height:90px;gap:0;margin-top:12px;overflow:hidden}#colorPanel{display:flex;flex-direction:column;flex:1;min-height:0;max-height:none;overflow:hidden;gap:6px;padding:8px 0 0}#colorPanel>h3,#colorPanel>label{flex-shrink:0}#colorPanel>h3{margin:0}#colorPicker{height:32px;padding:2px}#colorDetails{display:grid;gap:7px;overflow:auto;min-height:0;overscroll-behavior:contain;padding-right:3px}#colorDetails>code{display:block}#recentColors{grid-template-columns:1fr}#colorDetails #insertColor{font-size:10px;padding:5px}#colorDetails #colorMessage{margin-bottom:4px}
#explorer,.explorerBottom,#colorPanel{overflow:clip}#colorDetails{flex:1}

.explorerBottom{max-height:70%;flex-basis:440px;min-height:180px}#colorPanel{gap:7px}.inlineColorPicker,.recentColorStrip{flex-shrink:0;min-width:0}#colorPicker{position:relative;width:100%;height:clamp(64px,12vh,130px);border:1px solid var(--border);border-radius:5px;padding:0;touch-action:none;cursor:crosshair;background-image:linear-gradient(to top,#000,transparent),linear-gradient(to right,#fff,transparent)}#colorPicker:focus-visible{outline:2px solid #91a7ff;outline-offset:2px}#colorCursor{position:absolute;width:10px;height:10px;border:2px solid white;box-shadow:0 0 0 1px #0009;border-radius:50%;transform:translate(-50%,-50%);pointer-events:none}.inlineColorPicker>label{margin-top:6px}#colorPanel #colorHue{appearance:none;-webkit-appearance:none;height:12px;padding:0;margin:3px 0 0;border:0;border-radius:5px;background:linear-gradient(to right,red,#ff0,#0f0,#0ff,#00f,#f0f,red);cursor:pointer}#colorHue::-webkit-slider-thumb{appearance:none;width:10px;height:17px;background:white;border:1px solid #333;border-radius:3px}#colorHue::-moz-range-thumb{width:8px;height:15px;background:white;border:1px solid #333;border-radius:3px}#recentColors{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:3px}#recentColors>.colorSwatch{padding:0!important;border-radius:3px;height:23px;overflow:hidden}#recentColors .colorChip{width:100%;height:100%;border:0;border-radius:2px;flex:1}#recentColors .colorSwatch>span:last-child{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden;white-space:nowrap}#recentColors>span{grid-column:1/-1;font-size:10px}.recentColorStrip h4{margin:0 0 5px!important}#colorDetails{gap:6px}

#colorLivePreview{display:flex;align-items:center;justify-content:center;min-height:28px;margin-top:7px;border:1px solid var(--border);border-radius:4px}#colorPanel #colorLiveCode{font-size:11px;font-weight:600;letter-spacing:.3px}

#colorPanel>#insertColor{flex-shrink:0;font-size:10px;padding:5px}

.monaco-editor .aula-error-line-text,.monaco-editor .aula-error-line-text *{color:#ff8585!important}.monaco-editor .aula-error-line-number{color:#ff8585!important}body.light .monaco-editor .aula-error-line-text,body.light .monaco-editor .aula-error-line-text *,body.light .monaco-editor .aula-error-line-number{color:#b42318!important}
.monaco-editor .suggest-widget .codicon-symbol-snippet::before{content:"</>";font-family:ui-monospace,Menlo,monospace!important;font-size:10px;font-weight:700;letter-spacing:-1px}

.studentHeading{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:10px}.studentHeading>strong{font-size:12px;letter-spacing:0;overflow-wrap:anywhere;flex:1;min-width:140px}.studentHeading>.dangerButton{flex-shrink:0}.studentHeading>.deleteConfirmation{flex-basis:100%}

.pixelRulerTools{flex-shrink:0;border-top:1px solid var(--border);padding-top:6px}.pixelRulerTools button{width:100%;font-size:10px;padding:5px}.pixelRulerTools button[aria-pressed="true"]{background:var(--active);border-color:#91a7ff}#pixelRulerResult{font-size:9px!important;line-height:1.3!important}.pixelRulerOverlay{position:fixed;z-index:10000;background:#496bdb08;cursor:crosshair;touch-action:none;overflow:hidden;outline:2px solid #7192ff}.pixelRulerOverlay[hidden],.pixelRulerOverlay [hidden]{display:none!important}.pixelRulerBox{position:absolute;border:1px dashed #ffe05c;background:#ffdc5017;pointer-events:none}.pixelRulerLine{position:absolute;height:2px;background:#ffda38;transform-origin:left center;box-shadow:0 0 1px #000;pointer-events:none}.pixelRulerLabel{position:absolute;left:6px;top:6px;max-width:calc(100% - 12px);background:#182038ed;color:white;padding:6px 8px;border:1px solid #8099df;border-radius:4px;font:11px/1.5 system-ui;pointer-events:none}

#explorer{width:360px;min-width:360px;flex-shrink:0}#explorerFiles>.tools{flex-wrap:nowrap;gap:6px}#explorerFiles>.tools button{white-space:nowrap;flex-shrink:0}#workspace{overflow-x:auto}

.pixelRulerClose{position:absolute;right:6px;top:6px;z-index:1;background:#182038f5;color:white;border:1px solid #8099df;padding:7px 10px;font:11px system-ui;cursor:pointer}.pixelRulerOverlay .pixelRulerLabel{max-width:calc(100% - 170px)}

header .actions{align-items:center;flex-shrink:0}header .subtitle{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#studentIdentity{font-size:12px;font-weight:600;max-width:190px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-right:4px}@media(max-width:900px){#studentIdentity{max-width:110px;font-size:10px}}

#teacherCommentsMenu{position:relative;font-size:11px;flex-shrink:0}#teacherCommentsSummary{cursor:pointer;border:1px solid var(--border);padding:8px;border-radius:5px;color:#f7ae60}.feedbackDropdown{position:absolute;right:0;top:100%;width:min(480px,90vw);max-height:65vh;overflow:auto;z-index:500;background:var(--panel);border:1px solid var(--border);box-shadow:0 12px 40px #0006;padding:10px;border-radius:8px}.feedbackDropdown button{display:block;width:100%;text-align:left;margin-bottom:6px;font-size:11px;white-space:normal;overflow-wrap:anywhere;color:#f7ae60}.feedbackDropdown p{padding:8px;color:var(--muted)}.teacherInlineComment{box-sizing:border-box;padding:7px 12px;border-left:3px solid #f69a36;background:#f69a3612;color:#ffae5a!important;font:13px/20px Menlo,monospace;white-space:pre-wrap;overflow:auto;user-select:text}body.light .teacherInlineComment{color:#ad5300!important;background:#fff4e5}#feedbackDialog{width:min(600px,92vw)}#feedbackText{width:100%;min-height:130px;background:var(--bg);color:var(--fg);border:1px solid var(--border);padding:12px;font:14px system-ui}#feedbackTarget,#feedbackStatus{font-size:12px;line-height:1.5}#feedbackStatus{color:#ef8d88}.feedbackFormActions{display:flex;gap:10px}#addTeacherFeedback{font-size:10px;color:#ffae5a;padding:5px;white-space:nowrap;margin:4px}#fallbackFeedback{max-height:220px;overflow:auto}#fallbackFeedback .teacherInlineComment{margin:4px 0}body{--review-height:0px}body.reviewing-student{--review-height:0px}main{height:calc(100dvh - 89px - var(--teacher-height) - var(--review-height))}#studentReviewBar{height:42px;display:flex;align-items:center;gap:12px;background:var(--panel);border-bottom:1px solid #c08036;padding:5px 16px;font-size:11px}#studentReviewBar strong{font-size:12px;letter-spacing:0;color:#ffae5a}#studentReviewBar span{flex:1;color:var(--muted)}#studentReviewBar button{font-size:10px;padding:5px;white-space:nowrap}@media(max-width:900px){#teacherCommentsSummary{font-size:9px;padding:6px}#studentReviewBar span{display:none}#studentReviewBar{gap:7px}header .subtitle{display:none}}

.studentButton.activeStudent,.studentButton.activeStudent:hover{background:#5876dc;border-color:#91a7ff;color:#fff;box-shadow:0 0 0 1px #91a7ff;font-weight:600}.studentButton.activeStudent:focus-visible{outline:2px solid #b9c6ff;outline-offset:3px}

.feedbackMenuItem{padding:6px 0;border-bottom:1px solid var(--border)}.teacherInlineComment .markFeedbackRead,.feedbackDropdown .markFeedbackRead{width:auto;display:block;margin:6px 0 2px;padding:4px 8px;font:11px system-ui;white-space:normal;color:var(--fg);cursor:pointer}.markFeedbackRead:disabled{cursor:wait;opacity:.6}

#uploadImages{width:100%;margin:7px 0}#imageUploadDialog{width:min(540px,94vw)}#imageUploadForm label{display:block;margin:14px 0}#imageUploadForm input{display:block;width:100%;margin-top:6px;background:var(--bg);border:1px solid var(--border);padding:8px}#imageUploadForm p{font-size:12px;line-height:1.5;color:var(--muted)}#imageUploadStatus{color:var(--fg)!important}#imagePreview{flex:1;min-height:0;overflow:auto;padding:24px;text-align:center;background:var(--bg)}#imagePreview[hidden]{display:none}#imagePreview img{display:block;max-width:100%;max-height:65vh;object-fit:contain;margin:0 auto 16px;background:repeating-conic-gradient(#9993 0% 25%,transparent 0% 50%) 0/20px 20px}#imagePreview code{overflow-wrap:anywhere}#imagePreview p{color:var(--muted);font-size:12px}

#tabs{flex-shrink:0;min-height:42px}.codeTab{display:flex;flex-shrink:0;border-right:1px solid var(--border);align-items:stretch}.codeTab.selected{border-top:2px solid #8c9eff;background:var(--bg)}#tabs .codeTab button{border:0;background:transparent}#tabs .codeTab.selected button{color:var(--fg)}#tabs .closeTab{padding:4px 8px;font-size:18px}#tabs .closeTab:hover{background:var(--active)}

.renameEntry{border:0;padding:0 5px;color:var(--muted);flex-shrink:0}.folder{display:flex;align-items:center;gap:5px;overflow-wrap:anywhere}.folder .renameEntry{margin-left:auto}

.feedbackDropdown .feedbackRead>button{color:var(--muted)}

#explorerColorSplit{height:8px;flex:0 0 8px;cursor:row-resize;touch-action:none;background:var(--border);border-block:2px solid var(--panel);margin:0;outline:none}#explorerColorSplit:hover,#explorerColorSplit:focus-visible{background:#8c9eff}
#explorerFiles{flex:0 0 calc((100% - 8px) * .45);min-height:0}
#explorer>.explorerBottom{flex:1 1 0;max-height:none;min-height:0;margin-top:0;overflow:auto}
#explorer .explorerBottom #colorPanel{overflow:visible;flex-shrink:0}

body{--rubric-height:0px}body.has-rubric{--rubric-height:74px}main{height:calc(100dvh - 89px - var(--teacher-height) - var(--review-height) - var(--rubric-height))}
#rubricBar{height:74px;background:var(--panel);border-bottom:1px solid var(--border);padding:7px 14px;display:flex;align-items:center;gap:12px;overflow:auto}#rubricBar[hidden]{display:none}#rubricCriteria{display:flex;gap:20px;align-items:center}.rubricCriterion{white-space:nowrap;display:flex;align-items:center;gap:3px;font-size:11px}.rubricCriterion>span{max-width:210px;white-space:normal;margin-right:5px}button.rubricCircle{border:0;padding:2px;color:var(--muted);font-size:24px;border-radius:50%}button.rubricCircle[aria-pressed="true"]{color:#91a7ff}button.rubricCircle:hover,button.rubricCircle:focus-visible{background:var(--active);outline:1px solid #91a7ff}#rubricTotal{font-size:12px;letter-spacing:0;white-space:nowrap}#editRubric{white-space:nowrap}#rubricStatus{font-size:10px;min-width:140px;color:var(--muted)}#rubricEditor{width:min(1000px,95vw);max-height:90vh;overflow:auto}#rubricEditor fieldset{margin:15px 0;border:1px solid var(--border);display:grid;gap:8px}#rubricEditor textarea{background:var(--bg);color:var(--fg);min-height:65px;border:1px solid var(--border);font:inherit;padding:8px}.rubricLevelEditor{display:grid;grid-template-columns:1fr 80px 2fr auto;gap:8px;align-items:end;border-top:1px solid var(--border);padding-top:8px}#rubricEditorStatus{color:#ef8d88}@media(max-width:700px){.rubricLevelEditor{grid-template-columns:1fr}#rubricBar{gap:8px}}

.rubricObservationsLabel{font-size:11px;flex:0 0 230px}#rubricObservations{resize:vertical;min-height:35px;max-height:55px;background:var(--bg);color:var(--fg);border:1px solid var(--border);border-radius:4px;font:12px system-ui;padding:5px}#saveRubricObservations{white-space:nowrap;font-size:11px}

.rubricDateLabel{font-size:11px;flex:0 0 155px}.rubricDateLabel input{min-width:0;width:155px;padding:6px;color-scheme:dark}body.light .rubricDateLabel input{color-scheme:light}

button.rubricCircle{display:inline-flex;flex-direction:column;align-items:center;gap:0;min-width:28px;border-radius:5px;line-height:1}button.rubricCircle .rubricPoints{font-size:11px;line-height:15px;color:var(--fg);font-weight:600}button.rubricCircle .rubricCircleSymbol{font-size:24px;line-height:26px}

#rubricCriteria{gap:32px}.rubricCriterion{gap:7px}.rubricCriterion>span{margin-right:10px}#rubricBar{gap:20px}

#rubricTotal{color:#ff6b6b}body.light #rubricTotal{color:#c62828}

.teacherProject{color:#f4ce55!important}body.light .teacherProject{color:#986800!important}#assignmentStudents{display:grid;gap:8px;max-height:260px;overflow:auto}#assignmentStudents label{display:flex;align-items:center;gap:8px}#assignmentStudents input{width:auto}#assignProjectDialog{width:min(600px,94vw);max-height:90vh;overflow:auto}#assignProject{white-space:nowrap;font-size:11px}

#rubricBar{background:linear-gradient(110deg,#5368ae,#45578b);color:#fff;--fg:#fff;--muted:#f0f3ff;--border:#ffffff70;--active:#ffffff25}
#rubricBar .rubricCircle{color:#fff}
#rubricBar .rubricCircle[aria-pressed="true"]{color:#ffe387;background:#ffffff20}
#rubricBar .rubricCircle:hover,#rubricBar .rubricCircle:focus-visible{outline-color:#fff}
#rubricBar #rubricTotal{color:#c62828;background:#fff;border-radius:5px;padding:6px 8px}
#rubricBar #rubricObservations,#rubricBar #rubricDate{background:#fff;color:#1d2942;color-scheme:light;border-color:#ffffff90}
#rubricBar #rubricStatus{color:#fff}

#projects option{color:var(--fg);background:var(--bg)}#projects.teacherProject,#projects option.teacherProject,#breadcrumb.teacherProject{color:#f4ce55!important}body.light #projects.teacherProject,body.light #projects option.teacherProject,body.light #breadcrumb.teacherProject{color:#8b6500!important}

#languageHelp{margin:12px 0;border:1px solid var(--border);border-radius:6px;padding:9px;font-size:11px;line-height:1.55}#languageHelp summary{cursor:pointer;color:#91a7ff;font-weight:600}body.light #languageHelp summary{color:#385bb3}#languageHelp p{overflow-wrap:anywhere;margin:9px 0}#languageHelp label{font-size:10px;margin:8px 0}#languageHelp pre{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--bg);border-radius:4px;padding:9px;margin:8px 0 0;font:11px/1.6 monospace}#languageHelpTerm{font-size:11px;color:#e4b56d}body.light #languageHelpTerm{color:#845400}
