Google Classroom - Moonlight

Custom theme for Google Classroom

Terá de instalar uma extensão como Tampermonkey, Greasemonkey ou Violentmonkey para instalar este script.

You will need to install an extension such as Tampermonkey or Violentmonkey to install this script.

Terá de instalar uma extensão como Tampermonkey ou Violentmonkey para instalar este script.

Terá de instalar uma extensão como Tampermonkey ou Userscripts para instalar este script.

Terá de instalar uma extensão como Tampermonkey para instalar este script.

Terá de instalar uma extensão de gestão de scripts de utilizador para instalar este script.

(Já tenho um gestor de scripts de utilizador, deixe-me instalá-lo!)

Terá de instalar uma extensão como Stylus para instalar este estilo.

Terá de instalar uma extensão como Stylus para instalar este estilo.

Terá de instalar uma extensão como Stylus para instalar este estilo.

Terá de instalar uma extensão de gestão de estilos de utilizador para instalar este estilo.

Terá de instalar uma extensão de gestão de estilos de utilizador para instalar este estilo.

Terá de instalar uma extensão de gestão de estilos de utilizador para instalar este estilo.

(Já tenho um gestor de estilos de utilizador, deixe-me instalá-lo!)

// ==UserScript==
// @name        Google Classroom - Moonlight
// @namespace   Violentmonkey Scripts
// @match       https://classroom.google.com/*
// @grant       none
// @version     2.2
// @author      Risuleia
// @icon        https://i.pinimg.com/originals/98/d3/a2/98d3a283f98cded8e639957e935bd373.png
// @require     https://code.jquery.com/jquery-3.6.0.min.js
// @license     MIT
// @description Custom theme for Google Classroom
// ==/UserScript==

