/* ==UserStyle== @name Formative Catppuccin @namespace github.com/catppuccin/userstyles/styles/formative @homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/formative @version 2025.09.06 @updateURL https://github.com/catppuccin/userstyles/raw/main/styles/formative/catppuccin.user.less @supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Aformative @description Soothing pastel theme for Formative @author Catppuccin @license MIT @preprocessor less @var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappé", "macchiato:Macchiato", "mocha:Mocha"] @var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappé", "macchiato:Macchiato", "mocha:Mocha*"] @var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] ==/UserStyle== */ @import "https://userstyles.catppuccin.com/lib/lib.less"; @-moz-document domain("app.formative.com"), domain("goformative.com") { :root { @media (prefers-color-scheme: light) { #catppuccin(@lightFlavor); } @media (prefers-color-scheme: dark) { #catppuccin(@darkFlavor); } } #catppuccin(@flavor) { #lib.palette(); #lib.defaults(); @contrast: if(@flavor = latte, @text, @base); input, textarea { border-color: @overlay0; color: @text; } .input { border-color: @overlay0; } .MainAppSideMenu__LogoLink-sc-11gwnv8-2, .MainAppHeader__LogoLink-sc-1gw0bt9-2, .SplitColumnLayout__StyledLogo-sc-4mcl10-4 { svg { path:nth-child(1) { fill: @yellow !important; } path:nth-child(2) { fill: @green !important; } path:nth-child(3) { fill: @blue !important; } path:nth-child(4) { fill: @red !important; } path:nth-child(5) { fill: @yellow !important; } path:nth-child(6) { fill: @text !important; } } } background: @base; body { color: @text; } hr { border-color: @overlay0 !important; } .MainAppSideMenu__RootNav-sc-11gwnv8-0 { background: @surface0; .SideTabItem__RootButton-sc-vtkzgr-0 { &.selected { background: fade(@accent, 50%); &::after { background: @accent; } } &:hover { .avatar { box-shadow: @accent 0 0 0 1px; } } &:not(.selected):hover { .side-tab-item-label-div, .material-icons-outlined, .svg-icons svg { color: @accent; } } } .side-tab-item-label-div, .material-icons-outlined, .svg-icons { color: @text; } } .notifications-count { background: @accent; color: @contrast; } .NotificationCenterAlert__TriggerDiv-sc-165xmi4-0 { background-color: @surface0; .material-icons-outlined { color: @text; } } .avatar:hover { box-shadow: @accent 0 0 0 1px; } .MainAppHeader__RootDiv-sc-1gw0bt9-0 { background-color: @surface0; } .SecondaryHeader__RootDiv-sc-1lpafq7-0 { background: @surface0; border-color: @overlay0; .TabsItem__RootDiv-sc-tj1og8-0 > a { color: @text; } .TabsItem__RootDiv-sc-tj1og8-0:hover > a { color: @accent; } .TabsItem__SelectedLineDiv-sc-tj1og8-1 { background: @accent !important; } .TabsItem__TabLink-sc-tj1og8-3:focus-visible { background: transparent !important; } } main, .FormativesShelf__HeaderDiv-sc-1pswvpk-3, .FormativesShelf__StyledSecondaryHeader-sc-1pswvpk-4, .TabsItem__TabDiv-sc-tj1og8-4:focus-visible { background: @base; } .Home__TitleSpan-sc-q7a345-5, .ClassesShelf__TitleSpan-sc-1ews12o-2, .TabsItem__TabDiv-sc-tj1og8-4, .OverflowEllipsis__RootDiv-sc-1mjk6uz-0, .Label-sc-rzlz3u-0, .Text-sc-1mon9hz-0, .ProfileAccountInfo__BaseDiv-sc-1nbrrm9-0, .Achievements__StyledHeading-sc-nmy2km-2, .Achievements__StyledSubHeading-sc-nmy2km-3, .BadgeCard__BadgeLabelDiv-sc-13976oo-8, .BadgeCard__BadgeDescriptionDiv-sc-13976oo-9, .EmptyExplainer__EmptyExplainerMainText-sc-1ixiesy-2, .EmptyExplainer__EmptyExplainerSubtext-sc-1ixiesy-3, .LabelledDropdownList__StyledLabel-sc-co7v7a-1, .BadgeSidebar__BadgeLabelDiv-sc-oi03p1-3, .BadgeSidebar__BadgeDescriptionDiv-sc-oi03p1-4, .BadgeSidebar__ChallengeProgressStatusDiv-sc-oi03p1-8, .BadgeSidebar__ChallengeProgressFractionDiv-sc-oi03p1-9, .BadgeSidebar__LevelDescriptionDiv-sc-oi03p1-13, .BadgeSidebar__AchievedOnDiv-sc-oi03p1-14, .QuestionNotificationRow__NameP-sc-f7ccw5-7, .QuestionNotificationRow__StyledTimeAgo-sc-f7ccw5-8, .TextViewable__RootDiv-sc-ohojgu-0, .ScorePill__ScoreDiv-sc-w63ftw-0, .QuestionViewable__QuestionTextRichTextWrapperDiv-sc-13jvio2-1, .QuestionViewable__QuestionNumberDiv-sc-13jvio2-3, .FormativeStudentFooter__ProgressCountDiv-sc-6tj89c-1, .FormativeStudentFooter__SubTextDiv-sc-6tj89c-5, .FormativesShelf__ShowScoresText-sc-1pswvpk-6, .ModalBody__RootDiv-sc-1lg094f-0, .Elements__Title-sc-1qtb2ho-9, .JoinQuickCode__QuickCodeTextParagraph-sc-1uhfett-1, .CallToActionLink__ActionText-sc-yuiy65-1, .Checkbox__CheckboxLabel-sc-1oy0ey9-4, .ModalTitle__TitleH4-sc-18cspoj-1, .FormativeItemViewable__HintDiv-sc-m0kwch-8, .NoFormatives__HeadingDiv-sc-1v9g5eg-1, .NoFormatives__BodyP-sc-1v9g5eg-2, .DragAndDropViewableContainer__InstructionsDiv-sc-1ke293x-0, .QuestionViewable__CorrectAnswerLabelDiv-sc-13jvio2-7, .MatchingTableRow__ArrowIcon-sc-1u9h4tb-1, .PracticeSet__StyledLastUpdated-sc-1wup6tb-9, .MaterialIcon-sc-1g5xoi8-0, .MinimalFormativeStudentHeader__FormativeTitleDiv-sc-14rcnaq-4, .ErrorExplainer__SubTextHeading-sc-7nq4if-2, .ErrorExplainer__MainTextHeading-sc-7nq4if-1, .ErrorExplainer__TechnicalDetailsHeading-sc-7nq4if-3, .ErrorExplainer__ErrorIdParagraph-sc-7nq4if-4, .TeacherPacedStart__DetailsDiv-sc-1f4f5sd-4, .Elements__SubText-sc-1qtb2ho-11, .RichText__RootReadOnlyDiv-sc-fjolxt-1 *, .ValidatedInputNew__InputPrefixSpan-sc-18vdili-3, .LaunchRespondusBrowser__MainTextHeading-sc-1ymzzc2-5, .LaunchRespondusBrowser__DetailsParagraph-sc-1ymzzc2-4, .PracticeSession__PopoverContentDiv-sc-1t2vn9a-4, .ExpandableAccordionHeader__HeaderRow-sc-cu02pz-1, .VerticalButton__StyledSpan-sc-1h2we7r-1, .ShelfTile__LabelDiv-sc-1oc4c00-3, .PracticeSet__AddItemCardContents-sc-1wup6tb-10 { color: @text; } .TabsItem__TabDiv-sc-tj1og8-4:hover, .RespondusTroubleshootLink__TroubleshootingAnchor-sc-17na5u4-7, .Summary__RawButtonLink-sc-1ofq6fd-2 { color: @accent; } .FormativesShelf__StyledSecondaryHeader-sc-1pswvpk-4 { border-color: @overlay0; } .TabsItem__SelectedLineDiv-sc-tj1og8-1 { background: @accent !important; } .Pill__RootDiv-sc-4b6mpn-0, .ItemInfoPill-sc-ecx83e-0, .FormativeItemViewable__HintsRemainingCountDiv-sc-m0kwch-11, .IconWarningButton__RootButton-sc-1b683n6-0, .Ellipse__RootButton-sc-1teidw7-0 { &.IconWarningButton__RootButton-sc-1b683n6-0:hover { border-color: @red; } > svg[width="16"] { path { stroke: @red; } } &, .material-icons-outlined { color: @text !important; } background: @surface2 !important; border-color: @overlay0; } .Card__RootDiv-sc-hyrluv-0, .Card__RootDiv-sc-4gt2nj-0 { background: @surface0; border-color: @overlay0; &.selected { border-color: @accent; outline-color: @accent; } .material-icons-outlined { color: @text; } &:hover { .FormativeCard__TitleOverflowEllipsis-sc-tkxjaz-7, .SectionCard__SectionTitleOverflowEllipsis-sc-ir1v2v-4 { color: @accent; } } } .ClassAvatar__RootDiv-sc-i7tto7-0, .avatar > div { background: @accent; color: @contrast; } .ReactSelect__control { background: @surface0; border-color: @overlay0; .ReactSelect__placeholder { color: @subtext0; } .ReactSelect__indicator, .ReactSelect__single-value, .ReactSelect__input-container { color: @text; } &:focus-within { border-color: @accent !important; } } .react-select-icon { color: @text; } .ReactSelect__menu { background: @surface2 !important; color: @text; .SearchBarOption__RootLink-sc-191bb28-1:hover .SearchBarOption__TitleOverflowEllipsis-sc-191bb28-0 { color: @accent; } .ReactSelect__option--is-focused { background: @overlay0; } .ReactSelect__option--is-selected { background: @accent; color: @contrast; } .ReactSelect__menu-notice { color: @subtext0; } } .ClassesShelfContainer__StyledButton-sc-zx4vft-0 .material-icons-outlined { color: @text; } .Button__StyledButton-sc-aum9f1-1, .IconButton__RootButton-sc-ebvofk-0, .SectionDetail__BackLink-sc-1aifgaj-4 { background: @surface0 !important; &, .material-icons-outlined { color: @accent !important; border-color: @overlay0; } &:hover, &:enabled:focus { background: @surface1; border-color: @accent; } } .Switch__RootButton-sc-1ss5zxi-0 { background: @surface0; &[aria-checked="true"] { background: @accent; } .Switch__BallDiv-sc-1ss5zxi-1 { background: @overlay0; } } .ButtonSwitch__RootDiv-sc-1cluxwg-0 { background: @surface1; .ButtonSwitchOption__RootDiv-sc-ek1jm8-0 { &.selected { background: @surface2; } color: @text; } } .FormativeCardScore__PercentageSpan-sc-p5mc30-1 { &[style*="rgba(32, 213, 171, 0.2)"] { background: fade(@green, 50%) !important; } &[style*="rgba(255, 222, 51, 0.2)"] { background: fade(@yellow, 50%) !important; } &[style*="rgba(0, 165, 251, 0.2)"] { background: fade(@blue, 50%) !important; } &[style*="rgba(255, 76, 77, 0.2)"] { background: fade(@red, 50%) !important; } } .Dropdown__PopoverContent-sc-1s7u5eb-2, .Popover__PopoverContent-sc-1x169li-4 { background: @surface2; .DropdownRow__RowButton-sc-1bu6csb-0 { background: @surface2; border-color: @overlay2; &, .dropdown-list-icon, .material-icons-outlined { color: @text !important; svg path { fill: @text !important; } } &:hover { background: @overlay0 !important; color: @text !important; } } .Dropdown__PopoverArrow-sc-1s7u5eb-1, .Popover__PopoverArrow-sc-1x169li-3 { fill: @surface2; } .StrokePicker__InnerDiv-sc-8widgm-4 { background: @surface2; } } .DropdownList__TriggerButton-sc-1hvvmg1-0, .EmptyExplainer__StyledMaterialIcon-sc-1ixiesy-4 { color: @accent; } .ProfileAccountInfo__DashedGroup-sc-1nbrrm9-2 { border-color: @overlay0; } .BadgeCard__RootButton-sc-13976oo-0 { &:hover, &:focus, &.selected { .BadgeCard__BadgeLabelDiv-sc-13976oo-8 { color: @accent; } .Card__RootDiv-sc-4gt2nj-0 { border-color: @accent; } } .BadgeCard__ProgressPercentSpan-sc-13976oo-7 { color: @text; } } .BadgeSidebar__RootDiv-sc-oi03p1-0 { background: @surface0; .SvgIconWrapper__SvgIconDiv-sc-1u203y2-0 { svg path { fill: @text; } &:hover { background: @surface1; } } .BadgeSidebar__ChallengeLevelsDiv-sc-oi03p1-10 { border-color: @overlay0; } } .BadgeCard__BadgeImage-sc-13976oo-5, .BadgeSidebar__BadgeImage-sc-oi03p1-2 { &[src*="responses"] { @svg: escape( '' ); content: url("data:image/svg+xml,@{svg}"); } &[src*="formatives-assigned-submitted"] { @svg: escape( '' ); content: url("data:image/svg+xml,@{svg}"); } } .ProgressBar__ProgressDiv-sc-4qm1te-0 { background: @overlay0; .ProgressBar__ProgressBarDiv-sc-4qm1te-2 { background: @accent; } } .notification { &.notification-success { background: @green !important; color: @contrast !important; } } .Tooltip__Content-sc-1k6bq57-0 { background: @surface0; color: @text; .Tooltip__KeyboardShortcutContainerDiv-sc-1k6bq57-1 { background: @surface1; color: @text; } } .Modal__Overlay-sc-1uf7odj-0 { background: fade(@crust, 80%); } .Modal__Content-sc-1uf7odj-1 { background: @base; .modal-header, .modal-footer { border-color: @overlay0 !important; } .ModalHeader__Title-sc-1aoz840-1 { color: @text; } .modal-footer { background: @base; } .ModalHeader__CloseButton-sc-1aoz840-2 { border-color: @overlay0; background: @surface0; &:enabled:hover { background: @surface1 !important; border-color: @accent; } } .CopyablePracticeSetInfo__LinkText-sc-14zdsnw-3, .CopyablePracticeSetInfo__ExplainerDiv-sc-14zdsnw-5 { background: @surface0; } .ThemePreview__PrimaryColorDiv-sc-zh51j9-0[style*="outline"] { &[style*="outline: rgb(255, 255, 255)"] { outline-color: @text !important; } &[style*="outline: rgb(13, 100, 242)"] { outline-color: @accent !important; } } } .ReactModal__Overlay { background: fade(@crust, 80%); .ReactModal__ActualContent { background: @base !important; .ModalBody-sc-1lg094f-0 > * { color: @text !important; &.ErrorExplainer__BodyDiv-sc-7nq4if-0 { .material-icons-outlined { color: @red; } .ErrorExplainer__TechnicalDetailsHeading-sc-7nq4if-3, .ErrorExplainer__ErrorIdParagraph-sc-7nq4if-4 { color: @subtext0; } } &.Input__StyledInput-sc-1632reg-0 { background: @surface0 !important; &::placeholder { color: @overlay2 !important; } &:focus { border-color: @accent; } } &.CookiePolicyModal__AccordionDiv-sc-dpnzx7-0 .AccordionItem__ContainerDiv-sc-1aj05j4-0 { &, .AccordionItem__HeaderDiv-sc-1aj05j4-1, .AccordionItem__BodyDiv-sc-1aj05j4-5 { background: @surface0; border-color: @overlay0; } .material-icons-outlined { color: @text; } .CookiePolicyModal__BlueAlertText-sc-dpnzx7-5 { color: @accent; } } } .ModalBody-sc-1lg094f-0:has(.Submit__ContentTitleH3-sc-1vceatk-1) svg path { fill: @accent; } .ModalTitle { background: @base; } .PracticeDispatchModalOptionLink__RootLink-sc-1wp7oro-0 { background: @surface1 !important; img { &[src*="flashcard-preview"] { @svg: escape( '' ); content: url("data:image/svg+xml,@{svg}"); } &[src*="match-preview"] { @svg: escape( '' ); content: url("data:image/svg+xml,@{svg}"); } &[src*="quiz-preview"] { @svg: escape( '' ); content: url("data:image/svg+xml,@{svg}"); } } } } } .NotificationCenterAlertListContainer__RootDiv-sc-1kyy25p-0 { background: @surface2; .FormativeNotificationsCard__HeaderDiv-sc-fv5hu9-1, .QuestionNotificationRow__IndentedBorderDiv-sc-f7ccw5-1, .QuestionNotificationRow__RootDiv-sc-f7ccw5-0 { border-color: @overlay2; } .FormativeNotificationsCard__RootDiv-sc-fv5hu9-0 { background: @surface2; border-color: @overlay2; &:hover { background: @overlay0; } } .QuestionNotificationRow__RootDiv-sc-f7ccw5-0:hover { background: transparent; } .material-icons-outlined { color: @text; &:hover { color: @accent; } } } .SectionCard__InactiveSectionIcon-sc-ir1v2v-3 { svg { path:nth-child(1) { fill: @overlay0 !important; } path:nth-child(2), path:nth-child(3) { fill: @text !important; } } } .SectionDetail__Header-sc-1aifgaj-2 { background: transparent; } .FormativeStudentHeader__UpperDiv-sc-yw00ql-12 { background: @crust !important; color: @text; &, .FormativeStudentHeader__InfoItem-sc-yw00ql-7 { border-color: @overlay0; } } .FormativeStudentHeader__NavStrip-sc-yw00ql-11 { .FormativeStudentHeader__ScrollableDiv-sc-yw00ql-9 { &::-webkit-scrollbar-track { background: @surface0 !important; border-color: @surface0 !important; } &::-webkit-scrollbar-thumb { background: @overlay0 !important; border-color: @overlay0 !important; } } background: @mantle; border-color: @overlay0; .selectedSection { border-color: @accent; } .formative-nav-item { &, .formative-nav-item-icon { color: @text; } .FormativeStudentNavItem__StyledMessageIcon-sc-i1u5ts-4 { color: @accent; } &:hover, &:focus { background: @surface1; color: @accent; border-color: @accent; } .fxpwVv { background-color: @green; } .hSVaRB { background-color: @text; } .kBznqt { background-color: @yellow; } .hfnlVy { background-color: @red; } .bDcnFV { background-color: @peach; } svg { path { stroke: @red; } } } } .checkbox-root { button { background: @surface0; border-color: @accent !important; box-shadow: none !important; } &.checked button { background: @accent !important; } .Checkbox__RadioCircleDiv-sc-1oy0ey9-3 { background: @contrast !important; } .Checkbox__IndicatorIcon-sc-1oy0ey9-5 { color: @contrast; } } .FormativeUnavailableMessage__InnerDiv-sc-14kxg7t-1 { border-color: @accent; background-color: @surface0; } .FormativeItemViewable__RootDiv-sc-m0kwch-0, .SectionDescription__SectionInformationCard-sc-nmaua7-0 { background: @mantle; .correct { outline-color: @green !important; background: color-mix(in srgb, @base, @green 25%) !important; } .incorrect { outline-color: @red !important; background: color-mix(in srgb, @base, @red 25%) !important; } &, .withFunctionalizedViewable__LeftColumn-sc-1636o2h-2, .withFunctionalizedViewable__RightColumn-sc-1636o2h-4 { border-color: @overlay0; } .SectionDescription__DividerDiv-sc-nmaua7-1 { border-color: @overlay0; } .ScoreCircle__RootDiv-sc-lj5glq-0 { &[style*="rgb(32, 213, 171)"] { background-color: @green !important; .material-icons-outlined { color: @contrast !important; } } &[style*="rgb(255, 222, 51)"] { background-color: @yellow !important; } &[style*="rgb(255, 138, 51)"] { background-color: @peach !important; } &[style*="rgb(255, 76, 77)"] { background-color: @red !important; .material-icons-outlined { color: @contrast !important; } } border-color: @overlay2 !important; } .BlankOutput__FillableEntity-sc-15mzaww-3, .BlankOutput__FillableNumericDiv-sc-15mzaww-2 { outline-color: @accent; color: @text; background: @surface0; .KatexOutput__RootDiv-sc-gu2jna-0 { [style*="color: rgb(204, 0, 0)"] { color: @red !important; } } } .match-table-grid-container table { th, tr, td { background: @surface0 !important; border-color: @overlay0; .checkbox-root button { background: @surface1; } } } .TargetElementViewable__BoxDiv-sc-1cp2mml-1 { background: @surface0; border-color: @accent; .TargetChoiceViewable__ContentDiv-sc-6nylj9-1 { background: @surface1; border-color: @overlay0; } .TargetElementViewable__AddSelectedChoiceButton-sc-1cp2mml-6 i { background: @accent; color: @contrast; } } .MatchingTable__Table-sc-1rhxmvo-1 { &, td, tr { border-color: @overlay0; } tr.isOver { outline-color: @accent; } } .ChoiceElementViewable__RootDiv-sc-viwu2x-0 { background: @surface0; border-color: @overlay0; &:hover, &.highlight { border-color: @accent; background: @surface1; } .ChoiceElementViewable__LabelRichText-sc-viwu2x-4 { background: transparent; color: @text; } .Button__StyledButton-sc-aum9f1-1, i { background: transparent !important; } } .ChoiceElement__RootDiv-sc-1mbtxfk-1 { background: transparent; } .ChoiceElement__StyledRawButton-sc-1mbtxfk-0 { .ChoiceElement__LabelRichText-sc-1mbtxfk-3, .material-icons-outlined { background: transparent; } } .ChoiceOptionViewable__RightSideDiv-sc-a2vwy6-2 { border-color: @overlay0; .ChoiceOptionViewable__StrickenOverlayDiv-sc-a2vwy6-7 { background-image: repeating-linear-gradient( 315deg, transparent, transparent 16px, @text 16px, @text 18px ); } } .InlineChoiceOutput__InlineChoiceOutputDiv-sc-1694w84-2 { background: @surface0; border-color: @accent; } .DrawingCardButton__RootButton-sc-u2qprg-1 { border-color: @overlay0; .DrawingCardButton__DrawingPreview-sc-u2qprg-3 { background: rgb(245, 246, 248); } .DrawingCardButton__HoverDarkScrim-sc-u2qprg-2 { background: fade(@crust, 75%); border-radius: 0; } .DrawingCardButton__ShowYourWorkPseudoButtonDiv-sc-u2qprg-0 { border-color: @overlay0; color: @text; background: @base; } .DrawingCardButton__IncompleteIndicatorDiv-sc-u2qprg-4 { background: @yellow; svg path { fill: @contrast; } } &:hover .DrawingCardButton__ShowYourWorkPseudoButtonDiv-sc-u2qprg-0 { background: @surface2; border-color: @accent; } } .DragAndDropImageDropLocation__DropLocationContainerDiv-sc-oq3fcx-1 { &:hover { .DragAndDropImageDropLocationPoint-sc-1v0z50f-0 { background: @surface1; border-color: @surface1; } .dropzone-tip::before { background: @surface1; } } .DragAndDropImageDropLocationPoint-sc-1v0z50f-0 { background: @surface0; border-color: @surface0; } .dropzone-tip::before { background: @surface0; } .isOver .dropzone { background: @surface1; .dropzone-number { background: @surface2 !important; } } .dropzone { &:hover, &.selected { background: @surface1; .dropzone-number { background: @surface2 !important; } } border-color: @accent !important; background: @surface0; .dropzone-number { background: @surface1; } } } .DragAndDropChoice__RootDiv-sc-1wzeg1h-3 { background: @surface0; border-color: @overlay0; .Button__StyledButton-sc-aum9f1-1, .DragAndDropChoice__DragIcon-sc-1wzeg1h-1 { background: transparent; } &.selected { background: @surface1; } } .DragAndDropDropzoneOutput__RootDiv-sc-1is7exh-0 { background: @surface0; border-color: @accent; &.hasAnswer { border-color: @overlay0; } } .AnswerCorrectnessIndicator__CircleDiv-sc-18hnk99-1 { &.correct { background: @green; } .material-icons-outlined { color: @contrast; } } .ShortAnswerViewableDetails__InputAutosizeTextarea-sc-1ugk4gk-0 { background: @surface0; border-color: @overlay0; color: @text; } .ExpandableAccordionHeader__RootButton-sc-cu02pz-0 { background: transparent; } .GraphViewableDetails__GraphAndControlsDiv-sc-13yx2r4-2 { .VerticalButton__StyledButton-sc-1h2we7r-2 { &:disabled { i, span { color: @subtext0; } } &:not(:disabled):hover, &:not(:disabled):focus-within { div { background: @surface0; } span { color: @accent; } } } .Graph__ContainerDiv-sc-1y56z00-0 { border-color: @overlay0; background: @surface0; svg { line[stroke="rgb(4,28,68)"], marker[stroke="rgb(4,28,68)"] { fill: @subtext1; stroke: @subtext1; } path[stroke="rgb(80,95,121)"] { fill: @subtext0; stroke: @subtext0; } path[stroke="rgb(192,197,207)"] { fill: @overlay0; stroke: @overlay0; } path[stroke="rgb(13,100,242)"] { stroke: @blue; fill: @blue; } text { stroke: @surface0 !important; fill: @text; } ellipse[fill="rgb(13,100,242)"] { stroke: @surface0; fill: @blue; } } .Coords__CoordsDiv-sc-1fj077e-1 { background: @surface2; } } } } .MediaSlider__RootSpan-sc-1gz67jn-0 { .TrimmerMarker__TooltipDiv-sc-1f17hi4-1 { background: @surface2; color: @text; } .Thumb__RootSpan-sc-yv6w5k-0 { background: @accent; z-index: 2; } .Segment__SegmentSpan-sc-r0cy9o-0 { background: @surface0 !important; } .TrimmerMarker__RootSpan-sc-1f17hi4-0 { background: @overlay0; z-index: 1; } } .slider { background: @surface1; .thumb { background: @overlay0; color: @text; } } .ExpandedDrawing__BodyDiv-sc-cz2rcw-0 { .DrawingToolbar__RootDiv-sc-2xuxy3-0 { &, .DrawingToolbar__ToolDiv-sc-2xuxy3-3 { background: @surface0; color: @text; } .DrawingToolbar__ToolDiv-sc-2xuxy3-3:hover { &, .svg-icons, .material-icons-outlined { color: @accent; } } .selected { &::after { background: @accent; } color: @accent; } } .DrawingSidebar__ExpandedAnswerDiv-sc-1hvcy70-0 { background: @mantle; } .DrawingSidebar__SidebarTopExplainer-sc-1hvcy70-1 { background: @base; border-color: @overlay0; color: @text; .DrawingSidebar__StyledSvgIcon-sc-1hvcy70-5 { color: @text; } } .SidePicker__RootDiv-sc-xie0qr-0 { background: @base; border-color: @overlay0; } } .MathLiveInput__RootDiv-sc-tki2b-0 { .keyboard-button-wrapper .svg-icons svg path { fill: @accent !important; } color: @text; border-color: @overlay0; background: @surface0; &:focus-within, &:hover { border-color: @accent; } &.invalid { color: @red; } math-field { --caret-color: @accent; --selection-background-color: fade(@accent, 50%); --selection-color: @text; --correct-color: @text; --incorrect-color: @red; --latex-color: @blue; --placeholder-color: @blue; } .ML__keyboard--plate { --keyboard-text: @text; --keyboard-text-active: @accent; --keyboard-background: @surface0; --keycap-background: @surface1; --keycap-background-active: @surface2; --keycap-background-border: @overlay0; --keycap-background-border-bottom: @overlay0; --keycap-text: @text; --keycap-secondary-text: @subtext0; --keycap-text-active: @accent; --keycap-modifier-background: @surface2; --keycap-modifier-background-active: @overlay0; --keycap-modifier-border: @overlay1; --keycap-modifier-border-bottom: @overlay1; [data-tooltip]::after { background-color: @surface2; color: @text; } border-color: @overlay0 !important; } } .ML__keyboard.alternate-keys { --keyboard-alternate-background: @surface2; --keyboard-alternate-background-active: @overlay0; --keyboard-alternate-text: @text; --keyboard-alternate-text-active: @text; } #mathlive-popover-panel { background: @surface2; color: @text; box-shadow: 0 14px 28px fade(@crust, 25%) 0 10px 10px fade(@crust, 22%); li:hover { background: @overlay0; } &::after { border-color: @surface2 transparent; } } .FullPointsAnimation__AbsoluteContainerDiv-sc-mzm76r-0, .ScoreCircle__LottieWrapperDiv-sc-lj5glq-1, .Summary__SummaryDiv-sc-1ofq6fd-0, .MatchingSessionSummary__CheckmarkContainerDiv-sc-d3unim-2 { svg { path[fill="rgb(32,213,171)"], path[fill="rgb(33,214,170)"] { fill: @green !important; } path[fill="rgb(255,138,51)"] { fill: @peach !important; } path[fill="rgb(255,222,51)"] { fill: @yellow !important; } path[fill="rgb(255,76,77)"], path[fill="rgb(255,76,76)"] { fill: @red !important; } path[fill="rgb(201,68,204)"] { fill: @mauve !important; } path[fill="rgb(0,165,249)"] { fill: @blue !important; } path[fill="rgb(255,255,255)"], path[fill="rgb(242,242,242)"] { fill: @contrast !important; } path[stroke="rgb(32,213,171)"], path[stroke="rgb(33,214,170)"] { stroke: @green !important; } path[stroke="rgb(255,138,51)"] { stroke: @peach !important; } path[stroke="rgb(255,222,51)"] { stroke: @yellow !important; } path[stroke="rgb(255,76,77)"], path[stroke="rgb(255,76,76)"] { stroke: @red !important; } path[stroke="rgb(201,68,204)"] { stroke: @mauve !important; } path[stroke="rgb(0,165,249)"] { stroke: @blue !important; } path[stroke="rgb(255,255,255)"], path[stroke="rgb(242,242,242)"] { stroke: @contrast !important; } } } .Elements__JoinLayoutDiv-sc-1qtb2ho-0 { background: @base; .SplitColumnLayout__Card-sc-4mcl10-0 { background: @surface0; .Login__ContentDiv-sc-5w2jun-0, .Login__LoginServiceButtonsRowDiv-sc-5w2jun-3 { .Button__StyledButton-sc-aum9f1-1 { background: @surface1 !important; &:hover { background: @surface2 !important; } } .material-icons-outlined { color: @text; } .NewselaServiceLoginButton__QuestionTextDiv-sc-mk13mj-1 { color: @text; } .NewselaServiceLoginButton__ActionDiv-sc-mk13mj-2 { color: @accent; } } } .JoinQuickCode__StyledLink-sc-1uhfett-2, .CallToActionLink__StyledLink-sc-yuiy65-0, .Login__ForgotLink-sc-5w2jun-1 { color: @accent; } .react-code-input { input { background: @surface1; border-color: @overlay0; &:focus-within { border-color: @accent; } } &:not(:focus-within).empty [data-id="0"] { border-color: @accent; } } .JoinQuickCode__StyledPrimaryButton-sc-1uhfett-5 { background: @surface1; &:hover { background: @surface2; } } .ValidatedInputNew__StyledInput-sc-18vdili-4 { background: @surface1; border-color: @overlay0 !important; color: @text; } } .FormativeStudentFooter__BottomDiv-sc-6tj89c-3 { border-color: @overlay0; } .StudentFormativeStatus__RootDiv-sc-y86tx8-1 { &.bQdPlK { background: @green; } &, .material-icons-outlined { color: @contrast; } } .FloatingToolButton__FloatingButton-sc-1gy4xsl-0 { background: @overlay0; &:hover, &:enabled:hover, &:focus, &:enabled:focus { background: @overlay1; } .material-icons-outlined { color: @accent; } } .PracticeSet__StyledHeader-sc-1wup6tb-6 { background: @surface0; border-color: @overlay0; input.ReactiveTextInput__StyledInput-sc-go3drs-2 { color: @text !important; &::placeholder, &:focus::placeholder { color: @subtext0 !important; } } .HeaderBackLink__TertiaryButtonLink-sc-1vx1tro-0, .Button__StyledButton-sc-aum9f1-1 { background: @surface1 !important; color: @accent !important; &:not([disabled]):hover { background: @surface2; } } .PracticeSet__DividerDiv-sc-1wup6tb-4 { background: @overlay0; } } .PracticeSet__ContentDiv-sc-1wup6tb-1 { .AutoSizeInput__StyledInput-sc-ops4en-2 { color: @text; background: transparent !important; &:focus { border-color: @subtext0; } } .FlashcardSide__RootDiv-sc-amoro3-1 { background: @surface0; color: @text; } .PracticeItemEditor__HeaderDiv-sc-1jko4q4-0 { background: @surface1; } .PracticeItemEditor__ContentDiv-sc-1jko4q4-2 { background: @surface0; .TextareaCard__RootDiv-sc-qx9s19-0 { background: @surface1; border-color: @overlay0; textarea { color: @text; } } .MediaButton__StyledButton-sc-12h2vjb-0 { background: @surface1; border-color: @overlay0; color: @text; &:hover { background: @surface2; color: @accent; } } } } .Banner__Root-sc-yf4o5r-0 { &.error { .material-icons-outlined { color: @red; } border-color: @red; } background: @surface2; color: @text; } .FileUploadButton__DropZoneDiv-sc-88u8tg-2 { background: @surface0; border-color: @accent; .material-icons-outlined { color: @accent; } } .DividerWord__LineDiv-sc-59xl7-1 { background: @overlay0; } .DividerWord__WordDiv-sc-59xl7-2 { color: @text; } .MinimalFormativeStudentHeader__RootDiv-sc-14rcnaq-0 { border-color: @overlay0; } .FormativeItemViewable__FeedbackMessagesListDiv-sc-m0kwch-1 { .FeedbackMessagesList__MessagesListDiv-sc-9o5dsw-0 { background: @surface1; .FeedbackMessagesList__EmptyDiv-sc-9o5dsw-1 svg { path:nth-child(1) { fill: @yellow; } path:nth-child(2) { fill: @green; } path:nth-child(3) { fill: @mauve; } path:nth-child(4) { stroke: @peach; } path:nth-child(5) { stroke: @peach; } } } .FeedbackMessage__FeedbackBoxDiv-sc-q3ku9d-2 { background: @surface2; border-color: @overlay2; } .FeedbackMessageComposer__RootDiv-sc-vs8711-0 { border-color: @overlay0; .FeedbackMessageComposer__RichTextContainerDiv-sc-vs8711-3 { border-color: @overlay1; color: @text; .public-DraftEditorPlaceholder-inner { color: @subtext0; } } } } .Toolbar__RootDiv-sc-1e3lohg-0 { border-color: @overlay0; box-shadow: @overlay0 0 1px 3px 0; &::before, &::after { border-color: @surface2 transparent transparent; } &, .buttonWrapper button { background: @surface2; } .buttonWrapper button { &:hover { background: @overlay0; } &.active { color: @accent; svg { fill: @accent; } } svg { fill: @text; } color: @text; } } .TeacherPacedStart__RootDiv-sc-1f4f5sd-0 { background: @surface0 !important; } .FeedbackMessageIcon__UnreadJewelDiv-sc-1x1yblc-1 { background: @red; box-shadow: @text 0 0 0 2px; } .CookiePolicyBanner__ContainerDiv-sc-1p3fxjn-1 { background: @surface0; border-color: @accent; .Button__StyledButton-sc-aum9f1-1 { background: @surface1; &:hover { background: @surface2; } } } .GameContainer__RootDiv-sc-1c3jzzv-0 { background: @base !important; .Timer__RootDiv-sc-bbbpy2-0 { background: @surface1; &, i { color: @text; } } .Header__HeaderDiv-sc-327vcg-0 { background: @surface0; border-color: @overlay0; .HeaderBackLink__TertiaryButtonLink-sc-1vx1tro-0, .Button__StyledButton-sc-aum9f1-1 { background: @surface1; color: @accent; &:hover { background: @surface2; } } } .ThemePicker__ToggleItem-sc-juof75-3 { div { outline-color: @text !important; } &[aria-checked="true"], &[aria-checked="true"] div { outline-color: @accent !important; } } .TitleCard__StartButton-sc-xz0ejb-1 { background: @accent; color: @base; } .QuizSession__BodyDiv-sc-4aco0-0 { .QuizSession__DividerDiv-sc-4aco0-4 { background: @overlay0; } .AnswerChoiceCard__CardButton-sc-lns4c-0 { &::before { box-shadow: @overlay0 0 0 0 1px; } &.correct::before { animation: 1.2s ease 0s 1 normal forwards running catppuccin-formative-practiceset-quiz-correct; } &.incorrect::before { animation: 1.2s ease 0s 1 normal forwards running catppuccin-formative-practiceset-quiz-incorrect; } .AnswerChoiceCard__CorrectnessPill-sc-lns4c-2 { &.correct { background: @green; i, span { color: @contrast; } } background: @red; i, span { color: @contrast; } } .AnswerChoiceCard__CorrectnessOverlay-sc-lns4c-3 { &.correct { background: @green; } i { color: @contrast !important; } background: @red; } } } .MatchingSessionSummary__RootDiv-sc-d3unim-0, .MatchingSessionSummary__CheckmarkOverlayDiv-sc-d3unim-1 { background: @base; .Glow__RootDiv-sc-1c8wp5s-0 { background: @accent !important; color: @contrast; } .MatchingSessionSummary__SessionDiv-sc-d3unim-13 { border-color: @overlay0; &.highlight { background: fade(@yellow, 25%); } } } .LatestPerformances__PerformanceDiv-sc-g3qin-2, .Leaderboard__PerformanceDiv-sc-152arb5-3 { border-color: @overlay0; } .MatchingSession__ContentDiv-sc-edrizy-0 { .ProgressBar__RootDiv-sc-ly2f4w-0 { .Glow__FlashDiv-sc-1c8wp5s-1 { background: transparent; } .ProgressBar__PointsContainerSpan-sc-ly2f4w-3 .Glow__RootDiv-sc-1c8wp5s-0 { background: @surface0 !important; color: @text; } .ProgressBar__BarDiv-sc-ly2f4w-1 { background: @surface0; border-color: @overlay0; .Glow__RootDiv-sc-1c8wp5s-0 { background: @accent !important; } } } } .PracticeSessionCard__CardButton-sc-wwcpxc-0 { border-color: @overlay0; } .FlashcardSide__RootDiv-sc-amoro3-1 { background: @surface0; border-color: @overlay0; color: @text; } .StreakProgressBar__Progress-sc-1b8tyg3-2 { background: @surface0; .StreakProgressBar__ProgressBarDiv-sc-1b8tyg3-3 { background: @accent; } } .StreakProgressBar__StyledSvgIcon-sc-1b8tyg3-4 { svg path { fill: @yellow; stroke: @contrast; } &.visible { animation: 0.5s ease 0s 1 normal none running catppuccin-formative-practiceset-quiz-streak; } } .PracticeSession__AnswerButton-sc-1t2vn9a-3 { color: @contrast; &.red { background: @red; } &.green { background: @green; } } } .PillToggleGroup__Item-sc-12fkyq8-1 { &[aria-checked="true"] { background: @surface0; color: @accent; } &:hover { background: @surface0; } border-color: @overlay0; color: @text; } .FeedbackButton__StyledButton-sc-1b7u8ss-0 { background: @surface2; i { color: @text; } } @keyframes catppuccin-formative-practiceset-quiz-correct { 0% { box-shadow: @overlay0 0 0 0 1px; } 70% { box-shadow: @overlay0 0 0 0 1px; } 100% { box-shadow: @green 0 0 0 3px; } } @keyframes catppuccin-formative-practiceset-quiz-incorrect { 0% { box-shadow: @overlay0 0 0 0 1px; } 70% { box-shadow: @overlay0 0 0 0 1px; } 100% { box-shadow: @red 0 0 0 3px; } } @keyframes catppuccin-formative-practiceset-quiz-streak { 0% { filter: drop-shadow(fade(@yellow, 80%) 0 0 0); transform: scale(0.8); } 50% { filter: drop-shadow(fade(@yellow, 80%) 0 0 12px); transform: scale(1.3); } 100% { filter: drop-shadow(fade(@yellow, 80%) 0 0 0); transform: scale(1); } } .Shelf__RootDiv-sc-5aism7-0 { background: @surface0; .ShelfTile__RootButton-sc-1oc4c00-0 { background: @surface1; &:hover { background: @surface2; box-shadow: @accent 0 0 0 1px; .label { color: @accent; } } .ShelfTile__IconDiv-sc-1oc4c00-1 { background: @accent !important; i { color: @contrast; } } } } img.spinner { @svg: escape( '' ); content: url("data:image/svg+xml,@{svg}"); } .NoFormatives__StyledImg-sc-1v9g5eg-4 { @svg: escape( '' ); content: url("data:image/svg+xml,@{svg}"); } .PracticeSetGrid__EmptyStateDiv-sc-1yuxflk-1 img { @svg: escape( '' ); content: url("data:image/svg+xml,@{svg}"); } } }