@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Press+Start+2P&display=swap");
.highlight .err { color: #e3d2d2; background-color: #8c2121; }
.highlight .c { color: #8a8a8a; }
.highlight .c1 { color: #8a8a8a; }
.highlight .cm { color: #8a8a8a; }
.highlight .cp { color: #8a8a8a; }
.highlight .cs { color: #8a8a8a; font-style: italic; }
.highlight .gd { color: #d85a5a; }
.highlight .gd .x { color: #d85a5a; }
.highlight .ge { font-style: italic; }
.highlight .gh { color: #999999; }
.highlight .gi { color: #4ec64e; }
.highlight .gi .x { color: #4ec64e; }
.highlight .go { color: #888888; }
.highlight .gp { color: #555555; }
.highlight .gr { color: #f07178; }
.highlight .gs { font-weight: bold; }
.highlight .gt { color: #f07178; }
.highlight .gu { color: #aaaaaa; }
.highlight .k { color: #d85a7b; }
.highlight .kc { color: #d85a7b; }
.highlight .kd { color: #d85a7b; }
.highlight .kp { color: #d85a7b; }
.highlight .kr { color: #d85a7b; }
.highlight .kt { color: #ffcb6b; }
.highlight .n { color: #c7d1d8; }
.highlight .na { color: #11a69f; }
.highlight .nb { color: #d85a7b; }
.highlight .bp { color: #999999; }
.highlight .nc { color: #11a69f; }
.highlight .ne { color: #990000; }
.highlight .nf { color: #5ab780; }
.highlight .ni { color: #11a69f; }
.highlight .nn { color: #11a69f; }
.highlight .no { color: #9d99e6; }
.highlight .nt { color: #de3581; }
.highlight .nv { color: #9680b1; }
.highlight .vc { color: #9680b1; }
.highlight .vg { color: #9680b1; }
.highlight .vi { color: #9680b1; }
.highlight .o { color: #bcd890; }
.highlight .ow { color: #bcd890; }
.highlight .m { color: #9d99e6; }
.highlight .mf { color: #9d99e6; }
.highlight .mh { color: #9d99e6; }
.highlight .mi { color: #9d99e6; }
.highlight .il { color: #9d99e6; }
.highlight .mo { color: #9d99e6; }
.highlight .s { color: #baa94a; }
.highlight .s1 { color: #baa94a; }
.highlight .s2 { color: #baa94a; }
.highlight .sb { color: #baa94a; }
.highlight .sc { color: #baa94a; }
.highlight .sd { color: #baa94a; }
.highlight .se { color: #baa94a; }
.highlight .sh { color: #baa94a; }
.highlight .si { color: #baa94a; }
.highlight .sr { color: #009926; }
.highlight .ss { color: #3c90f5; }
.highlight .sx { color: #baa94a; }
.highlight .w { color: #eeffff; }
.highlight .lineno, .highlight .gl { color: #8a8a8a; }
.highlight .hll { background-color: #373730; }

html { font-size: 16px; }

/** Reset some basic elements */
body, h1, h2, h3, h4, h5, h6, p, blockquote, pre, hr, dl, dd, ol, ul, figure { margin: 0; padding: 0; }

/** Basic styling */
body { font: 400 16px/1.5 -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", "Segoe UI Emoji", "Segoe UI Symbol", "Apple Color Emoji", Roboto, Helvetica, Arial, sans-serif; color: #959595; background-color: #181818; -webkit-text-size-adjust: 100%; -webkit-font-feature-settings: "kern" 1; -moz-font-feature-settings: "kern" 1; -o-font-feature-settings: "kern" 1; font-feature-settings: "kern" 1; font-kerning: normal; display: flex; min-height: 100vh; flex-direction: column; overflow-wrap: break-word; }

/** Set `margin-bottom` to maintain vertical rhythm */
h1, h2, h3, h4, h5, h6, p, blockquote, pre, ul, ol, dl, figure, div.highlight, figure.highlight { margin-bottom: 15px; }

hr { margin-top: 30px; margin-bottom: 30px; }

/** `main` element */
main { display: block; /* Default value of `display` of `main` element is 'inline' in IE 11. */ }

/** Images */
img { max-width: 100%; vertical-align: middle; }

/** Figures */
figure > img { display: block; }

figcaption { font-size: 14px; }

/** Lists */
ul, ol { margin-left: 30px; }

li > ul, li > ol { margin-bottom: 0; }

/** Headings */
h1, h2, h3, h4, h5, h6 { color: #bbbbbb; font-weight: 500; }

/** Links */
a { color: #5691cd; text-decoration: none; }
a:visited { color: #80bbff; }
a:hover { color: #959595; text-decoration: underline #999999; text-underline-offset: 3px; }
.social-media-list a:hover { text-decoration: none; }
.social-media-list a:hover .username { text-decoration: underline; }

/** Blockquotes */
blockquote { color: #999999; border-left: 4px solid #2b2b2b; padding-left: 15px; font-size: 1.05rem; font-style: italic; }
blockquote > :last-child { margin-bottom: 0; }
blockquote i, blockquote em { font-style: normal; }

/** Code formatting */
pre, code { font-family: "Menlo", "Inconsolata", "Consolas", "Roboto Mono", "Ubuntu Mono", "Liberation Mono", "Courier New", monospace; background-color: #222222; }
@media screen and (max-width: 600px) { pre, code { font-family: monospace; } }

pre { padding: 8px 12px; font-size: 15px; line-height: 1.4; color: #bbbbbb; overflow-x: auto; }
pre > code { display: inline-block; width: 100%; }

div.highlight, figure.highlight { border: 1px solid #2b2b2b; border-radius: 3px; }
div.highlight pre, figure.highlight pre { margin: 0; }
div.highlight table, div.highlight tbody, div.highlight th, div.highlight tr, div.highlight td, figure.highlight table, figure.highlight tbody, figure.highlight th, figure.highlight tr, figure.highlight td { margin: 0; padding: 0; border: 0; }
div.highlight .lineno, div.highlight .gl, figure.highlight .lineno, figure.highlight .gl { text-align: right; }

figure.highlight table { margin: -8px -12px -14px; }
figure.highlight td.gutter { border-right: 1px solid #2b2b2b; }
figure.highlight td.code { width: 100%; }

code.highlighter-rouge { padding: 1px 5px; font-size: 14px; border: 1px solid #2b2b2b; border-radius: 3px; }

/** Wrapper */
.wrapper { max-width: 800px; margin: 0 auto; padding: 0 30px; }
@media screen and (max-width: 600px) { .wrapper { padding-right: 18px; padding-left: 18px; } }

/** Clearfix */
.wrapper:after { content: ""; display: table; clear: both; }

/** Icons */
.orange { color: #f66a0a; }

.grey { color: #828282; }

.svg-icon { width: 1.25em; height: 1.25em; display: inline-block; fill: currentColor; vertical-align: text-bottom; overflow: visible; }

/** Tables */
table { margin-bottom: 30px; width: 100%; text-align: left; color: #959595; border-collapse: collapse; border: 1px solid #2b2b2b; }
table tr:nth-child(even) { background-color: #222222; }
table th, table td { padding: 10px 15px; }
table th { background-color: #323232; border: 1px solid #3e3e3e; }
table td { border: 1px solid #2b2b2b; }
@media screen and (max-width: 800px) { table { display: block; overflow-x: auto; -webkit-overflow-scrolling: touch; -ms-overflow-style: -ms-autohiding-scrollbar; } }

/** Site header */
.site-header { position: relative; width: 100%; min-height: 55.95px; line-height: 54px; background-color: #181818; border-top: 5px solid #999999; border-bottom: 1px solid #2b2b2b; }

.site-title { font-size: 1.625rem; font-weight: 300; letter-spacing: -1px; margin-bottom: 0; float: left; }
@media screen and (max-width: 600px) { .site-title { padding-right: 45px; } }
.site-title, .site-title:visited { color: #a6a6a6; }

.site-nav { float: right; border: none; background-color: inherit; }
.site-nav label[for="nav-trigger"], .site-nav #nav-trigger { display: none; }
.site-nav .nav-item { color: #959595; }
.site-nav .nav-item:not(:last-child) { margin-right: 15px; }
@media screen and (max-width: 600px) { .site-nav { position: absolute; top: 9px; right: 18px; background-color: #181818; border: 1px solid #2b2b2b; border-radius: 5px; text-align: right; }
  .site-nav label[for="nav-trigger"] { display: block; float: right; width: 36px; height: 36px; cursor: pointer; }
  .site-nav .menu-icon { float: right; width: 36px; height: 26px; line-height: 0; padding-top: 18px; text-align: center; }
  .site-nav .menu-icon::before { font-family: "Font Awesome 7 Free"; font-weight: 900; }
  .site-nav .menu-icon > svg path { fill: #999999; }
  .site-nav #nav-trigger ~ label[for=nav-trigger] .menu-icon::before { content: "\f0c9"; font-size: 1.25em; }
  .site-nav #nav-trigger ~ .nav-items { clear: both; display: none; }
  .site-nav #nav-trigger:checked ~ label[for=nav-trigger] .menu-icon::before { content: "\f00d"; font-size: 1.5em; }
  .site-nav #nav-trigger:checked ~ .nav-items { display: block; padding-bottom: 5px; }
  .site-nav #nav-trigger:checked ~ .nav-items .nav-item { margin-left: 20px; padding: 5px 10px; }
  .site-nav .nav-item { display: block; padding: 5px 0; color: #959595; line-height: 1.5; } }

/** Site footer */
.site-footer { border-top: 1px solid #2b2b2b; padding: 30px 0; }

.footer-heading { font-size: 1.125rem; margin-bottom: 15px; }

.feed-subscribe .svg-icon { padding: 5px 5px 2px 0; }

.contact-list, .social-media-list { list-style: none; margin-left: 0; }

.footer-col-wrapper, .social-links { font-size: 0.9375rem; color: #858585; }

.footer-col { margin-bottom: 15px; }

.footer-col-1, .footer-col-2 { width: calc(50% - (30px / 2)); }

.footer-col-3 { width: calc(100% - (30px / 2)); }

@media screen and (min-width: 800px) { .footer-col-1 { width: calc(35% - (30px / 2)); }
  .footer-col-2 { width: calc(20% - (30px / 2)); }
  .footer-col-3 { width: calc(45% - (30px / 2)); } }
@media screen and (min-width: 600px) { .footer-col-wrapper { display: flex; }
  .footer-col { width: calc(100% - (30px / 2)); padding: 0 15px; }
  .footer-col:first-child { padding-right: 15px; padding-left: 0; }
  .footer-col:last-child { padding-right: 0; padding-left: 15px; } }
/** Page content */
.page-content { padding: 30px 0; flex: 1 0 auto; }

.page-heading { font-size: 2rem; }

.post-list-heading { font-size: 1.75rem; }

.post-list { margin-left: 0; list-style: none; }
.post-list > li { margin-bottom: 30px; }

.post-meta { font-size: 14px; color: #858585; }

.post-link { display: block; font-size: 1.5rem; }

/** Posts */
.post-header { margin-bottom: 30px; padding-bottom: 18px; text-align: center; border-bottom: 1px solid #2b2b2b; }

.post-meta .bullet-divider { padding-inline: 15px; }
.post-meta .meta-label { font-weight: 600; }
.post-meta .force-inline { display: inline; }
.post-meta .force-inline::before { content: "•"; padding-inline: 5px; }
.post-meta .post-authors { margin-top: 3px; }

.post-title, .post-content h1 { margin-bottom: 10px; font-size: 2.625rem; font-weight: 400; letter-spacing: -1px; line-height: 1.15; }
@media screen and (min-width: 800px) { .post-title, .post-content h1 { font-size: 2.625rem; } }

.post-content { margin-bottom: 30px; }
.post-content h1, .post-content h2, .post-content h3, .post-content h4, .post-content h5, .post-content h6 { margin-top: 30px; }
.post-content h2 { font-size: 1.75rem; }
@media screen and (min-width: 800px) { .post-content h2 { font-size: 2rem; } }
.post-content h3 { font-size: 1.375rem; }
@media screen and (min-width: 800px) { .post-content h3 { font-size: 1.625rem; } }
.post-content h4 { font-size: 1.25rem; }
.post-content h5 { font-size: 1.125rem; }
.post-content h6 { font-size: 1.0625rem; }

.comments-disabled-message { text-align: center; font-weight: 300; }

.social-media-list { display: table; margin: 0 auto; }
.social-media-list li { float: left; min-width: 45px; min-height: 45px; text-align: center; margin: 5px 10px 5px 0; }
.social-media-list li:last-of-type { margin-right: 0; }
.social-media-list li a { display: block; padding: 10px 12px; border: 1px solid #2b2b2b; }
.social-media-list li a:hover { border-color: #a6a6a6; }

/** Pagination navbar */
.pagination { display: table; margin: 0 auto; list-style-type: none; }
.pagination li { float: left; margin: 0 3px; min-width: 45px; min-height: 45px; text-align: center; }
.pagination li a { display: block; text-decoration: none; border: 1px solid #2b2b2b; }
.pagination li a:hover { border-color: #a6a6a6; }
.pagination li a, .pagination li div { min-width: 41px; padding: 10px 12px; text-align: center; box-sizing: border-box; }
.pagination li div { border: 1px solid transparent; }
.pagination li div.pager-edge { color: #2b2b2b; border: 1px dashed; }
.pagination li div.current-page { font-weight: bold; }

/** Task-lists */
.task-list { margin-left: 0; padding-left: 18px; }

.task-list-item { list-style-type: none; }
.task-list-item-checkbox { position: relative; margin-right: 9px; margin-left: -15px; appearance: none; border: 8px solid #2b2b2b; vertical-align: text-top; z-index: -1; }
.task-list-item-checkbox::after { position: absolute; top: -8px; left: -3px; width: 4px; height: 10px; content: ""; border: solid transparent; border-width: 0 2px 2px 0; transform: rotate(45deg); }
.task-list-item-checkbox:checked::after { border-color: #999999; }

/** Grid helpers */
@media screen and (min-width: 800px) { .one-half { width: calc(50% - (30px / 2)); } }
#score { position: relative; z-index: 2; padding: 5px; color: darkred !important; }

#gameBegin, #gameOver, #settings, #leaderboard { position: relative; z-index: 2; }

#addRow, #backToGame { position: relative; z-index: 2; display: inline-block; margin-right: 2rem; }

.submenu { color: #FFFFFF !important; background-color: #000000 !important; border: 1px solid #6272a4; border: none; position: fixed; z-index: 3; top: 3.73rem; width: fit-content; }
.submenu .submenu-item { display: inline-block; margin-right: 2rem; }

.sidebar { color: #FFFFFF !important; background-color: #000000 !important; border: 1px solid #6272a4; border: none; position: fixed; z-index: 3; top: 0; padding-top: 5px; padding-bottom: 5px; overflow-x: hidden; /* Disable horizontal scroll */ transition: 0.5s; /* 0.5-second transition effect to slide in the sidebar */ width: 0px; padding-left: 0px; padding-right: 0px; overflow-y: scroll; height: 75%; }

.leaderboardDropDown { color: #FFFFFF !important; background-color: #000000 !important; border: 1px solid #6272a4; border: none; position: fixed; z-index: 3; top: 0; padding-top: 5px; padding-bottom: 5px; overflow-x: hidden; /* Disable horizontal scroll */ transition: 0.5s; /* 0.5-second transition effect to slide in the sidebar */ width: 0px; padding-left: 0px; padding-right: 0px; height: 75%; scroll-behavior: auto; }

#leaderboardTitle { text-align: center; color: #3d3af2; text-decoration: wavy; font-weight: 900; font-size: 70px; font-family: "Press Start 2P", system-ui; background-color: #b01a2e; }

.table.scores, th, tr, td { text-align: center; font-family: "Lucida Sans", "Lucida Sans Regular", "Lucida Grande", "Lucida Sans Unicode", Geneva, Verdana, sans-serif; }

.table.scores th { background-color: #e0b2b2; }
.table.scores tr td { border: 1px solid #742929; }
.table.scores tr td:nth-child(odd) { background-color: #e85252; }
.table.scores tr td:nth-child(even) { background-color: #be6464; }

.table.levels tr { cursor: pointer; }
.table.levels tr td { border: 1px solid #6272a4; }
.table.levels tr:hover { background-color: #6272a4; }
.table.levels tr:hover td { background-color: inherit; }

.input.userID { color: #FFFFFF !important; background-color: #000000 !important; border: 1px solid #6272a4; height: 30px; border-radius: 5px; padding: 5px; width: 100px; }

.input.gameSpeed, .input.gravity { color: #FFFFFF !important; background-color: #000000 !important; border: 1px solid #6272a4; height: 30px; border-radius: 5px; padding: 5px; width: 40px; text-align: right; }

#toggleCanvasEffect, #background, #platform { animation: fadein 3s; }

#startGame, #marioSays { animation: flash 0.5s infinite; }

@keyframes flash { 50% { opacity: 0; } }
@keyframes fadeout { from { opacity: 1; }
  to { opacity: 0; } }
@keyframes fadein { from { opacity: 0; }
  to { opacity: 1; } }
.bottom-matter { position: relative; }

#cut-story { visibility: hidden; min-width: 250px; background-color: #ff5d0c; color: white; font-family: "Press Start 2P", system-ui; border-radius: 4px; position: fixed; text-align: center; justify-content: center; border: 4px solid; left: 50%; transform: translate(-50%, 0%); width: 50%; padding: 10px; bottom: 0px; }

/*creating class with javascript*/
#cut-story.show { visibility: visible; -webkit-animation: fadein 3s; animation: fadein 3s; }

#cut-story.hide { visibility: visible; -webkit-animation: fadeout 0.5s 3s; animation: fadeout 0.5s 3s; }

body { background: #FFB6C1; }

#container { width: 95%; height: 100vh; display: flex; text-align: center; }

.fun_facts { min-width: 250px; background-color: #0cebff; color: #096b4e; font-family: "Press Start 2P", system-ui; border-radius: 20px; position: absolute; text-align: center; border: 4px solid; left: 50%; transform: translate(-50%, -20%); width: 90%; padding: 10px; bottom: 0px; }

.fun_facts h3, .fun_facts p { font-size: 1rem; }

.glass, .tintedGlass, .site-header, .dropdown .dropdown-content, .dropdownp1 .dropdown-content, .dropdownp2 .dropdown-content, .dropdownp3 .dropdown-content, .dropdownp4 .dropdown-content, .container, .hallpass-container { backdrop-filter: blur(30px); }

.tintedGlass, .site-header, .dropdown .dropdown-content, .dropdownp1 .dropdown-content, .dropdownp2 .dropdown-content, .dropdownp3 .dropdown-content, .dropdownp4 .dropdown-content { background: rgba(50, 50, 50, 0.5); }

.glow, .glowOnHover, .hallpass-buttons button { cursor: pointer; position: relative; z-index: 0; }
.glow:before, .glowOnHover:before, .hallpass-buttons button:before, .glow:after, .glowOnHover:after, .hallpass-buttons button:after { content: ''; position: absolute; width: 100%; height: 100%; left: 0; top: 0; border-radius: inherit; z-index: -1; }
.glow:before, .glowOnHover:before, .hallpass-buttons button:before { background: linear-gradient(45deg, #ff0000, #ff7300, #fffb00, #48ff00, #00ffd5, #002bff, #7a00ff, #ff00c8, #ff0000); background-size: 400%; filter: blur(5px); width: calc(100% + 4px); height: calc(100% + 4px); top: -2px; left: -2px; opacity: 0; transition: opacity .3s ease-in-out; animation: glowing 20s linear infinite; }
.glow:hover:before, .glowOnHover:hover:before, .hallpass-buttons button:hover:before { opacity: 1; }
.glow:after, .glowOnHover:after, .hallpass-buttons button:after { background: #1e1e1e; }

.glowOnHover, .hallpass-buttons button { border: none; outline: none; color: #fff; background: #1e1e1e; border-radius: 12px; }

@keyframes glowing { 0%,
    100% { background-position: 0 0; }
  50% { background-position: 400% 0; } }
#toggle-response-btn { margin-top: auto; padding: 10px; color: white; border: none; border-radius: 12px; font-size: 16px; cursor: pointer; transition: background-color 0.3s ease; background-color: green !important; }
#toggle-response-btn:hover { background-color: darkgreen !important; }

#msger-send-btn { margin-top: auto; padding: 10px; color: white; border: none; border-radius: 12px; font-size: 16px; cursor: pointer; transition: background-color 0.3s ease; background-color: blue !important; }
#msger-send-btn:hover { background-color: darkblue !important; }

.msg-info, .msg-text { color: black; }

:root { --body-bg: linear-gradient(135deg, white 0%, gray 100%); --msger-bg: white; --border: 2px solid #ddd; --left-msg-bg: #ececec; --right-msg-bg: #579ffb; }

.msger { display: flex; flex-flow: column wrap; justify-content: space-between; width: fill; margin: auto auto; height: calc(867px); border: var(--border); border-radius: 12px; background: var(--msger-bg); box-shadow: 0 15px 15px -5px rgba(0, 0, 0, 0.2); }

.msger-header { display: flex; justify-content: space-between; padding: 10px; border-bottom: var(--border); background: #eee; color: gray; }

.msger-chat { flex: 1; overflow-y: auto; padding: 10px; }

.msger-chat::-webkit-scrollbar { width: 6px; }

.msger-chat::-webkit-scrollbar-track { background: #ddd; }

.msger-chat::-webkit-scrollbar-thumb { background: #bdbdbd; }

.msg { display: flex; align-items: flex-end; margin-bottom: auto; }

.msg:last-of-type { margin: auto; }

.msg-img { width: 64px; height: 64px; margin-right: 0.2rem; background: #ddd; background-repeat: no-repeat; background-position: center; background-size: cover; border-radius: 50%; }

.msg-bubble { max-width: 450px; padding: 15px; border-radius: 12px; background: var(--left-msg-bg); }

.msg-info { display: flex; justify-content: space-between; align-items: center; margin-bottom: gap; }

.msg-info-name { margin-right: 2rem; font-weight: bold; }

.msg-info-time { font-size: 0.85em; }

.left-msg .msg-bubble { border-bottom-left-radius: 0; }

.right-msg { flex-direction: row-reverse; }

.right-msg .msg-bubble { background: var(--right-msg-bg); color: #fff; border-bottom-right-radius: 0; }

.right-msg .msg-img { margin: 0 0 0 1rem; }

.msger-inputarea { display: flex; padding: 10px; border-top: var(--border); background: #eee; }

.msger-inputarea * { padding: 10px; border: none; border-radius: 12px; font-size: 1em; }

.msger-input { flex: 1; background: #ddd; }

.msger-send-btn { margin-left: 0.2rem; background: #00c441; color: #fff; font-weight: bold; cursor: pointer; transition: background 0.23s; }

.msger-send-btn:hover { background: #066320; }

.msger-chat { background-color: #fcfcfe; background-image: url("https://w.wallhaven.cc/full/vm/wallhaven-vmydxl.jpg"); }

@keyframes rainbow { 0% { background-color: red; }
  14% { background-color: orange; }
  28% { background-color: yellow; }
  42% { background-color: green; }
  57% { background-color: blue; }
  71% { background-color: indigo; }
  85% { background-color: violet; }
  100% { background-color: red; } }
.rainbow { width: 100px; height: 100px; animation: rainbow 5s linear infinite; margin: auto; }

@keyframes spinMove { 0% { transform: rotate(0deg) translateX(0); }
  10% { transform: rotate(36deg) translateX(-200px); }
  20% { transform: rotate(72deg) translateX(200px); }
  30% { transform: rotate(108deg) translateX(400px); }
  40% { transform: rotate(144deg) translateX(200px); }
  50% { transform: rotate(180deg) translateX(0); }
  60% { transform: rotate(216deg) translateX(-200px); }
  70% { transform: rotate(252deg) translateX(200px); }
  80% { transform: rotate(288deg) translateX(400px); }
  90% { transform: rotate(324deg) translateX(200px); }
  100% { transform: rotate(360deg) translateX(0); } }
.spinMove { width: 100px; height: 100px; margin: auto; background-color: blue; animation: spinMove 10s linear infinite; }

.glass, .tintedGlass, .site-header, .dropdown .dropdown-content, .dropdownp1 .dropdown-content, .dropdownp2 .dropdown-content, .dropdownp3 .dropdown-content, .dropdownp4 .dropdown-content, .container, .hallpass-container { backdrop-filter: blur(30px); }

.tintedGlass, .site-header, .dropdown .dropdown-content, .dropdownp1 .dropdown-content, .dropdownp2 .dropdown-content, .dropdownp3 .dropdown-content, .dropdownp4 .dropdown-content { background: rgba(50, 50, 50, 0.5); }

.glow, .glowOnHover, .hallpass-buttons button { cursor: pointer; position: relative; z-index: 0; }
.glow:before, .glowOnHover:before, .hallpass-buttons button:before, .glow:after, .glowOnHover:after, .hallpass-buttons button:after { content: ''; position: absolute; width: 100%; height: 100%; left: 0; top: 0; border-radius: inherit; z-index: -1; }
.glow:before, .glowOnHover:before, .hallpass-buttons button:before { background: linear-gradient(45deg, #ff0000, #ff7300, #fffb00, #48ff00, #00ffd5, #002bff, #7a00ff, #ff00c8, #ff0000); background-size: 400%; filter: blur(5px); width: calc(100% + 4px); height: calc(100% + 4px); top: -2px; left: -2px; opacity: 0; transition: opacity .3s ease-in-out; animation: glowing 20s linear infinite; }
.glow:hover:before, .glowOnHover:hover:before, .hallpass-buttons button:hover:before { opacity: 1; }
.glow:after, .glowOnHover:after, .hallpass-buttons button:after { background: #1e1e1e; }

.glowOnHover, .hallpass-buttons button { border: none; outline: none; color: #fff; background: #1e1e1e; border-radius: 12px; }

@keyframes glowing { 0%,
    100% { background-position: 0 0; }
  50% { background-position: 400% 0; } }
.site-header { border-top: 0px solid; border-bottom: 1px solid #404040; font-weight: bold; z-index: 999999999; }

.site-nav { background-color: transparent; }

.site-nav .page-link { color: white !important; line-height: 1.5; padding: 5px 10px; margin-left: 20px; }

.site-title { color: white !important; }

.site-nav .page-link:not(:last-child) { margin-right: 0; }

#loginArea { margin-left: 20px; }

.site-title, .site-title:visited, .site-nav, .page-link { font-weight: bolder; }

@media screen and (max-width: fit-content) { .site-title { padding-right: 45px; } }
.site-header .wrapper { max-width: fit-content !important; }

.glass, .tintedGlass, .site-header, .dropdown .dropdown-content, .dropdownp1 .dropdown-content, .dropdownp2 .dropdown-content, .dropdownp3 .dropdown-content, .dropdownp4 .dropdown-content, .container, .hallpass-container { backdrop-filter: blur(30px); }

.tintedGlass, .site-header, .dropdown .dropdown-content, .dropdownp1 .dropdown-content, .dropdownp2 .dropdown-content, .dropdownp3 .dropdown-content, .dropdownp4 .dropdown-content { background: rgba(50, 50, 50, 0.5); }

.glow, .glowOnHover, .hallpass-buttons button { cursor: pointer; position: relative; z-index: 0; }
.glow:before, .glowOnHover:before, .hallpass-buttons button:before, .glow:after, .glowOnHover:after, .hallpass-buttons button:after { content: ''; position: absolute; width: 100%; height: 100%; left: 0; top: 0; border-radius: inherit; z-index: -1; }
.glow:before, .glowOnHover:before, .hallpass-buttons button:before { background: linear-gradient(45deg, #ff0000, #ff7300, #fffb00, #48ff00, #00ffd5, #002bff, #7a00ff, #ff00c8, #ff0000); background-size: 400%; filter: blur(5px); width: calc(100% + 4px); height: calc(100% + 4px); top: -2px; left: -2px; opacity: 0; transition: opacity .3s ease-in-out; animation: glowing 20s linear infinite; }
.glow:hover:before, .glowOnHover:hover:before, .hallpass-buttons button:hover:before { opacity: 1; }
.glow:after, .glowOnHover:after, .hallpass-buttons button:after { background: #1e1e1e; }

.glowOnHover, .hallpass-buttons button { border: none; outline: none; color: #fff; background: #1e1e1e; border-radius: 12px; }

@keyframes glowing { 0%,
    100% { background-position: 0 0; }
  50% { background-position: 400% 0; } }
.small { height: 28px; padding: 4px 10px; border-radius: 40px; border: none; font-size: 15px; line-height: 20px; letter-spacing: -0.23px; cursor: pointer; }

.medium, .hallpass-buttons button { height: 35px; padding: 7px 14px; border-radius: 12px; border: none; font-size: 15px; line-height: 20px; letter-spacing: -0.23px; cursor: pointer; }

.large { height: 50px; padding: 14px 20px; border-radius: 12px; border: none; font-size: 17px; line-height: 22px; letter-spacing: -0.43px; cursor: pointer; }

.glass, .tintedGlass, .site-header, .dropdown .dropdown-content, .dropdownp1 .dropdown-content, .dropdownp2 .dropdown-content, .dropdownp3 .dropdown-content, .dropdownp4 .dropdown-content, .container, .hallpass-container { backdrop-filter: blur(30px); }

.tintedGlass, .site-header, .dropdown .dropdown-content, .dropdownp1 .dropdown-content, .dropdownp2 .dropdown-content, .dropdownp3 .dropdown-content, .dropdownp4 .dropdown-content { background: rgba(50, 50, 50, 0.5); }

.glow, .glowOnHover, .hallpass-buttons button { cursor: pointer; position: relative; z-index: 0; }
.glow:before, .glowOnHover:before, .hallpass-buttons button:before, .glow:after, .glowOnHover:after, .hallpass-buttons button:after { content: ''; position: absolute; width: 100%; height: 100%; left: 0; top: 0; border-radius: inherit; z-index: -1; }
.glow:before, .glowOnHover:before, .hallpass-buttons button:before { background: linear-gradient(45deg, #ff0000, #ff7300, #fffb00, #48ff00, #00ffd5, #002bff, #7a00ff, #ff00c8, #ff0000); background-size: 400%; filter: blur(5px); width: calc(100% + 4px); height: calc(100% + 4px); top: -2px; left: -2px; opacity: 0; transition: opacity .3s ease-in-out; animation: glowing 20s linear infinite; }
.glow:hover:before, .glowOnHover:hover:before, .hallpass-buttons button:hover:before { opacity: 1; }
.glow:after, .glowOnHover:after, .hallpass-buttons button:after { background: #1e1e1e; }

.glowOnHover, .hallpass-buttons button { border: none; outline: none; color: #fff; background: #1e1e1e; border-radius: 12px; }

@keyframes glowing { 0%,
    100% { background-position: 0 0; }
  50% { background-position: 400% 0; } }
.disabled { color: rgba(118, 118, 128, 0.48); background-color: rgba(120, 120, 128, 0.12); cursor: not-allowed; opacity: 0.5; transition: all 0.5s; }
.disabled:hover, .disabled:active { background-color: inherit; }

.primary.disabled, .hallpass-buttons button.disabled, .secondary.disabled, .tertiary.disabled { color: rgba(118, 118, 128, 0.48); background-color: rgba(120, 120, 128, 0.12); cursor: not-allowed; opacity: 0.5; transition: all 0.5s; }
.primary.disabled:hover, .hallpass-buttons button.disabled:hover, .primary.disabled:active, .hallpass-buttons button.disabled:active, .secondary.disabled:hover, .secondary.disabled:active, .tertiary.disabled:hover, .tertiary.disabled:active { background-color: inherit; }

.small { height: 28px; padding: 4px 10px; border-radius: 40px; border: none; font-size: 15px; line-height: 20px; letter-spacing: -0.23px; cursor: pointer; }

.medium, .hallpass-buttons button { height: 35px; padding: 7px 14px; border-radius: 12px; border: none; font-size: 15px; line-height: 20px; letter-spacing: -0.23px; cursor: pointer; }

.large { height: 50px; padding: 14px 20px; border-radius: 12px; border: none; font-size: 17px; line-height: 22px; letter-spacing: -0.43px; cursor: pointer; }

button, .primary, .hallpass-buttons button { color: white; background-color: rgba(80, 80, 80, 0.7); transition: all 0.5s; transition: all 0.5s; }
button:hover, .primary:hover, .hallpass-buttons button:hover { background-color: rgba(55, 55, 55, 0.7); }
button:active, .primary:active, .hallpass-buttons button:active { background-color: rgba(29, 29, 29, 0.7); }

.secondary { color: #999999; background-color: rgba(120, 120, 128, 0.12); transition: all 0.5s; transition: all 0.5s; }
.secondary:hover { background-color: rgba(95, 95, 102, 0.12); }
.secondary:active { background-color: rgba(71, 71, 75, 0.12); }

.filledHighlight { background-color: #007aff; transition: all 0.5s; transition: all 0.5s; }
.filledHighlight:hover { background-color: #0062cc; }
.filledHighlight:active { background-color: #004999; }

.filledTinted { color: #007aff; background-color: rgba(0, 122, 255, 0.15); transition: all 0.5s; transition: all 0.5s; }
.filledTinted:hover { background-color: rgba(0, 98, 204, 0.15); }
.filledTinted:active { background-color: rgba(0, 73, 153, 0.15); }

.disabled { color: rgba(118, 118, 128, 0.48); background-color: rgba(120, 120, 128, 0.12); cursor: not-allowed; opacity: 0.5; transition: all 0.5s; }
.disabled:hover, .disabled:active { background-color: inherit; }

.primary.disabled, .hallpass-buttons button.disabled, .secondary.disabled, .tertiary.disabled { color: rgba(118, 118, 128, 0.48); background-color: rgba(120, 120, 128, 0.12); cursor: not-allowed; opacity: 0.5; transition: all 0.5s; }
.primary.disabled:hover, .hallpass-buttons button.disabled:hover, .primary.disabled:active, .hallpass-buttons button.disabled:active, .secondary.disabled:hover, .secondary.disabled:active, .tertiary.disabled:hover, .tertiary.disabled:active { background-color: inherit; }

/* define class for redifined button */
.button, .calculator-number, .calculator-operation, .calculator-clear, .calculator-equals { width: auto; height: auto; border-radius: 10px; background-color: #21807c; border: 3px solid black; font-size: 1.5em; display: flex; justify-content: center; align-items: center; grid-column: span 1; grid-row: span 1; transition: all 0.5s; }

/* darkens the background color on hover to create a selecting effect */
.button:hover, .calculator-number:hover, .calculator-operation:hover, .calculator-clear:hover, .calculator-equals:hover { background-color: #373737; }

/* "row style" is flexible size and aligns pictures in center */
.row { align-items: center; display: flex; }

/* "column style" is one-third of the width with padding */
.column { flex: 16.66%; padding: 3px; }

/* class to create the calculator's container; uses CSS grid dsiplay to partition off buttons */
.calculator-container { width: 90vw; /* this width and height is specified for mobile devices by default */ height: 80vh; margin: 0 auto; display: grid; grid-template-columns: repeat(4, 1fr); /* fr is a special unit; learn more here: https://css-tricks.com/introduction-fr-css-unit/  */ grid-template-rows: 0.5fr repeat(4, 1fr); gap: 10px 10px; }

@media (min-width: 600px) { .calculator-container { width: 40vw; height: 80vh; } }
/* styling for the calculator number button */
/* styling for the calculator operation button */
/* styling for the calculator clear button */
.calculator-clear { background-color: #e68b1c; }

/* styling for the calculator equals button */
.calculator-equals { background-color: #e70f0f; }

.container { max-width: 800px; margin: 30px auto; padding: 20px; background: #1c1c1e; border-radius: 12px; box-shadow: 0px 4px 12px rgba(0, 0, 0, 0.3); }

.queue-info { text-align: center; font-size: 18px; color: #48484a; margin-bottom: 15px; }

.queue-list { background: rgba(255, 255, 255, 0.05); padding: 15px; border-radius: 12px; }

.queue-list p { font-size: 16px; color: #636366; margin-bottom: 10px; }

#studentList { list-style: none; padding: 0; }

#studentList li { font-size: 16px; padding: 8px; border-bottom: 1px solid rgba(255, 255, 255, 0.2); }

.queue-buttons { display: flex; justify-content: center; gap: 10px; margin-top: 10px; }

.glass, .tintedGlass, .site-header, .dropdown .dropdown-content, .dropdownp1 .dropdown-content, .dropdownp2 .dropdown-content, .dropdownp3 .dropdown-content, .dropdownp4 .dropdown-content, .container, .hallpass-container { backdrop-filter: blur(30px); }

.tintedGlass, .site-header, .dropdown .dropdown-content, .dropdownp1 .dropdown-content, .dropdownp2 .dropdown-content, .dropdownp3 .dropdown-content, .dropdownp4 .dropdown-content { background: rgba(50, 50, 50, 0.5); }

.glow, .glowOnHover, .hallpass-buttons button { cursor: pointer; position: relative; z-index: 0; }
.glow:before, .glowOnHover:before, .hallpass-buttons button:before, .glow:after, .glowOnHover:after, .hallpass-buttons button:after { content: ''; position: absolute; width: 100%; height: 100%; left: 0; top: 0; border-radius: inherit; z-index: -1; }
.glow:before, .glowOnHover:before, .hallpass-buttons button:before { background: linear-gradient(45deg, #ff0000, #ff7300, #fffb00, #48ff00, #00ffd5, #002bff, #7a00ff, #ff00c8, #ff0000); background-size: 400%; filter: blur(5px); width: calc(100% + 4px); height: calc(100% + 4px); top: -2px; left: -2px; opacity: 0; transition: opacity .3s ease-in-out; animation: glowing 20s linear infinite; }
.glow:hover:before, .glowOnHover:hover:before, .hallpass-buttons button:hover:before { opacity: 1; }
.glow:after, .glowOnHover:after, .hallpass-buttons button:after { background: #1e1e1e; }

.glowOnHover, .hallpass-buttons button { border: none; outline: none; color: #fff; background: #1e1e1e; border-radius: 12px; }

@keyframes glowing { 0%,
    100% { background-position: 0 0; }
  50% { background-position: 400% 0; } }
.small { height: 28px; padding: 4px 10px; border-radius: 40px; border: none; font-size: 15px; line-height: 20px; letter-spacing: -0.23px; cursor: pointer; }

.medium, .hallpass-buttons button { height: 35px; padding: 7px 14px; border-radius: 12px; border: none; font-size: 15px; line-height: 20px; letter-spacing: -0.23px; cursor: pointer; }

.large { height: 50px; padding: 14px 20px; border-radius: 12px; border: none; font-size: 17px; line-height: 22px; letter-spacing: -0.43px; cursor: pointer; }

.glass, .tintedGlass, .site-header, .dropdown .dropdown-content, .dropdownp1 .dropdown-content, .dropdownp2 .dropdown-content, .dropdownp3 .dropdown-content, .dropdownp4 .dropdown-content, .container, .hallpass-container { backdrop-filter: blur(30px); }

.tintedGlass, .site-header, .dropdown .dropdown-content, .dropdownp1 .dropdown-content, .dropdownp2 .dropdown-content, .dropdownp3 .dropdown-content, .dropdownp4 .dropdown-content { background: rgba(50, 50, 50, 0.5); }

.glow, .glowOnHover, .hallpass-buttons button { cursor: pointer; position: relative; z-index: 0; }
.glow:before, .glowOnHover:before, .hallpass-buttons button:before, .glow:after, .glowOnHover:after, .hallpass-buttons button:after { content: ''; position: absolute; width: 100%; height: 100%; left: 0; top: 0; border-radius: inherit; z-index: -1; }
.glow:before, .glowOnHover:before, .hallpass-buttons button:before { background: linear-gradient(45deg, #ff0000, #ff7300, #fffb00, #48ff00, #00ffd5, #002bff, #7a00ff, #ff00c8, #ff0000); background-size: 400%; filter: blur(5px); width: calc(100% + 4px); height: calc(100% + 4px); top: -2px; left: -2px; opacity: 0; transition: opacity .3s ease-in-out; animation: glowing 20s linear infinite; }
.glow:hover:before, .glowOnHover:hover:before, .hallpass-buttons button:hover:before { opacity: 1; }
.glow:after, .glowOnHover:after, .hallpass-buttons button:after { background: #1e1e1e; }

.glowOnHover, .hallpass-buttons button { border: none; outline: none; color: #fff; background: #1e1e1e; border-radius: 12px; }

@keyframes glowing { 0%,
    100% { background-position: 0 0; }
  50% { background-position: 400% 0; } }
.disabled { color: rgba(118, 118, 128, 0.48); background-color: rgba(120, 120, 128, 0.12); cursor: not-allowed; opacity: 0.5; transition: all 0.5s; }
.disabled:hover, .disabled:active { background-color: inherit; }

.primary.disabled, .hallpass-buttons button.disabled, .secondary.disabled, .tertiary.disabled { color: rgba(118, 118, 128, 0.48); background-color: rgba(120, 120, 128, 0.12); cursor: not-allowed; opacity: 0.5; transition: all 0.5s; }
.primary.disabled:hover, .hallpass-buttons button.disabled:hover, .primary.disabled:active, .hallpass-buttons button.disabled:active, .secondary.disabled:hover, .secondary.disabled:active, .tertiary.disabled:hover, .tertiary.disabled:active { background-color: inherit; }

.small { height: 28px; padding: 4px 10px; border-radius: 40px; border: none; font-size: 15px; line-height: 20px; letter-spacing: -0.23px; cursor: pointer; }

.medium, .hallpass-buttons button { height: 35px; padding: 7px 14px; border-radius: 12px; border: none; font-size: 15px; line-height: 20px; letter-spacing: -0.23px; cursor: pointer; }

.large { height: 50px; padding: 14px 20px; border-radius: 12px; border: none; font-size: 17px; line-height: 22px; letter-spacing: -0.43px; cursor: pointer; }

button, .primary, .hallpass-buttons button { color: white; background-color: rgba(80, 80, 80, 0.7); transition: all 0.5s; transition: all 0.5s; }
button:hover, .primary:hover, .hallpass-buttons button:hover { background-color: rgba(55, 55, 55, 0.7); }
button:active, .primary:active, .hallpass-buttons button:active { background-color: rgba(29, 29, 29, 0.7); }

.secondary { color: #999999; background-color: rgba(120, 120, 128, 0.12); transition: all 0.5s; transition: all 0.5s; }
.secondary:hover { background-color: rgba(95, 95, 102, 0.12); }
.secondary:active { background-color: rgba(71, 71, 75, 0.12); }

.filledHighlight { background-color: #007aff; transition: all 0.5s; transition: all 0.5s; }
.filledHighlight:hover { background-color: #0062cc; }
.filledHighlight:active { background-color: #004999; }

.filledTinted { color: #007aff; background-color: rgba(0, 122, 255, 0.15); transition: all 0.5s; transition: all 0.5s; }
.filledTinted:hover { background-color: rgba(0, 98, 204, 0.15); }
.filledTinted:active { background-color: rgba(0, 73, 153, 0.15); }

.disabled { color: rgba(118, 118, 128, 0.48); background-color: rgba(120, 120, 128, 0.12); cursor: not-allowed; opacity: 0.5; transition: all 0.5s; }
.disabled:hover, .disabled:active { background-color: inherit; }

.primary.disabled, .hallpass-buttons button.disabled, .secondary.disabled, .tertiary.disabled { color: rgba(118, 118, 128, 0.48); background-color: rgba(120, 120, 128, 0.12); cursor: not-allowed; opacity: 0.5; transition: all 0.5s; }
.primary.disabled:hover, .hallpass-buttons button.disabled:hover, .primary.disabled:active, .hallpass-buttons button.disabled:active, .secondary.disabled:hover, .secondary.disabled:active, .tertiary.disabled:hover, .tertiary.disabled:active { background-color: inherit; }

/* define class for redifined button */
.button, .calculator-number, .calculator-operation, .calculator-clear, .calculator-equals { width: auto; height: auto; border-radius: 10px; background-color: #21807c; border: 3px solid black; font-size: 1.5em; display: flex; justify-content: center; align-items: center; grid-column: span 1; grid-row: span 1; transition: all 0.5s; }

/* darkens the background color on hover to create a selecting effect */
.button:hover, .calculator-number:hover, .calculator-operation:hover, .calculator-clear:hover, .calculator-equals:hover { background-color: #373737; }

/* "row style" is flexible size and aligns pictures in center */
.row { align-items: center; display: flex; }

/* "column style" is one-third of the width with padding */
.column { flex: 16.66%; padding: 3px; }

/* class to create the calculator's container; uses CSS grid dsiplay to partition off buttons */
.calculator-container { width: 90vw; /* this width and height is specified for mobile devices by default */ height: 80vh; margin: 0 auto; display: grid; grid-template-columns: repeat(4, 1fr); /* fr is a special unit; learn more here: https://css-tricks.com/introduction-fr-css-unit/  */ grid-template-rows: 0.5fr repeat(4, 1fr); gap: 10px 10px; }

@media (min-width: 600px) { .calculator-container { width: 40vw; height: 80vh; } }
/* styling for the calculator number button */
/* styling for the calculator operation button */
/* styling for the calculator clear button */
.calculator-clear { background-color: #e68b1c; }

/* styling for the calculator equals button */
.calculator-equals { background-color: #e70f0f; }

.hallpass-container { max-width: 500px; margin: 40px auto; padding: 20px; background: #1c1c1e; border-radius: 12px; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3); text-align: center; border: 2px solid #48484a; }

.hallpass-header { font-size: 22px; font-weight: bold; color: white; padding-bottom: 10px; border-bottom: 2px solid #3a3a3c; margin-bottom: 15px; }

.hallpass-icon { max-width: 150px; height: auto; margin: 15px auto; display: block; }

.hallpass-details { font-size: 16px; color: #636366; margin-bottom: 10px; }

.hallpass-buttons { display: flex; justify-content: center; gap: 10px; margin-top: 15px; }

.hallpass-buttons button { border-radius: 12px; font-size: 16px; padding: 12px 20px; }

.hallpass-buttons button:hover { transform: scale(1.05); cursor: pointer; }

.glass, .tintedGlass, .site-header, .dropdown .dropdown-content, .dropdownp1 .dropdown-content, .dropdownp2 .dropdown-content, .dropdownp3 .dropdown-content, .dropdownp4 .dropdown-content, .container, .hallpass-container { backdrop-filter: blur(30px); }

.tintedGlass, .site-header, .dropdown .dropdown-content, .dropdownp1 .dropdown-content, .dropdownp2 .dropdown-content, .dropdownp3 .dropdown-content, .dropdownp4 .dropdown-content { background: rgba(50, 50, 50, 0.5); }

.glow, .glowOnHover, .hallpass-buttons button { cursor: pointer; position: relative; z-index: 0; }
.glow:before, .glowOnHover:before, .hallpass-buttons button:before, .glow:after, .glowOnHover:after, .hallpass-buttons button:after { content: ''; position: absolute; width: 100%; height: 100%; left: 0; top: 0; border-radius: inherit; z-index: -1; }
.glow:before, .glowOnHover:before, .hallpass-buttons button:before { background: linear-gradient(45deg, #ff0000, #ff7300, #fffb00, #48ff00, #00ffd5, #002bff, #7a00ff, #ff00c8, #ff0000); background-size: 400%; filter: blur(5px); width: calc(100% + 4px); height: calc(100% + 4px); top: -2px; left: -2px; opacity: 0; transition: opacity .3s ease-in-out; animation: glowing 20s linear infinite; }
.glow:hover:before, .glowOnHover:hover:before, .hallpass-buttons button:hover:before { opacity: 1; }
.glow:after, .glowOnHover:after, .hallpass-buttons button:after { background: #1e1e1e; }

.glowOnHover, .hallpass-buttons button { border: none; outline: none; color: #fff; background: #1e1e1e; border-radius: 12px; }

@keyframes glowing { 0%,
    100% { background-position: 0 0; }
  50% { background-position: 400% 0; } }
.search-result-preview { color: #8e8e93 !important; list-style-type: none !important; list-style: none !important; background-color: #1e1e1e !important; border-bottom-left-radius: 12px; border-bottom-right-radius: 12px; padding-bottom: 10px; padding-left: 10px; padding-right: 10px; }

.search-result-highlight { color: #4bbaff !important; font-weight: bold !important; list-style-type: none !important; list-style: none !important; }

.search-results-list-item .search-result-title { color: white !important; list-style-type: none !important; border-top-left-radius: 12px; border-top-right-radius: 12px; background-color: #1e1e1e !important; padding: 10px; }

.search-results-list-item { list-style-type: none !important; margin-bottom: 10px !important; }

.modal { display: none; position: fixed; z-index: 9999; left: 0; top: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.7); backdrop-filter: blur(5px); padding-top: 50px; }

.modal-content { background-color: #222222; margin: -2% auto; padding: 25px; border-radius: 16px; box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2); width: 80%; max-width: 600px; color: white; font-family: Arial, sans-serif; }

.close { color: #333333; float: right; font-size: 24px; font-weight: bold; cursor: pointer; transition: color 0.3s ease; }
.close:hover, .close:focus { color: #FF0000; text-decoration: none; }

.modal-content input, .modal-content textarea.smallInput, .modal-content textarea.mediumInput, .modal-content textarea.largeInput, .modal-content textarea, .modal-content p { width: 100%; padding: 12px; margin: 15px 0; border-radius: 12px; border: 1px solid #CCCCCC; font-size: 16px; background-color: #222222; color: white; }
.modal-content button { width: 100%; padding: 12px 20px; background-color: #000000; color: #FFFFFF; border: none; border-radius: 12px; font-size: 16px; cursor: pointer; font-weight: bold; transition: background-color 0.3s ease, transform 0.2s ease; }
.modal-content button:hover { background-color: #444444; transform: scale(1.05); }

h1 { display: none; }

h2 { color: white; }

#calendar { margin-left: 20px; box-sizing: border-box; z-index: 0; overflow: hidden; }

.fc-scroller { height: auto !important; overflow: visible !important; }

.fc-head .fc-widget-header { margin-right: 0 !important; }

.calendar { z-index: -100; }

header { top: 0; left: 0; width: 100%; z-index: 1000; }

.fc-toolbar-title { color: white !important; }

.fc-view.fc-dayGridDay-view { max-width: 100%; margin: 0; padding: 0; }

.fc-button.fc-today-button::first-letter { text-transform: capitalize; }

#editDescription { max-height: 250px; overflow-y: auto; white-space: pre-wrap; word-wrap: break-word; }

.styled-dropdown { width: 100%; padding: 12px; margin: 15px 0; border-radius: 12px; border: 1px solid #CCCCCC; font-size: 16px; background-color: #222222; color: white; box-sizing: border-box; }

.fc-scrollgrid, .fc-scrollgrid > tbody > tr > td, .fc-theme-standard .fc-scrollgrid, .fc-theme-standard .fc-scrollgrid > tbody > tr > td, .fc-daygrid, .fc-daygrid-day, .fc-daygrid-body, .fc-daygrid-body table, .fc-daygrid-body td { border-radius: 0 !important; }

td > img[src*="logo.png"] { display: none !important; }

td > img[src*="logo.png"] { display: none !important; }

td:has(> img[src*="logo.png"]) { display: none !important; }

.post-list { font-size: 0.95em; list-style: none; margin: 0; padding: 0; }

.post-list-heading { /* Leave header size as default or adjust here if needed */ font-size: 2em; font-weight: bold; margin-bottom: 0.75em; }

.post-list li { margin-bottom: 1.5em; padding: 1em; border-radius: 0.5em; background: #222222; box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04); transition: background 0.2s; }

.post-list li:hover { background: #222222; }

@media only screen and (max-width: 767px) { .post-list { padding: 10px; font-size: 0.7125em; }
  .post-list-heading { font-size: 2em; }
  .post-list li { padding: 0.75em; margin-bottom: 1em; } }
.rps-lesson .lesson-wrapper { background: #121212; /* slightly lighter than page background */ border-radius: 12px; padding: 40px 32px; margin: 40px auto; max-width: 1000px; box-shadow: 0 0 20px rgba(0, 0, 0, 0.7); border: 1px solid #000000; }

.rps-lesson { background: #121212; min-height: 100vh; font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; color: #fff; margin: 0; padding: 0; }

.rps-lesson .subtitle { text-align: center; color: #e5e7eb; font-style: italic; font-size: 1.15em; margin-bottom: 24px; }

.rps-lesson .play-instructions { background: #121212; color: #fff; border: 2px solid #ffa600; border-radius: 10px; text-align: center; font-weight: bold; font-size: 1.1em; margin: 20px auto 32px auto; padding: 20px; max-width: 700px; }

.rps-lesson .game-buttons { text-align: center; margin: 32px 0 24px 0; display: flex; justify-content: center; gap: 32px; }

.rps-lesson button { background: #232336; color: #fff; border: none; border-radius: 8px; font-size: 1em; font-weight: bold; padding: 10px 32px; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.18); transition: background 0.2s, color 0.2s, transform 0.2s; }

.rps-lesson button:hover { background: #ffa600; color: #232336; transform: translateY(-2px); }

.rps-lesson button:active { background: #c06c84; color: #fff; transform: translateY(-1px); }

.rps-lesson h1 { color: #fff; text-align: center; font-size: 1.5em; font-weight: bold; margin-bottom: 10px; border-bottom: none; padding-bottom: 0; }

.rps-lesson h2 { color: #fff; font-size: 1.5em; font-weight: bold; margin-top: 36px; margin-bottom: 18px; border-left: 5px solid #c06c84; padding-left: 18px; }

.rps-lesson h3 { color: #fff; font-size: 1.25em; font-weight: bold; margin-top: 28px; margin-bottom: 12px; }

.rps-lesson h4 { color: #fff; font-size: 1.1em; font-weight: bold; margin-top: 20px; margin-bottom: 8px; }

.rps-lesson p, .rps-lesson li, .rps-lesson strong { color: #e5e7eb; font-size: 0.98em; }

.rps-lesson ul, .rps-lesson ol { margin: 15px 0; padding-left: 30px; }

.rps-lesson li { margin: 8px 0; }

/* Section highlight for all major content blocks */
.rps-lesson .section-highlight { background: #121212; border-radius: 16px; border: 2px solid #c06c84; box-shadow: 0 0 0 2px #c06c84; padding: 32px 28px 24px 28px; margin-bottom: 32px; }

.rps-lesson .console-example, .rps-lesson .code-block { background: #000 !important; color: #f6f5f4 !important; padding: 18px; font-family: 'Courier New', monospace; margin: 18px 0; border: 2px solid #8e6fc4; border-radius: 8px; overflow-x: auto; font-size: 1em; }

.rps-lesson .checkpoint-section { margin: 32px 0 24px 0; padding: 24px; background: #111112; border-radius: 12px; border: 2px solid #ffd700; box-shadow: 0 2px 12px #0004; }

.rps-lesson .checkpoint-label { font-weight: bold; color: #ffffff; font-size: 1.1em; margin-bottom: 8px; display: block; }

.rps-lesson .checkpoint-input { width: 100%; padding: 10px; font-size: 1em; border-radius: 6px; border: 2px solid #444; margin-bottom: 10px; background: #121212; color: #fff; outline: none; transition: border 0.2s, box-shadow 0.2s; }

.rps-lesson .checkpoint-input.correct { border: 2px solid #22c55e; box-shadow: 0 0 8px #22c55e; background: #1e2e1e; }

.rps-lesson .checkpoint-input.incorrect { border: 2px solid #ef4444; box-shadow: 0 0 8px #ef4444; background: #2e1e1e; }

.rps-lesson .checkpoint-feedback { font-weight: bold; margin-bottom: 8px; min-height: 24px; }

.rps-lesson .checkpoint-feedback.correct { color: #22c55e; }

.rps-lesson .checkpoint-feedback.incorrect { color: #ef4444; }

.rps-lesson .show-answer-btn { background: #111112; color: #fff; border: none; border-radius: 6px; padding: 6px 16px; font-weight: bold; cursor: pointer; margin-top: 8px; margin-bottom: 0; }

.rps-lesson .show-answer-btn:hover { background: #8e6fc4; }

.rps-lesson .flowchart-box { border: 2px solid #fff !important; background: #121212; border-radius: 8px; max-width: 500px; text-align: left; padding: 1rem 1.5rem; }

.rps-lesson .flowchart-arrow { color: #fff !important; font-size: 2.5rem; }

.glass, .tintedGlass, .site-header, .dropdown .dropdown-content, .dropdownp1 .dropdown-content, .dropdownp2 .dropdown-content, .dropdownp3 .dropdown-content, .dropdownp4 .dropdown-content, .container, .hallpass-container { backdrop-filter: blur(30px); }

.tintedGlass, .site-header, .dropdown .dropdown-content, .dropdownp1 .dropdown-content, .dropdownp2 .dropdown-content, .dropdownp3 .dropdown-content, .dropdownp4 .dropdown-content { background: rgba(50, 50, 50, 0.5); }

.glow, .glowOnHover, .hallpass-buttons button { cursor: pointer; position: relative; z-index: 0; }
.glow:before, .glowOnHover:before, .hallpass-buttons button:before, .glow:after, .glowOnHover:after, .hallpass-buttons button:after { content: ''; position: absolute; width: 100%; height: 100%; left: 0; top: 0; border-radius: inherit; z-index: -1; }
.glow:before, .glowOnHover:before, .hallpass-buttons button:before { background: linear-gradient(45deg, #ff0000, #ff7300, #fffb00, #48ff00, #00ffd5, #002bff, #7a00ff, #ff00c8, #ff0000); background-size: 400%; filter: blur(5px); width: calc(100% + 4px); height: calc(100% + 4px); top: -2px; left: -2px; opacity: 0; transition: opacity .3s ease-in-out; animation: glowing 20s linear infinite; }
.glow:hover:before, .glowOnHover:hover:before, .hallpass-buttons button:hover:before { opacity: 1; }
.glow:after, .glowOnHover:after, .hallpass-buttons button:after { background: #1e1e1e; }

.glowOnHover, .hallpass-buttons button { border: none; outline: none; color: #fff; background: #1e1e1e; border-radius: 12px; }

@keyframes glowing { 0%,
    100% { background-position: 0 0; }
  50% { background-position: 400% 0; } }
.small { height: 28px; padding: 4px 10px; border-radius: 40px; border: none; font-size: 15px; line-height: 20px; letter-spacing: -0.23px; cursor: pointer; }

.medium, .hallpass-buttons button { height: 35px; padding: 7px 14px; border-radius: 12px; border: none; font-size: 15px; line-height: 20px; letter-spacing: -0.23px; cursor: pointer; }

.large { height: 50px; padding: 14px 20px; border-radius: 12px; border: none; font-size: 17px; line-height: 22px; letter-spacing: -0.43px; cursor: pointer; }

.glass, .tintedGlass, .site-header, .dropdown .dropdown-content, .dropdownp1 .dropdown-content, .dropdownp2 .dropdown-content, .dropdownp3 .dropdown-content, .dropdownp4 .dropdown-content, .container, .hallpass-container { backdrop-filter: blur(30px); }

.tintedGlass, .site-header, .dropdown .dropdown-content, .dropdownp1 .dropdown-content, .dropdownp2 .dropdown-content, .dropdownp3 .dropdown-content, .dropdownp4 .dropdown-content { background: rgba(50, 50, 50, 0.5); }

.glow, .glowOnHover, .hallpass-buttons button { cursor: pointer; position: relative; z-index: 0; }
.glow:before, .glowOnHover:before, .hallpass-buttons button:before, .glow:after, .glowOnHover:after, .hallpass-buttons button:after { content: ''; position: absolute; width: 100%; height: 100%; left: 0; top: 0; border-radius: inherit; z-index: -1; }
.glow:before, .glowOnHover:before, .hallpass-buttons button:before { background: linear-gradient(45deg, #ff0000, #ff7300, #fffb00, #48ff00, #00ffd5, #002bff, #7a00ff, #ff00c8, #ff0000); background-size: 400%; filter: blur(5px); width: calc(100% + 4px); height: calc(100% + 4px); top: -2px; left: -2px; opacity: 0; transition: opacity .3s ease-in-out; animation: glowing 20s linear infinite; }
.glow:hover:before, .glowOnHover:hover:before, .hallpass-buttons button:hover:before { opacity: 1; }
.glow:after, .glowOnHover:after, .hallpass-buttons button:after { background: #1e1e1e; }

.glowOnHover, .hallpass-buttons button { border: none; outline: none; color: #fff; background: #1e1e1e; border-radius: 12px; }

@keyframes glowing { 0%,
    100% { background-position: 0 0; }
  50% { background-position: 400% 0; } }
.disabled { color: rgba(118, 118, 128, 0.48); background-color: rgba(120, 120, 128, 0.12); cursor: not-allowed; opacity: 0.5; transition: all 0.5s; }
.disabled:hover, .disabled:active { background-color: inherit; }

.primary.disabled, .hallpass-buttons button.disabled, .secondary.disabled, .tertiary.disabled { color: rgba(118, 118, 128, 0.48); background-color: rgba(120, 120, 128, 0.12); cursor: not-allowed; opacity: 0.5; transition: all 0.5s; }
.primary.disabled:hover, .hallpass-buttons button.disabled:hover, .primary.disabled:active, .hallpass-buttons button.disabled:active, .secondary.disabled:hover, .secondary.disabled:active, .tertiary.disabled:hover, .tertiary.disabled:active { background-color: inherit; }

.small { height: 28px; padding: 4px 10px; border-radius: 40px; border: none; font-size: 15px; line-height: 20px; letter-spacing: -0.23px; cursor: pointer; }

.medium, .hallpass-buttons button { height: 35px; padding: 7px 14px; border-radius: 12px; border: none; font-size: 15px; line-height: 20px; letter-spacing: -0.23px; cursor: pointer; }

.large { height: 50px; padding: 14px 20px; border-radius: 12px; border: none; font-size: 17px; line-height: 22px; letter-spacing: -0.43px; cursor: pointer; }

button, .primary, .hallpass-buttons button { color: white; background-color: rgba(80, 80, 80, 0.7); transition: all 0.5s; transition: all 0.5s; }
button:hover, .primary:hover, .hallpass-buttons button:hover { background-color: rgba(55, 55, 55, 0.7); }
button:active, .primary:active, .hallpass-buttons button:active { background-color: rgba(29, 29, 29, 0.7); }

.secondary { color: #999999; background-color: rgba(120, 120, 128, 0.12); transition: all 0.5s; transition: all 0.5s; }
.secondary:hover { background-color: rgba(95, 95, 102, 0.12); }
.secondary:active { background-color: rgba(71, 71, 75, 0.12); }

.filledHighlight { background-color: #007aff; transition: all 0.5s; transition: all 0.5s; }
.filledHighlight:hover { background-color: #0062cc; }
.filledHighlight:active { background-color: #004999; }

.filledTinted { color: #007aff; background-color: rgba(0, 122, 255, 0.15); transition: all 0.5s; transition: all 0.5s; }
.filledTinted:hover { background-color: rgba(0, 98, 204, 0.15); }
.filledTinted:active { background-color: rgba(0, 73, 153, 0.15); }

.disabled { color: rgba(118, 118, 128, 0.48); background-color: rgba(120, 120, 128, 0.12); cursor: not-allowed; opacity: 0.5; transition: all 0.5s; }
.disabled:hover, .disabled:active { background-color: inherit; }

.primary.disabled, .hallpass-buttons button.disabled, .secondary.disabled, .tertiary.disabled { color: rgba(118, 118, 128, 0.48); background-color: rgba(120, 120, 128, 0.12); cursor: not-allowed; opacity: 0.5; transition: all 0.5s; }
.primary.disabled:hover, .hallpass-buttons button.disabled:hover, .primary.disabled:active, .hallpass-buttons button.disabled:active, .secondary.disabled:hover, .secondary.disabled:active, .tertiary.disabled:hover, .tertiary.disabled:active { background-color: inherit; }

/* define class for redifined button */
.button, .calculator-number, .calculator-operation, .calculator-clear, .calculator-equals { width: auto; height: auto; border-radius: 10px; background-color: #21807c; border: 3px solid black; font-size: 1.5em; display: flex; justify-content: center; align-items: center; grid-column: span 1; grid-row: span 1; transition: all 0.5s; }

/* darkens the background color on hover to create a selecting effect */
.button:hover, .calculator-number:hover, .calculator-operation:hover, .calculator-clear:hover, .calculator-equals:hover { background-color: #373737; }

/* "row style" is flexible size and aligns pictures in center */
.row { align-items: center; display: flex; }

/* "column style" is one-third of the width with padding */
.column { flex: 16.66%; padding: 3px; }

/* class to create the calculator's container; uses CSS grid dsiplay to partition off buttons */
.calculator-container { width: 90vw; /* this width and height is specified for mobile devices by default */ height: 80vh; margin: 0 auto; display: grid; grid-template-columns: repeat(4, 1fr); /* fr is a special unit; learn more here: https://css-tricks.com/introduction-fr-css-unit/  */ grid-template-rows: 0.5fr repeat(4, 1fr); gap: 10px 10px; }

@media (min-width: 600px) { .calculator-container { width: 40vw; height: 80vh; } }
/* styling for the calculator number button */
/* styling for the calculator operation button */
/* styling for the calculator clear button */
.calculator-clear { background-color: #e68b1c; }

/* styling for the calculator equals button */
.calculator-equals { background-color: #e70f0f; }

.glass, .tintedGlass, .site-header, .dropdown .dropdown-content, .dropdownp1 .dropdown-content, .dropdownp2 .dropdown-content, .dropdownp3 .dropdown-content, .dropdownp4 .dropdown-content, .container, .hallpass-container { backdrop-filter: blur(30px); }

.tintedGlass, .site-header, .dropdown .dropdown-content, .dropdownp1 .dropdown-content, .dropdownp2 .dropdown-content, .dropdownp3 .dropdown-content, .dropdownp4 .dropdown-content { background: rgba(50, 50, 50, 0.5); }

.glow, .glowOnHover, .hallpass-buttons button { cursor: pointer; position: relative; z-index: 0; }
.glow:before, .glowOnHover:before, .hallpass-buttons button:before, .glow:after, .glowOnHover:after, .hallpass-buttons button:after { content: ''; position: absolute; width: 100%; height: 100%; left: 0; top: 0; border-radius: inherit; z-index: -1; }
.glow:before, .glowOnHover:before, .hallpass-buttons button:before { background: linear-gradient(45deg, #ff0000, #ff7300, #fffb00, #48ff00, #00ffd5, #002bff, #7a00ff, #ff00c8, #ff0000); background-size: 400%; filter: blur(5px); width: calc(100% + 4px); height: calc(100% + 4px); top: -2px; left: -2px; opacity: 0; transition: opacity .3s ease-in-out; animation: glowing 20s linear infinite; }
.glow:hover:before, .glowOnHover:hover:before, .hallpass-buttons button:hover:before { opacity: 1; }
.glow:after, .glowOnHover:after, .hallpass-buttons button:after { background: #1e1e1e; }

.glowOnHover, .hallpass-buttons button { border: none; outline: none; color: #fff; background: #1e1e1e; border-radius: 12px; }

@keyframes glowing { 0%,
    100% { background-position: 0 0; }
  50% { background-position: 400% 0; } }
/* Define a mixin for common dropdown styles */
/* Apply mixin to dropdown menus */
.dropdown { position: relative; display: inline-block; z-index: 1; }
.dropdown:hover .dropdown-content { display: block; animation: scaleIn 0.3s ease forwards; }
.dropdown .dropdown-content { display: none; position: fixed; border-radius: 12px; box-shadow: 0px 8px 16px 0px black; overflow: hidden; }
.dropdown .dropdown-content a { position: relative; padding: 12px 16px; text-decoration: none; display: block; color: #ecf0f1; transition: color 0.3s ease, background-color 0.3s ease; border-radius: 12px; }
.dropdown .dropdown-content a::after { position: absolute; content: ""; left: 0; width: 100%; height: 60px; background: rgba(255, 255, 255, 0.5); transform: scaleX(0); transform-origin: right; transition: transform 0.3s ease; bottom: 0; }
.dropdown .dropdown-content a:hover { color: #95a5a6; background-color: transparent; border-radius: 12px; }
.dropdown .dropdown-content a:hover::after { transform: scaleX(1); transform-origin: left; }

.dropdownp1 { position: relative; display: inline-block; z-index: 1; }
.dropdownp1:hover .dropdown-content { display: block; animation: scaleIn 0.3s ease forwards; }
.dropdownp1 .dropdown-content { display: none; position: fixed; border-radius: 12px; box-shadow: 0px 8px 16px 0px black; overflow: hidden; }
.dropdownp1 .dropdown-content a { position: relative; padding: 12px 16px; text-decoration: none; display: block; color: #ecf0f1; transition: color 0.3s ease, background-color 0.3s ease; border-radius: 12px; }
.dropdownp1 .dropdown-content a::after { position: absolute; content: ""; left: 0; width: 100%; height: 60px; background: rgba(255, 255, 255, 0.5); transform: scaleX(0); transform-origin: right; transition: transform 0.3s ease; bottom: 0; }
.dropdownp1 .dropdown-content a:hover { color: #95a5a6; background-color: transparent; border-radius: 12px; }
.dropdownp1 .dropdown-content a:hover::after { transform: scaleX(1); transform-origin: left; }

.dropdownp2 { position: relative; display: inline-block; z-index: 1; }
.dropdownp2:hover .dropdown-content { display: block; animation: scaleIn 0.3s ease forwards; }
.dropdownp2 .dropdown-content { display: none; position: fixed; border-radius: 12px; box-shadow: 0px 8px 16px 0px black; overflow: hidden; }
.dropdownp2 .dropdown-content a { position: relative; padding: 12px 16px; text-decoration: none; display: block; color: #ecf0f1; transition: color 0.3s ease, background-color 0.3s ease; border-radius: 12px; }
.dropdownp2 .dropdown-content a::after { position: absolute; content: ""; left: 0; width: 100%; height: 60px; background: rgba(255, 255, 255, 0.5); transform: scaleX(0); transform-origin: right; transition: transform 0.3s ease; bottom: 0; }
.dropdownp2 .dropdown-content a:hover { color: #95a5a6; background-color: transparent; border-radius: 12px; }
.dropdownp2 .dropdown-content a:hover::after { transform: scaleX(1); transform-origin: left; }

.dropdownp3 { position: relative; display: inline-block; z-index: 1; }
.dropdownp3:hover .dropdown-content { display: block; animation: scaleIn 0.3s ease forwards; }
.dropdownp3 .dropdown-content { display: none; position: fixed; border-radius: 12px; box-shadow: 0px 8px 16px 0px black; overflow: hidden; }
.dropdownp3 .dropdown-content a { position: relative; padding: 12px 16px; text-decoration: none; display: block; color: #ecf0f1; transition: color 0.3s ease, background-color 0.3s ease; border-radius: 12px; }
.dropdownp3 .dropdown-content a::after { position: absolute; content: ""; left: 0; width: 100%; height: 60px; background: rgba(255, 255, 255, 0.5); transform: scaleX(0); transform-origin: right; transition: transform 0.3s ease; bottom: 0; }
.dropdownp3 .dropdown-content a:hover { color: #95a5a6; background-color: transparent; border-radius: 12px; }
.dropdownp3 .dropdown-content a:hover::after { transform: scaleX(1); transform-origin: left; }

.dropdownp4 { position: relative; display: inline-block; z-index: 1; }
.dropdownp4:hover .dropdown-content { display: block; animation: scaleIn 0.3s ease forwards; }
.dropdownp4 .dropdown-content { display: none; position: fixed; border-radius: 12px; box-shadow: 0px 8px 16px 0px black; overflow: hidden; }
.dropdownp4 .dropdown-content a { position: relative; padding: 12px 16px; text-decoration: none; display: block; color: #ecf0f1; transition: color 0.3s ease, background-color 0.3s ease; border-radius: 12px; }
.dropdownp4 .dropdown-content a::after { position: absolute; content: ""; left: 0; width: 100%; height: 60px; background: rgba(255, 255, 255, 0.5); transform: scaleX(0); transform-origin: right; transition: transform 0.3s ease; bottom: 0; }
.dropdownp4 .dropdown-content a:hover { color: #95a5a6; background-color: transparent; border-radius: 12px; }
.dropdownp4 .dropdown-content a:hover::after { transform: scaleX(1); transform-origin: left; }

@keyframes scaleIn { 0% { transform: scale(0.8); opacity: 0; }
  100% { transform: scale(1); opacity: 1; } }
.dropbtn { border: none; background-color: transparent !important; text-decoration: underline; }

.glass, .tintedGlass, .site-header, .dropdown .dropdown-content, .dropdownp1 .dropdown-content, .dropdownp2 .dropdown-content, .dropdownp3 .dropdown-content, .dropdownp4 .dropdown-content, .container, .hallpass-container { backdrop-filter: blur(30px); }

.tintedGlass, .site-header, .dropdown .dropdown-content, .dropdownp1 .dropdown-content, .dropdownp2 .dropdown-content, .dropdownp3 .dropdown-content, .dropdownp4 .dropdown-content { background: rgba(50, 50, 50, 0.5); }

.glow, .glowOnHover, .hallpass-buttons button { cursor: pointer; position: relative; z-index: 0; }
.glow:before, .glowOnHover:before, .hallpass-buttons button:before, .glow:after, .glowOnHover:after, .hallpass-buttons button:after { content: ''; position: absolute; width: 100%; height: 100%; left: 0; top: 0; border-radius: inherit; z-index: -1; }
.glow:before, .glowOnHover:before, .hallpass-buttons button:before { background: linear-gradient(45deg, #ff0000, #ff7300, #fffb00, #48ff00, #00ffd5, #002bff, #7a00ff, #ff00c8, #ff0000); background-size: 400%; filter: blur(5px); width: calc(100% + 4px); height: calc(100% + 4px); top: -2px; left: -2px; opacity: 0; transition: opacity .3s ease-in-out; animation: glowing 20s linear infinite; }
.glow:hover:before, .glowOnHover:hover:before, .hallpass-buttons button:hover:before { opacity: 1; }
.glow:after, .glowOnHover:after, .hallpass-buttons button:after { background: #1e1e1e; }

.glowOnHover, .hallpass-buttons button { border: none; outline: none; color: #fff; background: #1e1e1e; border-radius: 12px; }

@keyframes glowing { 0%,
    100% { background-position: 0 0; }
  50% { background-position: 400% 0; } }
img { border-radius: 12px; }

.loading-container { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.9); backdrop-filter: blur(30px); display: flex; justify-content: center; align-items: center; z-index: 9999; }

.spinner { border: 8px solid #f3f3f3; border-top: 8px solid #3498db; border-radius: 50%; width: 50px; height: 50px; animation: spin 2s linear infinite; }

@keyframes spin { 0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); } }
.glass, .tintedGlass, .site-header, .dropdown .dropdown-content, .dropdownp1 .dropdown-content, .dropdownp2 .dropdown-content, .dropdownp3 .dropdown-content, .dropdownp4 .dropdown-content, .container, .hallpass-container { backdrop-filter: blur(30px); }

.tintedGlass, .site-header, .dropdown .dropdown-content, .dropdownp1 .dropdown-content, .dropdownp2 .dropdown-content, .dropdownp3 .dropdown-content, .dropdownp4 .dropdown-content { background: rgba(50, 50, 50, 0.5); }

.glow, .glowOnHover, .hallpass-buttons button { cursor: pointer; position: relative; z-index: 0; }
.glow:before, .glowOnHover:before, .hallpass-buttons button:before, .glow:after, .glowOnHover:after, .hallpass-buttons button:after { content: ''; position: absolute; width: 100%; height: 100%; left: 0; top: 0; border-radius: inherit; z-index: -1; }
.glow:before, .glowOnHover:before, .hallpass-buttons button:before { background: linear-gradient(45deg, #ff0000, #ff7300, #fffb00, #48ff00, #00ffd5, #002bff, #7a00ff, #ff00c8, #ff0000); background-size: 400%; filter: blur(5px); width: calc(100% + 4px); height: calc(100% + 4px); top: -2px; left: -2px; opacity: 0; transition: opacity .3s ease-in-out; animation: glowing 20s linear infinite; }
.glow:hover:before, .glowOnHover:hover:before, .hallpass-buttons button:hover:before { opacity: 1; }
.glow:after, .glowOnHover:after, .hallpass-buttons button:after { background: #1e1e1e; }

.glowOnHover, .hallpass-buttons button { border: none; outline: none; color: #fff; background: #1e1e1e; border-radius: 12px; }

@keyframes glowing { 0%,
    100% { background-position: 0 0; }
  50% { background-position: 400% 0; } }
table th { background-color: #2c2c2e; border-color: #636366; color: white; }

table td { background-color: #1c1c1e; border-color: #636366; }

thead { display: table-header-group; vertical-align: middle; border-color: inherit; border-collapse: separate; }

table { /* Change these properties */ --border: $gray2; border-radius: 12px; /* Don't change these properties */ border-spacing: 0; border-collapse: separate; border: var(--border); overflow: hidden; }

/* Apply a border to the right of all but the last column */
table th:not(:last-child), table td:not(:last-child) { border-right: var(--border); }

table th:last-child { border-top-right-radius: 12px; }

table th:first-child { border-top-left-radius: 12px; }

table tr:last-child td:last-child { border-bottom-right-radius: 12px; }

table tr:last-child td:first-child { border-bottom-left-radius: 12px; }

/* Handle single-row tables */
table tr:first-child td:first-child { border-top-left-radius: 12px; }

table tr:first-child td:last-child { border-top-right-radius: 12px; }

/* Apply a border to the bottom of all but the last row */
table > thead > tr:not(:last-child) > th, table > thead > tr:not(:last-child) > td, table > tbody > tr:not(:last-child) > th, table > tbody > tr:not(:last-child) > td, table > tfoot > tr:not(:last-child) > th, table > tfoot > tr:not(:last-child) > td, table > tr:not(:last-child) > td, table > tr:not(:last-child) > th, table > thead:not(:last-child), table > tbody:not(:last-child), table > tfoot:not(:last-child) { border-bottom: var(--border); }

input, input.smallInput, input.mediumInput, input.largeInput, textarea.smallInput, textarea.mediumInput, textarea.largeInput, input.gradientInput, textarea { color: white; border-radius: 12px; border: 1px solid rgba(72, 72, 81, 0.63); filter: drop-shadow(0 10px 10px rgba(0, 0, 0, 0.3)); padding: 15px; transition: all 0.3s ease; }
input:focus, textarea.smallInput:focus, textarea.mediumInput:focus, textarea.largeInput:focus, textarea:focus { outline: none; border-color: rgba(255, 255, 255, 0.3); }
input:-webkit-autofill, textarea.smallInput:-webkit-autofill, textarea.mediumInput:-webkit-autofill, textarea.largeInput:-webkit-autofill, input:-webkit-autofill:hover, textarea.smallInput:-webkit-autofill:hover, textarea.mediumInput:-webkit-autofill:hover, textarea.largeInput:-webkit-autofill:hover, input:-webkit-autofill:focus, textarea.smallInput:-webkit-autofill:focus, textarea.mediumInput:-webkit-autofill:focus, textarea.largeInput:-webkit-autofill:focus, input:-webkit-autofill:active, textarea.smallInput:-webkit-autofill:active, textarea.mediumInput:-webkit-autofill:active, textarea.largeInput:-webkit-autofill:active, textarea:-webkit-autofill, textarea:-webkit-autofill:hover, textarea:-webkit-autofill:focus, textarea:-webkit-autofill:active { -webkit-background-clip: text; -webkit-text-fill-color: #ffffff; transition: background-color 5000s ease-in-out 0s; box-shadow: inset 0 0 20px 20px #23232329; }

input, input.smallInput, input.mediumInput, input.largeInput, textarea.smallInput, textarea.mediumInput, textarea.largeInput, input.gradientInput, textarea { color: white; border-radius: 12px; border: 1px solid rgba(72, 72, 81, 0.63); filter: drop-shadow(0 10px 10px rgba(0, 0, 0, 0.3)); padding: 15px; transition: all 0.3s ease; }
input:focus, textarea.smallInput:focus, textarea.mediumInput:focus, textarea.largeInput:focus, textarea:focus { outline: none; border-color: rgba(255, 255, 255, 0.3); }
input:-webkit-autofill, textarea.smallInput:-webkit-autofill, textarea.mediumInput:-webkit-autofill, textarea.largeInput:-webkit-autofill, input:-webkit-autofill:hover, textarea.smallInput:-webkit-autofill:hover, textarea.mediumInput:-webkit-autofill:hover, textarea.largeInput:-webkit-autofill:hover, input:-webkit-autofill:focus, textarea.smallInput:-webkit-autofill:focus, textarea.mediumInput:-webkit-autofill:focus, textarea.largeInput:-webkit-autofill:focus, input:-webkit-autofill:active, textarea.smallInput:-webkit-autofill:active, textarea.mediumInput:-webkit-autofill:active, textarea.largeInput:-webkit-autofill:active, textarea:-webkit-autofill, textarea:-webkit-autofill:hover, textarea:-webkit-autofill:focus, textarea:-webkit-autofill:active { -webkit-background-clip: text; -webkit-text-fill-color: #ffffff; transition: background-color 5000s ease-in-out 0s; box-shadow: inset 0 0 20px 20px #23232329; }

input.smallInput, textarea.smallInput { font-size: 0.8em; }

input.mediumInput, textarea.mediumInput { font-size: 1.1em; }

input.largeInput, textarea.largeInput { font-size: 1.5em; }

textarea.smallInput { font-size: 0.8em; height: 8em; }

textarea.mediumInput { font-size: 1.1em; height: 12em; }

textarea.largeInput { font-size: 1.5em; height: 24em; }

input, input.smallInput, input.mediumInput, input.largeInput, textarea.smallInput, textarea.mediumInput, textarea.largeInput, input.gradientInput, textarea { color: white; border-radius: 12px; border: 1px solid rgba(72, 72, 81, 0.63); filter: drop-shadow(0 10px 10px rgba(0, 0, 0, 0.3)); padding: 15px; transition: all 0.3s ease; }
input:focus, textarea.smallInput:focus, textarea.mediumInput:focus, textarea.largeInput:focus, textarea:focus { outline: none; border-color: rgba(255, 255, 255, 0.3); }
input:-webkit-autofill, textarea.smallInput:-webkit-autofill, textarea.mediumInput:-webkit-autofill, textarea.largeInput:-webkit-autofill, input:-webkit-autofill:hover, textarea.smallInput:-webkit-autofill:hover, textarea.mediumInput:-webkit-autofill:hover, textarea.largeInput:-webkit-autofill:hover, input:-webkit-autofill:focus, textarea.smallInput:-webkit-autofill:focus, textarea.mediumInput:-webkit-autofill:focus, textarea.largeInput:-webkit-autofill:focus, input:-webkit-autofill:active, textarea.smallInput:-webkit-autofill:active, textarea.mediumInput:-webkit-autofill:active, textarea.largeInput:-webkit-autofill:active, textarea:-webkit-autofill, textarea:-webkit-autofill:hover, textarea:-webkit-autofill:focus, textarea:-webkit-autofill:active { -webkit-background-clip: text; -webkit-text-fill-color: #ffffff; transition: background-color 5000s ease-in-out 0s; box-shadow: inset 0 0 20px 20px #23232329; }

.glass, .tintedGlass, .site-header, .dropdown .dropdown-content, .dropdownp1 .dropdown-content, .dropdownp2 .dropdown-content, .dropdownp3 .dropdown-content, .dropdownp4 .dropdown-content, .container, .hallpass-container { backdrop-filter: blur(30px); }

.tintedGlass, .site-header, .dropdown .dropdown-content, .dropdownp1 .dropdown-content, .dropdownp2 .dropdown-content, .dropdownp3 .dropdown-content, .dropdownp4 .dropdown-content { background: rgba(50, 50, 50, 0.5); }

.glow, .glowOnHover, .hallpass-buttons button { cursor: pointer; position: relative; z-index: 0; }
.glow:before, .glowOnHover:before, .hallpass-buttons button:before, .glow:after, .glowOnHover:after, .hallpass-buttons button:after { content: ''; position: absolute; width: 100%; height: 100%; left: 0; top: 0; border-radius: inherit; z-index: -1; }
.glow:before, .glowOnHover:before, .hallpass-buttons button:before { background: linear-gradient(45deg, #ff0000, #ff7300, #fffb00, #48ff00, #00ffd5, #002bff, #7a00ff, #ff00c8, #ff0000); background-size: 400%; filter: blur(5px); width: calc(100% + 4px); height: calc(100% + 4px); top: -2px; left: -2px; opacity: 0; transition: opacity .3s ease-in-out; animation: glowing 20s linear infinite; }
.glow:hover:before, .glowOnHover:hover:before, .hallpass-buttons button:hover:before { opacity: 1; }
.glow:after, .glowOnHover:after, .hallpass-buttons button:after { background: #1e1e1e; }

.glowOnHover, .hallpass-buttons button { border: none; outline: none; color: #fff; background: #1e1e1e; border-radius: 12px; }

@keyframes glowing { 0%,
    100% { background-position: 0 0; }
  50% { background-position: 400% 0; } }
input.gradientInput, textarea.gradientInput.smallInput, textarea.gradientInput.mediumInput, textarea.gradientInput.largeInput { background-image: linear-gradient(120deg, #1e1e1e 45%, #2a2a2a); }

.inputIconGroup > ion-icon { position: absolute; top: 50%; left: 10px; /* Adjust based on desired spacing */ transform: translateY(-50%); font-size: 1.5rem; /* Adjust the size of the icon */ color: rgba(255, 255, 255, 0.4); pointer-events: none; /* Ensure the icon does not interfere with input focus */ }

.switch { display: flex; align-items: center; gap: 10px; }
.switch .toggle { position: relative; display: flex; width: 54px; height: 31px; padding: 2px 2px 2px 6px; justify-content: flex-end; align-items: center; }
.switch .toggle input[type="checkbox"], .switch .toggle textarea[type="checkbox"].smallInput, .switch .toggle textarea[type="checkbox"].mediumInput, .switch .toggle textarea[type="checkbox"].largeInput { opacity: 0; width: 0; height: 0; }

.slider { position: absolute; cursor: pointer; inset: 0; border-radius: 100px; }
.slider:before { content: ""; position: absolute; width: 27px; height: 27px; left: 4px; bottom: 4px; border-radius: 50%; }

.label-text { font-size: 16px; color: #fff; user-select: none; }

.glass, .tintedGlass, .site-header, .dropdown .dropdown-content, .dropdownp1 .dropdown-content, .dropdownp2 .dropdown-content, .dropdownp3 .dropdown-content, .dropdownp4 .dropdown-content, .container, .hallpass-container { backdrop-filter: blur(30px); }

.tintedGlass, .site-header, .dropdown .dropdown-content, .dropdownp1 .dropdown-content, .dropdownp2 .dropdown-content, .dropdownp3 .dropdown-content, .dropdownp4 .dropdown-content { background: rgba(50, 50, 50, 0.5); }

.glow, .glowOnHover, .hallpass-buttons button { cursor: pointer; position: relative; z-index: 0; }
.glow:before, .glowOnHover:before, .hallpass-buttons button:before, .glow:after, .glowOnHover:after, .hallpass-buttons button:after { content: ''; position: absolute; width: 100%; height: 100%; left: 0; top: 0; border-radius: inherit; z-index: -1; }
.glow:before, .glowOnHover:before, .hallpass-buttons button:before { background: linear-gradient(45deg, #ff0000, #ff7300, #fffb00, #48ff00, #00ffd5, #002bff, #7a00ff, #ff00c8, #ff0000); background-size: 400%; filter: blur(5px); width: calc(100% + 4px); height: calc(100% + 4px); top: -2px; left: -2px; opacity: 0; transition: opacity .3s ease-in-out; animation: glowing 20s linear infinite; }
.glow:hover:before, .glowOnHover:hover:before, .hallpass-buttons button:hover:before { opacity: 1; }
.glow:after, .glowOnHover:after, .hallpass-buttons button:after { background: #1e1e1e; }

.glowOnHover, .hallpass-buttons button { border: none; outline: none; color: #fff; background: #1e1e1e; border-radius: 12px; }

@keyframes glowing { 0%,
    100% { background-position: 0 0; }
  50% { background-position: 400% 0; } }
.switch input[type="checkbox"]:checked + .slider, .switch textarea[type="checkbox"].smallInput:checked + .slider, .switch textarea[type="checkbox"].mediumInput:checked + .slider, .switch textarea[type="checkbox"].largeInput:checked + .slider { background: #007aff; }
.switch input[type="checkbox"]:checked + .slider.green, .switch textarea[type="checkbox"].smallInput:checked + .slider.green, .switch textarea[type="checkbox"].mediumInput:checked + .slider.green, .switch textarea[type="checkbox"].largeInput:checked + .slider.green { background: #34c759; }
.switch input[type="checkbox"]:focus + .slider, .switch textarea[type="checkbox"].smallInput:focus + .slider, .switch textarea[type="checkbox"].mediumInput:focus + .slider, .switch textarea[type="checkbox"].largeInput:focus + .slider { box-shadow: 0 0 1px #2196f3; }
.switch input[type="checkbox"]:checked + .slider:before, .switch textarea[type="checkbox"].smallInput:checked + .slider:before, .switch textarea[type="checkbox"].mediumInput:checked + .slider:before, .switch textarea[type="checkbox"].largeInput:checked + .slider:before { transform: translateX(27px); }

.slider { background: #3a3a3c; background-blend-mode: overlay, luminosity; transition: 0.4s; }
.slider:before { background: #fff; box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.04), 0px 3px 8px 0px rgba(0, 0, 0, 0.15), 0px 3px 1px 0px rgba(0, 0, 0, 0.06); transition: 0.4s; }

.glass, .tintedGlass, .site-header, .dropdown .dropdown-content, .dropdownp1 .dropdown-content, .dropdownp2 .dropdown-content, .dropdownp3 .dropdown-content, .dropdownp4 .dropdown-content, .container, .hallpass-container { backdrop-filter: blur(30px); }

.tintedGlass, .site-header, .dropdown .dropdown-content, .dropdownp1 .dropdown-content, .dropdownp2 .dropdown-content, .dropdownp3 .dropdown-content, .dropdownp4 .dropdown-content { background: rgba(50, 50, 50, 0.5); }

.glow, .glowOnHover, .hallpass-buttons button { cursor: pointer; position: relative; z-index: 0; }
.glow:before, .glowOnHover:before, .hallpass-buttons button:before, .glow:after, .glowOnHover:after, .hallpass-buttons button:after { content: ''; position: absolute; width: 100%; height: 100%; left: 0; top: 0; border-radius: inherit; z-index: -1; }
.glow:before, .glowOnHover:before, .hallpass-buttons button:before { background: linear-gradient(45deg, #ff0000, #ff7300, #fffb00, #48ff00, #00ffd5, #002bff, #7a00ff, #ff00c8, #ff0000); background-size: 400%; filter: blur(5px); width: calc(100% + 4px); height: calc(100% + 4px); top: -2px; left: -2px; opacity: 0; transition: opacity .3s ease-in-out; animation: glowing 20s linear infinite; }
.glow:hover:before, .glowOnHover:hover:before, .hallpass-buttons button:hover:before { opacity: 1; }
.glow:after, .glowOnHover:after, .hallpass-buttons button:after { background: #1e1e1e; }

.glowOnHover, .hallpass-buttons button { border: none; outline: none; color: #fff; background: #1e1e1e; border-radius: 12px; }

@keyframes glowing { 0%,
    100% { background-position: 0 0; }
  50% { background-position: 400% 0; } }
.glass, .tintedGlass, .site-header, .dropdown .dropdown-content, .dropdownp1 .dropdown-content, .dropdownp2 .dropdown-content, .dropdownp3 .dropdown-content, .dropdownp4 .dropdown-content, .container, .hallpass-container { backdrop-filter: blur(30px); }

.tintedGlass, .site-header, .dropdown .dropdown-content, .dropdownp1 .dropdown-content, .dropdownp2 .dropdown-content, .dropdownp3 .dropdown-content, .dropdownp4 .dropdown-content { background: rgba(50, 50, 50, 0.5); }

.glow, .glowOnHover, .hallpass-buttons button { cursor: pointer; position: relative; z-index: 0; }
.glow:before, .glowOnHover:before, .hallpass-buttons button:before, .glow:after, .glowOnHover:after, .hallpass-buttons button:after { content: ''; position: absolute; width: 100%; height: 100%; left: 0; top: 0; border-radius: inherit; z-index: -1; }
.glow:before, .glowOnHover:before, .hallpass-buttons button:before { background: linear-gradient(45deg, #ff0000, #ff7300, #fffb00, #48ff00, #00ffd5, #002bff, #7a00ff, #ff00c8, #ff0000); background-size: 400%; filter: blur(5px); width: calc(100% + 4px); height: calc(100% + 4px); top: -2px; left: -2px; opacity: 0; transition: opacity .3s ease-in-out; animation: glowing 20s linear infinite; }
.glow:hover:before, .glowOnHover:hover:before, .hallpass-buttons button:hover:before { opacity: 1; }
.glow:after, .glowOnHover:after, .hallpass-buttons button:after { background: #1e1e1e; }

.glowOnHover, .hallpass-buttons button { border: none; outline: none; color: #fff; background: #1e1e1e; border-radius: 12px; }

@keyframes glowing { 0%,
    100% { background-position: 0 0; }
  50% { background-position: 400% 0; } }
h1, h2, h3, h4 { color: white !important; }

p { color: #e1e1e6 !important; }

a { color: #4bbaff !important; }
a:hover { color: rgba(255, 255, 255, 0.87) !important; }

li, ul, ol { color: #e1e1e6 !important; }

body { font-family: Verdana, sans-serif !important; }

.glass, .tintedGlass, .site-header, .dropdown .dropdown-content, .dropdownp1 .dropdown-content, .dropdownp2 .dropdown-content, .dropdownp3 .dropdown-content, .dropdownp4 .dropdown-content, .container, .hallpass-container { backdrop-filter: blur(30px); }

.tintedGlass, .site-header, .dropdown .dropdown-content, .dropdownp1 .dropdown-content, .dropdownp2 .dropdown-content, .dropdownp3 .dropdown-content, .dropdownp4 .dropdown-content { background: rgba(50, 50, 50, 0.5); }

.glow, .glowOnHover, .hallpass-buttons button { cursor: pointer; position: relative; z-index: 0; }
.glow:before, .glowOnHover:before, .hallpass-buttons button:before, .glow:after, .glowOnHover:after, .hallpass-buttons button:after { content: ''; position: absolute; width: 100%; height: 100%; left: 0; top: 0; border-radius: inherit; z-index: -1; }
.glow:before, .glowOnHover:before, .hallpass-buttons button:before { background: linear-gradient(45deg, #ff0000, #ff7300, #fffb00, #48ff00, #00ffd5, #002bff, #7a00ff, #ff00c8, #ff0000); background-size: 400%; filter: blur(5px); width: calc(100% + 4px); height: calc(100% + 4px); top: -2px; left: -2px; opacity: 0; transition: opacity .3s ease-in-out; animation: glowing 20s linear infinite; }
.glow:hover:before, .glowOnHover:hover:before, .hallpass-buttons button:hover:before { opacity: 1; }
.glow:after, .glowOnHover:after, .hallpass-buttons button:after { background: #1e1e1e; }

.glowOnHover, .hallpass-buttons button { border: none; outline: none; color: #fff; background: #1e1e1e; border-radius: 12px; }

@keyframes glowing { 0%,
    100% { background-position: 0 0; }
  50% { background-position: 400% 0; } }
.backend-status { display: flex; gap: 15px; margin: 15px 0; padding: 15px; background: rgba(255, 255, 255, 0.05); border-radius: 10px; border: 1px solid rgba(255, 255, 255, 0.1); }
@media (max-width: 480px) { .backend-status { flex-direction: column; gap: calc(15px * 0.5); } }
@media (max-width: 768px) { .backend-status { padding: calc(15px * 0.75); } }

.status-item { display: flex; align-items: center; gap: 8px; padding: 8px 12px; border-radius: 8px; background: rgba(255, 255, 255, 0.05); transition: all 0.3s ease; flex: 1; justify-content: center; }
@media (max-width: 768px) { .status-item { padding: 6px 10px; gap: 6px; } }
@media (max-width: 480px) { .status-item { justify-content: flex-start; min-height: 44px; } }

.status-icon { font-size: 16px; min-width: 16px; text-align: center; }

.status-text { font-size: 14px; font-weight: 500; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
@media (max-width: 480px) { .status-text { white-space: normal; word-break: break-word; } }

.overall-status { margin-top: 10px; padding: 10px; text-align: center; border-radius: 8px; font-weight: 500; transition: all 0.3s ease; }
.overall-status.hidden { display: none; }

@keyframes statusIndicatorSuccessPulse { 0% { transform: scale(1); }
  50% { transform: scale(1.05); }
  100% { transform: scale(1); } }
@keyframes statusIndicatorErrorShake { 0%, 100% { transform: translateX(0); }
  25% { transform: translateX(-5px); }
  75% { transform: translateX(5px); } }
@keyframes statusIndicatorPendingPulse { 0%, 100% { opacity: 1; }
  50% { opacity: 0.6; } }
@keyframes statusIndicatorSpin { from { transform: rotate(0deg); }
  to { transform: rotate(360deg); } }
.glass, .tintedGlass, .site-header, .dropdown .dropdown-content, .dropdownp1 .dropdown-content, .dropdownp2 .dropdown-content, .dropdownp3 .dropdown-content, .dropdownp4 .dropdown-content, .container, .hallpass-container { backdrop-filter: blur(30px); }

.tintedGlass, .site-header, .dropdown .dropdown-content, .dropdownp1 .dropdown-content, .dropdownp2 .dropdown-content, .dropdownp3 .dropdown-content, .dropdownp4 .dropdown-content { background: rgba(50, 50, 50, 0.5); }

.glow, .glowOnHover, .hallpass-buttons button { cursor: pointer; position: relative; z-index: 0; }
.glow:before, .glowOnHover:before, .hallpass-buttons button:before, .glow:after, .glowOnHover:after, .hallpass-buttons button:after { content: ''; position: absolute; width: 100%; height: 100%; left: 0; top: 0; border-radius: inherit; z-index: -1; }
.glow:before, .glowOnHover:before, .hallpass-buttons button:before { background: linear-gradient(45deg, #ff0000, #ff7300, #fffb00, #48ff00, #00ffd5, #002bff, #7a00ff, #ff00c8, #ff0000); background-size: 400%; filter: blur(5px); width: calc(100% + 4px); height: calc(100% + 4px); top: -2px; left: -2px; opacity: 0; transition: opacity .3s ease-in-out; animation: glowing 20s linear infinite; }
.glow:hover:before, .glowOnHover:hover:before, .hallpass-buttons button:hover:before { opacity: 1; }
.glow:after, .glowOnHover:after, .hallpass-buttons button:after { background: #1e1e1e; }

.glowOnHover, .hallpass-buttons button { border: none; outline: none; color: #fff; background: #1e1e1e; border-radius: 12px; }

@keyframes glowing { 0%,
    100% { background-position: 0 0; }
  50% { background-position: 400% 0; } }
.backend-status { display: flex; gap: 15px; margin: 15px 0; padding: 15px; background: rgba(255, 255, 255, 0.05); border-radius: 10px; border: 1px solid rgba(255, 255, 255, 0.1); }
@media (max-width: 480px) { .backend-status { flex-direction: column; gap: calc(15px * 0.5); } }
@media (max-width: 768px) { .backend-status { padding: calc(15px * 0.75); } }

.status-item { display: flex; align-items: center; gap: 8px; padding: 8px 12px; border-radius: 8px; background: rgba(255, 255, 255, 0.05); transition: all 0.3s ease; flex: 1; justify-content: center; }
@media (max-width: 768px) { .status-item { padding: 6px 10px; gap: 6px; } }
@media (max-width: 480px) { .status-item { justify-content: flex-start; min-height: 44px; } }

.status-icon { font-size: 16px; min-width: 16px; text-align: center; }

.status-text { font-size: 14px; font-weight: 500; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
@media (max-width: 480px) { .status-text { white-space: normal; word-break: break-word; } }

.overall-status { margin-top: 10px; padding: 10px; text-align: center; border-radius: 8px; font-weight: 500; transition: all 0.3s ease; }
.overall-status.hidden { display: none; }

.status-item.pending { background: rgba(255, 193, 7, 0.2); border: 1px solid rgba(255, 193, 7, 0.3); animation: statusIndicatorPendingPulse 2s ease-in-out infinite; }
.status-item.success { background: rgba(40, 167, 69, 0.2); border: 1px solid rgba(40, 167, 69, 0.3); animation: statusIndicatorSuccessPulse 0.5s ease-in-out; }
.status-item.error { background: rgba(220, 53, 69, 0.2); border: 1px solid rgba(220, 53, 69, 0.3); animation: statusIndicatorErrorShake 0.5s ease-in-out; }
.status-item.loading { background: rgba(255, 193, 7, 0.2); border: 1px solid rgba(255, 193, 7, 0.3); }
.status-item.loading .status-icon { animation: statusIndicatorSpin 1s linear infinite; }

.overall-status.success { background: rgba(40, 167, 69, 0.2); border: 1px solid rgba(40, 167, 69, 0.3); color: #28a745; }
.overall-status.partial { background: rgba(255, 193, 7, 0.2); border: 1px solid rgba(255, 193, 7, 0.3); color: #ffc107; }
.overall-status.error { background: rgba(220, 53, 69, 0.2); border: 1px solid rgba(220, 53, 69, 0.3); color: #dc3545; }

.small { height: 28px; padding: 4px 10px; border-radius: 40px; border: none; font-size: 15px; line-height: 20px; letter-spacing: -0.23px; cursor: pointer; }

.medium, .hallpass-buttons button { height: 35px; padding: 7px 14px; border-radius: 12px; border: none; font-size: 15px; line-height: 20px; letter-spacing: -0.23px; cursor: pointer; }

.large { height: 50px; padding: 14px 20px; border-radius: 12px; border: none; font-size: 17px; line-height: 22px; letter-spacing: -0.43px; cursor: pointer; }

@media (max-width: 768px) { .submit-button { width: 100%; margin-bottom: 10px; min-height: 44px; } }

.loading { color: transparent; position: relative; }
.loading::after { content: ''; position: absolute; top: 50%; left: 50%; width: 16px; height: 16px; margin: -8px 0 0 -8px; border: 2px solid transparent; border-top: 2px solid currentColor; border-radius: 50%; animation: statusIndicatorSpin 1s linear infinite; }

.glass, .tintedGlass, .site-header, .dropdown .dropdown-content, .dropdownp1 .dropdown-content, .dropdownp2 .dropdown-content, .dropdownp3 .dropdown-content, .dropdownp4 .dropdown-content, .container, .hallpass-container { backdrop-filter: blur(30px); }

.tintedGlass, .site-header, .dropdown .dropdown-content, .dropdownp1 .dropdown-content, .dropdownp2 .dropdown-content, .dropdownp3 .dropdown-content, .dropdownp4 .dropdown-content { background: rgba(50, 50, 50, 0.5); }

.glow, .glowOnHover, .hallpass-buttons button { cursor: pointer; position: relative; z-index: 0; }
.glow:before, .glowOnHover:before, .hallpass-buttons button:before, .glow:after, .glowOnHover:after, .hallpass-buttons button:after { content: ''; position: absolute; width: 100%; height: 100%; left: 0; top: 0; border-radius: inherit; z-index: -1; }
.glow:before, .glowOnHover:before, .hallpass-buttons button:before { background: linear-gradient(45deg, #ff0000, #ff7300, #fffb00, #48ff00, #00ffd5, #002bff, #7a00ff, #ff00c8, #ff0000); background-size: 400%; filter: blur(5px); width: calc(100% + 4px); height: calc(100% + 4px); top: -2px; left: -2px; opacity: 0; transition: opacity .3s ease-in-out; animation: glowing 20s linear infinite; }
.glow:hover:before, .glowOnHover:hover:before, .hallpass-buttons button:hover:before { opacity: 1; }
.glow:after, .glowOnHover:after, .hallpass-buttons button:after { background: #1e1e1e; }

.glowOnHover, .hallpass-buttons button { border: none; outline: none; color: #fff; background: #1e1e1e; border-radius: 12px; }

@keyframes glowing { 0%,
    100% { background-position: 0 0; }
  50% { background-position: 400% 0; } }
.login-container { display: flex; justify-content: space-between; align-items: flex-start; gap: 20px; flex-wrap: nowrap; }
@media (max-width: 768px) { .login-container { flex-direction: column; gap: calc(20px * 0.75); } }

.login-card, .signup-card { background: #1e1e1e; border-radius: 15px; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); padding: 20px; color: white; overflow: hidden; flex: 1 1 calc(50% - 20px); max-width: 45%; box-sizing: border-box; }
@media (max-width: 768px) { .login-card, .signup-card { flex: 1 1 100%; max-width: 100%; } }
.login-card h1, .signup-card h1 { margin-bottom: 20px; color: inherit; }
.login-card hr, .signup-card hr { border: none; border-top: 1px solid rgba(255, 255, 255, 0.2); margin: 20px 0; }

.form-group { position: relative; margin-bottom: 1.5rem; }
.form-group input, .form-group textarea.smallInput, .form-group textarea.mediumInput, .form-group textarea.largeInput, .form-group textarea, .form-group select { width: 100%; box-sizing: border-box; }
@media (max-width: 480px) { .form-group { margin-bottom: calc(1.5rem * 0.75); } }

.form-group select { color: white; border-radius: 12px; border: 1px solid rgba(72, 72, 81, 0.63); filter: drop-shadow(0 10px 10px rgba(0, 0, 0, 0.3)); padding: 15px; transition: all 0.3s ease; background-color: #121212; }
.form-group select option[disabled], .form-group select:invalid { color: #757575; }

.glass, .tintedGlass, .site-header, .dropdown .dropdown-content, .dropdownp1 .dropdown-content, .dropdownp2 .dropdown-content, .dropdownp3 .dropdown-content, .dropdownp4 .dropdown-content, .container, .hallpass-container { backdrop-filter: blur(30px); }

.tintedGlass, .site-header, .dropdown .dropdown-content, .dropdownp1 .dropdown-content, .dropdownp2 .dropdown-content, .dropdownp3 .dropdown-content, .dropdownp4 .dropdown-content { background: rgba(50, 50, 50, 0.5); }

.glow, .glowOnHover, .hallpass-buttons button { cursor: pointer; position: relative; z-index: 0; }
.glow:before, .glowOnHover:before, .hallpass-buttons button:before, .glow:after, .glowOnHover:after, .hallpass-buttons button:after { content: ''; position: absolute; width: 100%; height: 100%; left: 0; top: 0; border-radius: inherit; z-index: -1; }
.glow:before, .glowOnHover:before, .hallpass-buttons button:before { background: linear-gradient(45deg, #ff0000, #ff7300, #fffb00, #48ff00, #00ffd5, #002bff, #7a00ff, #ff00c8, #ff0000); background-size: 400%; filter: blur(5px); width: calc(100% + 4px); height: calc(100% + 4px); top: -2px; left: -2px; opacity: 0; transition: opacity .3s ease-in-out; animation: glowing 20s linear infinite; }
.glow:hover:before, .glowOnHover:hover:before, .hallpass-buttons button:hover:before { opacity: 1; }
.glow:after, .glowOnHover:after, .hallpass-buttons button:after { background: #1e1e1e; }

.glowOnHover, .hallpass-buttons button { border: none; outline: none; color: #fff; background: #1e1e1e; border-radius: 12px; }

@keyframes glowing { 0%,
    100% { background-position: 0 0; }
  50% { background-position: 400% 0; } }
.oauth-error { background-color: #dc2626; color: white; padding: 0.75rem; border-radius: 0.5rem; margin: 1rem 0; }

.oauth-success { background-color: #16a34a; color: white; padding: 0.75rem; border-radius: 0.5rem; margin: 1rem 0; }

.secondary { background-color: #6b7280 !important; color: white; }
.secondary:hover { background-color: #5a6272 !important; }

.glass, .tintedGlass, .site-header, .dropdown .dropdown-content, .dropdownp1 .dropdown-content, .dropdownp2 .dropdown-content, .dropdownp3 .dropdown-content, .dropdownp4 .dropdown-content, .container, .hallpass-container { backdrop-filter: blur(30px); }

.tintedGlass, .site-header, .dropdown .dropdown-content, .dropdownp1 .dropdown-content, .dropdownp2 .dropdown-content, .dropdownp3 .dropdown-content, .dropdownp4 .dropdown-content { background: rgba(50, 50, 50, 0.5); }

.glow, .glowOnHover, .hallpass-buttons button { cursor: pointer; position: relative; z-index: 0; }
.glow:before, .glowOnHover:before, .hallpass-buttons button:before, .glow:after, .glowOnHover:after, .hallpass-buttons button:after { content: ''; position: absolute; width: 100%; height: 100%; left: 0; top: 0; border-radius: inherit; z-index: -1; }
.glow:before, .glowOnHover:before, .hallpass-buttons button:before { background: linear-gradient(45deg, #ff0000, #ff7300, #fffb00, #48ff00, #00ffd5, #002bff, #7a00ff, #ff00c8, #ff0000); background-size: 400%; filter: blur(5px); width: calc(100% + 4px); height: calc(100% + 4px); top: -2px; left: -2px; opacity: 0; transition: opacity .3s ease-in-out; animation: glowing 20s linear infinite; }
.glow:hover:before, .glowOnHover:hover:before, .hallpass-buttons button:hover:before { opacity: 1; }
.glow:after, .glowOnHover:after, .hallpass-buttons button:after { background: #1e1e1e; }

.glowOnHover, .hallpass-buttons button { border: none; outline: none; color: #fff; background: #1e1e1e; border-radius: 12px; }

@keyframes glowing { 0%,
    100% { background-position: 0 0; }
  50% { background-position: 400% 0; } }
.password-match { border-color: #10b981 !important; box-shadow: 0 0 0 1px #10b981 !important; }

.password-mismatch { border-color: #ef4444 !important; box-shadow: 0 0 0 1px #ef4444 !important; }

.validation-message { font-size: 0.8rem; margin-top: 0.5rem; min-height: 1.2rem; transition: all 0.3s ease; }
.validation-message.success { color: #10b981; }
.validation-message.error { color: #ef4444; }

.form-group input:focus, .form-group textarea.smallInput:focus, .form-group textarea.mediumInput:focus, .form-group textarea.largeInput:focus { outline: none; border-color: #6366f1; box-shadow: 0 0 0 1px #6366f1; }

html, body, input, input.smallInput, input.mediumInput, input.largeInput, textarea.smallInput, textarea.mediumInput, textarea.largeInput, input.gradientInput, textarea, select { background-color: #121212; }

.lesson-container { display: flex; gap: 2rem; flex-wrap: wrap; align-items: flex-start; padding: 1rem; }
@media (max-width: 768px) { .lesson-container { flex-direction: column; } }

/* Sidebar */
.lesson-sidebar { flex: 0 0 250px; max-width: 100%; background: #1F2020; padding: 1rem; border-radius: 8px; position: sticky; top: 1rem; max-height: calc(100vh - 2rem); overflow-y: auto; }
@media (max-width: 768px) { .lesson-sidebar { position: relative; top: auto; max-height: none; overflow: visible; width: 100%; } }

/* Main content */
.lesson-content { flex: 1 1 0; min-width: 300px; }

.time-display { background: #2A2D2D; padding: 0.5rem; margin: 0.25rem 0; border-radius: 4px; text-align: center; }
.time-display span { font-size: 1.2rem; font-weight: bold; color: #4CAFEF; display: block; }
.time-display small { font-size: 0.75rem; color: #aaa; }

.timer-status { text-align: center; padding: 0.25rem; border-radius: 4px; font-size: 0.8rem; font-weight: bold; margin-top: 0.5rem; }
.timer-status.active { background: #2D5A3D; color: #4ADE80; }
.timer-status.paused { background: #5A3D2D; color: #FBBF24; }

.progress-bar { background: #333; border-radius: 6px; height: 12px; width: 100%; margin: 0.5rem 0; }
.progress-bar .progress-fill { background: #4CAFEF; height: 100%; width: 0%; border-radius: 6px; }

.btn { display: inline-block; color: white; padding: 15px 25px; border-radius: 4px; text-decoration: none; margin: 0.5rem 0.25rem; border: none; cursor: pointer; font-family: arial; font-weight: bolder; background: #007ACC; }
.btn:hover { background: #005FA3; border-radius: 25px; transition: border-radius 2s; }

.small-btn { font-size: 0.75rem; padding: 3px 6px; margin-top: 0.5rem; }

.sandbox textarea { width: 100%; height: 120px; font-family: monospace; margin-bottom: 0.5rem; }

.resources, .sandbox, .lesson-quiz { background: #2B2B2B; padding: 1rem; border-radius: 8px; margin: 1rem 0; color: #F0F0F0; }

#badges { display: flex; flex-wrap: wrap; gap: 0.5rem; }

.badge { background: #333; color: #fff; padding: 6px 10px; border-radius: 20px; font-size: 0.9rem; display: flex; align-items: center; gap: 5px; box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3); }

.congrats-popup { position: fixed; top: 20px; right: -300px; background: #222; color: #fff; padding: 12px 18px; border-radius: 8px; font-weight: bold; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.5); transition: right 0.3s ease, opacity 0.3s ease; opacity: 0.95; z-index: 9999; }
.congrats-popup.show { right: 20px; }

.lesson-quiz textarea { width: 100%; min-height: 120px; padding: 10px; border-radius: 6px; border: 1px solid #444; font-size: 1rem; resize: vertical; box-sizing: border-box; background: #1F1F1F; color: #F0F0F0; }
.lesson-quiz button:hover { background: #1aa3ff; }
.lesson-quiz #reflection-status { margin-top: 0.5rem; font-size: 0.85rem; font-style: italic; color: #9ACDFF; }

.blackboard { width: 100%; min-height: 240px; }

#blackboard-canvas { border: 1px solid #ccc; background: #000; cursor: crosshair; }

.blackboard-description { margin-top: 10px; color: #ccc; }

.demo-label { display: block; text-align: center; margin: 6px 0; }

#demo-canvas-wrapper { background: white; border: 2px solid #333; display: block; margin: 0 auto; }

#demo-code { display: none; margin: 8px auto; overflow: auto; }

.info-box { padding: 20px; margin: 20px 0; border-radius: 0 8px 8px 0; border-left: 4px solid #3182CE; }

.challenge-box { padding: 20px; margin: 20px 0; border-radius: 0 8px 8px 0; border-left: 4px solid #38B2AC; }

.think-box { padding: 20px; margin: 20px 0; border-radius: 0 8px 8px 0; border-left: 4px solid #ED8936; }

.checkpoint-box, .key-points { padding: 20px; margin: 20px 0; border-radius: 0 8px 8px 0; border-left: 4px solid #3182CE; }

.warning-box { padding: 20px; margin: 20px 0; border-radius: 0 8px 8px 0; border-left: 4px solid #E53E3E; }

.success { padding: 20px; margin: 20px 0; border-radius: 0 8px 8px 0; border-left: 4px solid #28A745; }

.flashcards-section { background: #2B2B2B !important; padding: 1.5rem !important; border-radius: 8px !important; margin: 1rem 0 !important; color: #F0F0F0 !important; }

.flashcard-container { position: relative !important; width: 100% !important; max-width: 500px !important; height: 280px !important; perspective: 1500px !important; margin: 1.5rem auto !important; display: block !important; }
.flashcard-container.hidden { display: none !important; }

.flashcard-inner { position: relative !important; width: 100% !important; height: 100% !important; transition: transform 0.6s ease !important; transform-style: preserve-3d !important; box-shadow: 0 8px 25px rgba(0, 0, 0, 0.3) !important; border-radius: 12px !important; }
.flashcard-inner.flipped { transform: rotateY(180deg) !important; }

.flashcard-front, .flashcard-back { position: absolute !important; width: 100% !important; height: 100% !important; backface-visibility: hidden !important; display: flex !important; flex-direction: column !important; justify-content: center !important; align-items: center !important; padding: 20px !important; border-radius: 12px !important; background: #1E293B !important; color: #F8FAFC !important; border: 1px solid rgba(255, 255, 255, 0.15) !important; }

.flashcard-back { transform: rotateY(180deg) !important; }

.card-counter { position: absolute !important; top: 12px !important; right: 12px !important; background: rgba(255, 255, 255, 0.15) !important; border-radius: 15px !important; padding: 4px 10px !important; font-size: 0.8rem !important; }

.flashcard-front h3, .flashcard-back h4 { text-align: center !important; margin-bottom: 1rem !important; color: white !important; }

.flashcard-back p { text-align: center !important; margin-bottom: 1rem !important; color: white !important; }

.flashcard-controls { display: flex !important; justify-content: space-between !important; align-items: center !important; margin-top: 1.5rem !important; gap: 1rem !important; }

.flashcard-actions { display: flex !important; gap: 12px !important; }
.flashcard-actions .know-btn { background: #10B981 !important; color: white !important; }
.flashcard-actions .review-btn { background: #F59E0B !important; color: white !important; }

.card-status { margin-top: 12px !important; font-size: 0.85rem !important; color: #CBD5E1 !important; text-align: center !important; }

#flashcard-review-sidebar button { width: 100%; background: #334155; border: none; color: white; padding: 8px; border-radius: 6px; cursor: pointer; margin-bottom: 5px; font-size: 0.85rem; }
#flashcard-review-sidebar button:hover { background: #475569; }