// ============ START ============ //
(function() {
    'use strict';

    var style = `
/* css */
@import url('https://fonts.googleapis.com/css2?family=Caveat&display=swap');

/* background */
body {
   background: rgba(21,31,46,0.8) url("https://i.imgur.com/LHj4Gil.jpg") center/100% fixed;
   background-repeat: no-repeat;
   background-size: cover;
}
/* global setting */
* {
  font-family: Caveat;
  color: #fff !important;
}
* {
  border-color: rgba(21,31,46,0.8);
}
* {
  box-shadow: none !important;
}

/* scrollbar */
  ::-webkit-scrollbar {
    background: transparent;
    width: 5px;
}
  ::-webkit-scrollbar-corner {
    background: transparent;
}
  ::-webkit-scrollbar-track {
  background: transparent;
}
  ::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg, rgba(6,171,255,1) 5%, rgba(102,0,204,1) 97%);
  -webkit-border-radius: 1ex;
}
/* Annoucement box */
.hgjBDc {
  background: rgba(21,31,46,0.8);
}
.vnnr5e .I9OJHe, .vnnr5e .CIy9F {
  background: rgba(21,31,46,0.8);
}
.vnnr5e:not(.RDPZE):hover .I9OJHe, .vnnr5e:not(.RDPZE):hover .CIy9F {
  background: rgba(21,31,46,0.8);
}
.qk0lee:focus {
  background: rgba(21,31,46,0.8);
  color: #fff;
}
.Erb9le:not(.RDPZE) .qmMNRc:hover {
  color: #fff;
}
.rxO3db {
  background: rgba(21,31,46,0.8);
}
.e19J0b, .Y5sE8d:not(.RDPZE) {
  background: rgba(21,31,46,0.8);
}
.l4V7wb {
  color: #fff;
  background: rgba(21,31,46,0.8);
  border: 1px solid #4c4c4c;
  border-radius: 4px;
}
.T2Ybvb.KRoqRc.editable {
  font-size: 1.5rem;
}
.Erb9le:not(.RDPZE) .qmMNRc.y7OZL .DPvwYc {
  background-image: linear-gradient(to right, #06abff 5%, #6600CC 97%) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
}
.Y5sE8d:not(.RDPZE) .snByac {
  font-size: 1.05rem;
  background-image: linear-gradient(to right, #06abff 5%, #6600CC 97%) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
}
.Erb9le:not(.RDPZE) .qmMNRc.y7OZL {
  background: rgba(21,31,46,0.8) !important;
}
.Y5sE8d:not(.RDPZE) {
  background: rgba(21,31,46,0.8) !important;
}
.hVNH5c .K0NPx {
  background: rgba(21,31,46,0.8) !important;
}
.FtBNWb {
  background: rgba(21,31,46,0.8) !important;
}
.I7OXgf.ZEeHrd {
  background: rgba(21,31,46,0.8) !important;
}
.jfvobd {
  color: #ffffff !important;
}
.GWh4Ge .kx3Hed {
  color: #ffffff !important;
}
/* top navbar */
.Hwv4mb, .xHPsid .hN1OOc {
  font-family: Caveat;
  font-size: 2rem;
}
.DShyMc-MTA5NzA3NjA1MzQy .eumXzf:after {
  -webkit-border-image: linear-gradient(to right, #06abff 5%, #6600CC 97%);
  border-image-slice: 9;
}
.DShyMc-MTA5NzA3NjA1MzQy .VnOHwf-Tvm9db {
  background-image: linear-gradient(to right, #06abff 5%, #6600CC 97%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.VnOHwf-Tvm9db {
  background-image: linear-gradient(to right, #06abff 5%, #6600CC 97%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.VnOHwf-Tvm9db {
  background-image: linear-gradient(to right, #06abff 5%, #6600CC 97%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.VnOHwf-Tvm9db {
  background-image: linear-gradient(to right, #06abff 5%, #6600CC 97%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.eumXzf:after {
  -webkit-border-image: linear-gradient(to right, #06abff 5%, #6600CC 97%);
  border-image-slice: 9;
}
/* loading gradient */
.DShyMc-AaTFfe .bFjUmb-Ysl7Fe.kRqvHe {
  background: linear-gradient(to right, #06abff 5%, #6600CC 97%) !important;
}
.aP3ZPb.kRqvHe.bFjUmb-Ysl7Fe {
  background: linear-gradient(to right, #06abff 5%, #6600CC 97%) !important;
}
.bFjUmb-Wvd9Cc:not(.O1l69):not(.J1HJOd):not(.TIunU) {
  background: linear-gradient(to right, #06abff 5%, #6600CC 97%) !important;
}
.aP3ZPb {
  background: linear-gradient(to right, #06abff 5%, #6600CC 97%) !important;
}

/* join/create class */
.D3oBEe .qTs5Xc, .fyExH {
  background: none;
}
[aria-checked="true"]>.rq8Mwb, [aria-checked="mixed"]>.rq8Mwb {
  background: #ffffffc4;
  border-radius: 5px;
}

/* font fix */
/* material post dates */
.tmMkWb {
  font-family: Caveat;
  font-size: 1.4em;
}
/* class details */
.uTUgB, .csjh4b {
  font-family: Caveat;
}
.csjh4b {
  font-size: 1.78rem;
}
/ "upcoming" /
.EZrbnd .sxa9Pc {
  font-family: Caveat;
}
/* member names */
.asQXV {
  font-family: Caveat;
  font-size: 1.2rem;
}
/* attachments */
.QDKOcc {
  font-family: Caveat;
  font-size: 1.1rem;
}
/* due work alert */
.sdDCme {
  font-size: 1.12rem;
}
.VBEdtc-Wvd9Cc:hover {
  color: #fff;
  font-size: 1rem;
}
/* textarea text */
textarea {
  font-family: Caveat !important;
  font-size: 1.5em !important;
}
/* default announement text */
.K6Ovqd {
  font-size: 1.5rem !important;
}
.fidHdf {
  margin: 0 !important;
}
/* semi-global text */
.EZrbnd {
  font-family: Caveat;
}
/* announement content */
.obylVb:not(:empty) {
  font-size: 1.2rem;
}
/* comments content */
.tLDEHd {
  font-size: 1.2rem
}
/* topic names */
.PazDv {
  font-family: Caveat;
  font-size: 2.5rem;
}
/* people list */
.XjYjO {
  font-family: Caveat;
  font-size: 2.5rem;
}
/* class name */
.YVvGBb {
  font-family: Caveat;
}
.A6dC2c {
  font-size: 1.15rem;
}
.dDKhVc {
  font-size: 1rem;
}
.tLDEHd {
  font-family: Caveat;
}
/* materials, questions, assignments, etc */
.tL9Q4c {
  font-family: Caveat;
  font-size: 1.5rem;
}
.NE9bBb {
  color: #fff !important;
}
/* gradebook */
.VnOHwf-Tvm9db {
  font-family: Caveat;
}
.EhRlC {
  font-size: 1.5rem !important;
  color: #1e8e3e !important;
}
.lYU7F {
  font-size: 1.5rem !important;
  color: #c5221f !important;
}
.ppMo6b {
  font-size: 1.3rem;
  color: #b3d3ec !important;
}
/* account panel */
.gb_1b {
  color: #fff;
}
.gb_wb.gb_wb {
  color: #fff;
}
.gb_l .gb_mb {
  color: #fff;
}
.gb_sb.gb_sb {
  color: #fff;
}
.gb_wb.gb_wb {
  color: #fff;
}

/* google drive attachment window */
.yawtRb, .TNg8Ce, .ye3Lg, .Y7Vyje {
  background: none !important;
}
.jfvobd {
  color: #fff;
}
.GWh4Ge .kx3Hed {
  color: #ffffffad;
}
.w7qIhd {
  background-image: linear-gradient(to right, #06abff 5%, #6600CC 97%) !important;
}
.TNg8Ce .KKjvXb .kx3Hed {
  background-image: linear-gradient(to right, #06abff 5%, #6600CC 97%) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
}
.eizQhe-ObfsIf-mJRMzd-PFprWc, .eizQhe-ObfsIf-jXK9ad, {
  background: rgba(21,31,46,0.8);
}
.ndfHFb-jyrRxf-haAclf .ndfHFb-XuHpsb-haAclf {
  background: none;
}
.eizQhe-ObfsIf-jXK9ad {
  color: #dadce073;
}
.pGOlGd .eizQhe-ObfsIf-mJRMzd:not(.eizQhe-ObfsIf-gk6SMd) .eizQhe-mJRMzd-V1ur5d-fmcmS {
  color: #ffffffc4;
}
.iXlbzd, .ndfHFb-jyrRxf-tJHJj-r4nke, .ndfHFb-jyrRxf-haAclf .ndfHFb-rBfmuc-E2o6qc-V67aGc {
  color: #ffffffc4;
}
.ndfHFb-jyrRxf-tJHJj {
  background: none;
}
.eizQhe-jyrRxf-V1ur5d-r4nke>.eizQhe-mJRMzd-V1ur5d-fmcmS, .ndfHFb-vWsuo-s4QLm-haAclf > span {
  color: #ffffffc4;
}
.ndfHFb-vWsuo-s4QLm-haAclf > span:nth-child(1) {
  border-right: 1px solid #ffffffc4;
  padding-right: 5px;
}
.pGOlGd .eizQhe-ObfsIf-mJRMzd-V1ur5d-haAclf, .TgyWAb-ObfsIf-haAclf {
  border-top: 1px solid;
  border-image: radial-gradient(circle, #dadce073 60%, transparent 95%);
  border-image-slice: 9;
}
.picker-dialog.XKSfm-Sx9Kwc {
  background: rgba(21,31,46,0.8) !important;
}
.yawtRb .Icoilb svg, .yawtRb .lVYtmc svg, .kZyufc svg {
  fill: #ffffffc4;
}
.iXlbzd, .pGOlGd .ndfHFb-ObfsIf-haAclf .ndfHFb-rBfmuc-E2o6qc-V67aGc {
  color: #ffffffc4;
}
.pGOlGd .ndfHFb-jyrRxf-haAclf .eizQhe-jyrRxf-V1ur5d-haAclf svg {
  fill: #fff;
}
.DrCRke {
  opacity .8;
}
.SI7vke ::-webkit-scrollbar-thumb {
  background: linear-gradient(to right, #06abff 5%, #6600CC 97%);
}
.SI7vke ::-webkit-scrollbar-track {
  background: rgba(21,31,46,0.8) !important;
}
.SI7vke ::-webkit-scrollbar {
  width: 5px !important;
}
.eizQhe-ObfsIf-jXK9ad:hover {
  transform: scale(1.12);
  transition: transform .45s ease-out;
  z-index: 999;
}
.ndfHFb-jyrRxf-oKdM2c:hover {
  transform: scale(1.035);
  transition: transform .45s ease-out;
  z-index: 999;
}

/* Logo */
.s7ovNb {
  visibility: hidden;
  overflow: visible;
}
.s7ovNb::after {
  line-height: 3rem;
  overflow: visible;
  visibility: visible;
  position: absolute;
  top: 7px;
  left: 1.2em;
  content: 'Google Classroom';
  font-family: Caveat;
  font-size: 2.8rem;
  background-image: linear-gradient(to right, #06abff 5%, #6600CC 97%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.XIpEib {
  overflow: visible;
}
/* scheduled */
.VBEdtc-Wvd9Cc:hover {
  font-size: 1.5rem !important;
}
.IMvYId, .IMvYId:visited {
  font-size: 1.05rem;
}
.DShyMc-MzI2OTAxNzI5NjYw .tUJKGd:not(.xp2dJ):not(.rZXyy):hover.idtp4e {
  background: rgba(21,31,46,0.8);
}
.p0oLxb>.bnqxkd {
  background: rgba(21,31,46,0.8);
}
.QkA63b .GJYBjd {
  background: rgba(21,31,46,0.8);
}
.DShyMc-MzI2OTAxNzI5NjYw.bFjUmb-Ysl7Fe, .DShyMc-MzI2OTAxNzI5NjYw .bFjUmb-Ysl7Fe, .DShyMc-MzI2OTAxNzI5NjYw .VUoKZ {
  background: rgba(21,31,46,0.8) !important;
}
.y2d25 {
  background: rgba(21,31,46,0.9);
}
.dKKcxf, .RPt7lf.miHM0e>.NE9bBb {
  background: rgba(21,31,46,0.8);
}
.GJYBjd:not(.CeoRYc) {
  background: rgba(21,31,46,0.9) !important;
}
.p0oLxb {
  background: rgba(21,31,46,0.9) !important;
}
/* transitions */
.GWZ7yf:hover, .Aopndd:hover, .d4Fe0d:hover, .v9TZ3c:hover {
  transform: scale(1.05) !important;
  transition: transform 0.2s linear !important;
}
.ZoT1D:hover.idtp4e {
  background: rgba(21,31,46,0.8) !important;
}
.tUJKGd:hover .SFCE1b, .UISY8d-Ysl7Fe:not(.S6Vdac):hover, .OlXwxf.OlXwxf:hover {
  background: rgba(21,31,46,0.8) !important;
  transform: scale(1.05) !important;
  transition: transform 0.2s linear !important;
}
.GWZ7yf:focus-within {
  transform: scale(1.05) !important;
  tansition: transform: 0.2s linear !important;
}
.OlXwxf .SFCE1b:hover {
  background: rgba(21,31,46,0.8) !important;
}
.uArJ5e.UQuaGc.kCyAyd.l3F1ye.TNOizd.pOf0gc.UJYYgf:hover {
  transform: scale(1.12);
  transition: transform .45s ease-out;
  z-index: 999;
}
.EmVfjc.qs41qe .xq3j6.ERcjC .X6jHbb {
  animation: spinner-left-spin 1333ms cubic-bezier(0.4,0.0,0.2,1) infinite both, loadingAnim 0.5s linear infinite both;
}
@keyframes loadingAnim{
  0% {border-color: #06abff}
  100% {border-color: #6600CC 97%}
}
/* transition fix */
.Sgw65b {
  overflow: visible !important;
  max-width: 78.1%;
}
/* transparency */
.gHz6xd {
  background: rgba(21,31,46,0.8);
}
.Aopndd {
  background: rgba(21,31,46,0.8);
}
.d4Fe0d {
  background: rgba(21,31,46,0.8) !important;
}
.qk0lee {
  background: rgba(21,31,46,0.8);
}
.joJglb {
  background: rgba(21,31,46,0.8);
}
.GWZ7yf {
  background: rgba(21,31,46,0.8);
}
.IzVHde {
  background: rgba(21,31,46,0.8);
}
.OX4Vcb {
  background: rgba(21,31,46,0.8);
  opacity: 0.7;
}
.ETRkCe {
  background: rgba(21,31,46,0.8) !important;
}
.Xzp3fc {
  background: rgba(21,31,46,0.8);
  border-radius: 8px;
}
.FpfvHe {
  background: rgba(21,31,46,0.8);
  border-radius: 8px;
}
.CJXzee {
  background: rgba(21,31,46,0.8);
  border-radius: 8px;
}
.CJXzee a.rUnD6d {
  background: rgba(21,31,46,0.8);
  border-radius: 8px;
  background-clip: padding-box;
}
.l3F1ye:not(.RDPZE) {
  background: rgba(21,31,46,0);
  border-radius: 8px;
}
.pEwOBc {
  background: rgba(21,31,46,0.8);
  border-radius: 8px;
}
.feojCc {
  background: rgba(21,31,46,0.8);
}
.Xi8cpb, a.Xi8cpb {
  background: rgba(21,31,46,0.8);
}
.tUJKGd:not(.xp2dJ).ndcsBf .idtp4e {
  background: rgba(21,31,46,0.8);
}
.DShyMc-MTA5NzA3NjA1MzQy .tUJKGd:not(.xp2dJ).ndcsBf .idtp4e {
  background: rgba(21,31,46,0.8);
}
.SS7JKe .qRUolc {
  background: rgba(21,31,46,0.8) !important;
}
.Shk6y {
  font-size: 1.5rem;
  background-image: linear-gradient(to right, #06abff 5%, #6600CC 97%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.pn5mce .MQL3Ob, .a4Vkrf, .ybOdnf:not(.RDPZE).iWO5td, .jBmls {
  background: rgba(21,31,46,0.8) !important;
}
.ry3kXd {
  background: rgba(21,31,46,0.8) !important;
}
.e19J0b .CeoRYc {
  background: rgba(21,31,46,0.8) !important;
}
.CDELXb {
  background: rgba(21,31,46,0.8) !important;
}
.I5Bhjd {
  background: rgba(21,31,46,0.8) !important;
}
.cLpBac {
  background: rgba(21,31,46,0.8) !important;
  background-clip: padding-box !important;
}
.l4V7wb:not(.Fxmcue) {
  border: none !important;
}
.dKKcxf, .STMvPe {
  background: rgba(21,31,46,0.8) !important;
}
.ncFHed .MocG8c.KKjvXb, .OA0qNb .LMgvRb[aria-selected="true"], .tWfTvb [role="option"][aria-selected="true"] {
  background: rgba(21,31,46,0.8) !important;
}
.gb_l.gb_1a.gb_2a {
  background: rgba(21,31,46,0.8);
}
.x7zFFe table {
  background: rgba(21,31,46,0.8) !important;
}
.HMUCnd {
  background: rgba(21,31,46,0.8) !important;
}
.jgvuAb.iWO5td .ncFHed {
  background: rgba(21,31,46,0.8) !important;
}
.vUBwW .DPvwYc, .TGnLfc {
  color: white !important;
}
.DShyMc-MzI2ODk3OTk4MjE5 .mxmXhf {
  fill: #fff !important;
}
.tWfTvb, .XaepId, .NE9bBb, .aVeDNe .MQL3Ob {
  background: rgba(21,31,46,0.8) !important;
}
.JPdR6b.qjTEB {
  background: rgba(21,31,46,0.8) !important;
}
.fWf7qe .Yalane {
  background: rgba(21,31,46,0.8) !important;
  background-clip: padding-box !important;
}
.z80M1.FwR7Pc .jO7h3c {
  background-image: linear-gradient(to right, #06abff 5%, #6600CC 97%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.z80M1.qs41qe .jO7h3c {
  background-image: linear-gradient(to right, #06abff 5%, #6600CC 97%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.z80M1.FwR7Pc {
  background: rgba(21,31,46,0.8);
}
.FeRvI .oJeWuf {
  background: rgba(21,31,46,0.8);
}
.z80M1.qs41qe {
  background: rgba(21,31,46,0.8);
}
.xdKj9c, .Je07k, tbody .qwFLJb {
  background: rgba(21,31,46,0.5);
}
.YEeyed, .VUfVLb, thead .qwFLJb {
  background: rgba(21,31,46,0.8);
}
.xdKj9c.kTKNNc, .Je07k.kTKNNc, tbody .qwFLJb.kTKNNc {
  background: rgba(21,31,46,0.8);
}
.tUJKGd:not(.xp2dJ).ndcsBf .idtp4e {
  background: rgba(21,31,46,0.8);
}
.ypv4re {
  background: rgba(21,31,46,0.8);
  border-top-right-radius: 5px;
  border-top-left-radius: 5px;
}
.ypv4re:not(.pco8Kc) {
  background: rgba(21,31,46,0.8);
  border-radius: 5px;
}
.j70YMc:not(.pco8Kc) {
  background: rgba(21,31,46,0.8);
  border-radius: 5px;
}
.vnnr5e:not(.RDPZE):hover .I9OJHe, .vnnr5e:not(.RDPZE):hover .CIy9F {
  background-color: transparent !important;
}
.vnnr5e .CIy9F, .vnnr5e .I9OJHe {
  background: none;
}
.gb_wb.gb_wb {
  background: rgba(21,31,46,0.8);
}
.gb_sb.gb_sb {
  background: rgba(21,31,46,0.8);
}
.gb_wb.gb_wb {
  background: rgba(21,31,46,0.8);
}
.gb_Db.gb_Db {
  background: rgba(21,31,46,0.8);
}
.gb_Nb>.gb_Mb:hover {
  background: rgba(21,31,46,0.4);
}
/* borders fix */
.joJglb, .BdCNc, .d4Fe0d .Aopndd {
  border-color: transparent !important;
}
.u73Apc, .uO32ac, .gQZxn, .ycbm1d, .s2g3Xd, .n4xnA, .d6CWTd, .tfGBod.tfGBod:not(.xp2dJ), .tfGBod.xp2dJ .jWCzBe, .tfGBod.xp2dJ .iobNdf, .PeGHgb.Q8U8uc .Ono85c+.oh9CFb, * {
  border-color: #4c4c4c !important;
}
.QkA63b .GJYBjd {
  border: 1px solid #4c4c4c !important;
}
`;

    var elem = document.createElement('style');
    elem.type = 'text/css';
    elem.innerText = style;
    document.head.appendChild(elem);
})();

// ============ END ============ //