@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Press+Start+2P&display=swap");
@import url("https://fonts.googleapis.com/css?family=Roboto:400,500,700&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: 800px) { 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: 1000px; margin: 0 auto; padding: 0 30px; }
@media screen and (max-width: 1000px) { .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: 1000px) { 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: 800px) { .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: 1000px) { .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 6 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: 1200px) { .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: 1000px) { .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: 1200px) { .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: 1200px) { .post-content h2 { font-size: 2rem; } }
.post-content h3 { font-size: 1.375rem; }
@media screen and (min-width: 1200px) { .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: 1200px) { .one-half { width: calc(50% - (30px / 2)); } }
:root { --default-canvas-filter: invert(0%); }

html, body, input, textarea, select, button { color: rgba(255, 255, 255, 0.87) !important; background-color: #121212 !important; }

a { color: #4bbaff !important; }

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

.site-title, .site-title:visited, .site-nav, .page-link { color: rgba(255, 255, 255, 0.87) !important; }

.page-link { margin-right: 5px; }

.site-nav { border-color: #333333; }

* { scrollbar-color: #121212 #333333; }

pre, code { border-color: #333333; background-color: #1e1e1e; }

.page-description { color: rgba(255, 255, 255, 0.69); }

.post-meta { color: rgba(255, 255, 255, 0.38); }

.post-content p, .post-content li { color: rgba(255, 255, 255, 0.69); }

.btn { background-color: #1e1e1e !important; color: rgba(255, 255, 255, 0.87) !important; border-color: #333333 !important; }

.btn:hover { background-color: #121212 !important; }

table th { background-color: #1e1e1e; border-color: #333333; color: rgba(255, 255, 255, 0.87); }

table td { background-color: #121212; border-color: #333333; color: rgba(255, 255, 255, 0.69); }

.flash { color: #121212 !important; filter: brightness(80%); }

canvas { filter: var(--default-canvas-filter); }

.post-list > li > div { box-shadow: none !important; background-color: #1e1e1e; border: none !important; }

li .post-meta-description { color: rgba(255, 255, 255, 0.69) !important; }

.search-result-preview { color: lightgray !important; }

.search-result-highlight { color: yellow !important; font-weight: bold !important; }

.search-results-list-item .search-result-title { color: cornflowerblue !important; }

.profile-container { display: flex; justify-content: center; align-items: center; }
.profile-container .card, .profile-container .profile-card, .profile-container .post-card { width: 100%; max-width: 800px; background-color: #1a5b92; border: 1px solid #12b5c8; border-radius: 5px; box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); padding: 20px; color: #000000; /* Hide the default file input */ /* Style the custom file icon */ }
.profile-container .card label, .profile-container .profile-card label, .profile-container .post-card label { display: block; font-weight: bold; margin-bottom: 5px; color: #2d3748; }
.profile-container .card input[type="text"], .profile-container .profile-card input[type="text"], .profile-container .post-card input[type="text"], .profile-container .card input[type="file"], .profile-container .profile-card input[type="file"], .profile-container .post-card input[type="file"], .profile-container .card select, .profile-container .profile-card select, .profile-container .post-card select { width: calc(100% - 12px); padding: 8px; border: 1px solid #ddd; border-radius: 4px; font-size: 16px; color: #2d3748; }
.profile-container .card .icon-container, .profile-container .profile-card .icon-container, .profile-container .post-card .icon-container { display: flex; align-items: center; }
.profile-container .card .icon-container select, .profile-container .profile-card .icon-container select, .profile-container .post-card .icon-container select { flex-grow: 1; margin-right: 15px; /* Space between dropdown and icon */ }
.profile-container .card #profilePicture, .profile-container .profile-card #profilePicture, .profile-container .post-card #profilePicture { display: none; }
.profile-container .card .file-icon, .profile-container .profile-card .file-icon, .profile-container .post-card .file-icon { font-size: 24px; color: #12b5c8; /* Lighter teal color */ cursor: pointer; /* Indicate that it is clickable */ }
.profile-container .card .file-icon:hover, .profile-container .profile-card .file-icon:hover, .profile-container .post-card .file-icon:hover { color: #ff8a2c; /* Change icon color on hover to subtle orange */ }
.profile-container .card table, .profile-container .profile-card table, .profile-container .post-card table { width: 100%; margin-top: 10px; border-collapse: collapse; }
.profile-container .card table th, .profile-container .profile-card table th, .profile-container .post-card table th, .profile-container .card table td, .profile-container .profile-card table td, .profile-container .post-card table td { border: 1px solid #ddd; padding: 10px; text-align: left; color: #2d3748; }
.profile-container .card .image-container, .profile-container .profile-card .image-container, .profile-container .post-card .image-container { text-align: center; margin-top: 20px; }
.profile-container .card .image-container img, .profile-container .profile-card .image-container img, .profile-container .post-card .image-container img { max-width: 100%; height: auto; border-radius: 50%; border: 2px solid #12b5c8; }

.signup-card button:disabled { background-color: #000000; /* Light gray background for disabled state */ cursor: not-allowed; /* Change cursor to indicate disabled state */ color: #000000; /* Change text color to match the disabled look */ border: 1px solid #000000; /* Lighter border for disabled state */ transition: none; /* Remove transition effect when disabled */ }

/* define class for redefined button */
.calc-button, .calculator-number, .calculator-operation { width: auto; height: auto; border-radius: 10px; background-color: black; 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; }
.calc-button:hover, .calculator-number:hover, .calculator-operation:hover { background-color: darkslateblue; }

/* class to create the calculator's container; uses CSS grid display 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 { width: auto; height: auto; border-radius: 10px; background-color: orange; 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; }
.calculator-clear:hover { background-color: darkorange; }

/* styling for the calculator equals button */
.calculator-equals { width: auto; height: auto; border-radius: 10px; background-color: red; 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; }
.calculator-equals:hover { background-color: darkred; }

.dropbtn { padding: 8px; font-size: 16px; border: none; cursor: pointer; }

.dropdown { position: relative; display: inline-block; z-index: 1; }
.dropdown:hover .dropdown-content { display: block; animation: scaleIn 0.7s ease forwards; }
.dropdown .dropdown-content { display: none; position: fixed; background-color: black; min-width: 160px; border-radius: 8px; box-shadow: 0px 8px 16px 0px rgba(0, 183, 255, 0.2); }
.dropdown .dropdown-content a { padding: 12px 16px; text-decoration: none; display: block; }
.dropdown .dropdown-content a:hover { background-color: darkblue; transform: scale(1.05); }

.dropdownp1 { position: relative; display: inline-block; z-index: 1; }
.dropdownp1:hover .dropdown-content { display: block; animation: scaleIn 0.7s ease forwards; }
.dropdownp1 .dropdown-content { display: none; position: fixed; background-color: black; min-width: 160px; border-radius: 8px; box-shadow: 0px 8px 16px 0px rgba(0, 183, 255, 0.2); }
.dropdownp1 .dropdown-content a { padding: 12px 16px; text-decoration: none; display: block; }
.dropdownp1 .dropdown-content a:hover { background-color: #9fff38; transform: scale(1.05); }

.dropdownp2 { position: relative; display: inline-block; z-index: 1; }
.dropdownp2:hover .dropdown-content { display: block; animation: scaleIn 0.7s ease forwards; }
.dropdownp2 .dropdown-content { display: none; position: fixed; background-color: black; min-width: 160px; border-radius: 8px; box-shadow: 0px 8px 16px 0px rgba(0, 183, 255, 0.2); }
.dropdownp2 .dropdown-content a { padding: 12px 16px; text-decoration: none; display: block; }
.dropdownp2 .dropdown-content a:hover { background-color: #232f2a; transform: scale(1.05); }

.dropdownp3 { position: relative; display: inline-block; z-index: 1; }
.dropdownp3:hover .dropdown-content { display: block; animation: scaleIn 0.7s ease forwards; }
.dropdownp3 .dropdown-content { display: none; position: fixed; background-color: #3a3f44; min-width: 160px; border-radius: 8px; box-shadow: 0px 8px 16px 0px rgba(0, 183, 255, 0.2); }
.dropdownp3 .dropdown-content a { padding: 12px 16px; text-decoration: none; display: block; }
.dropdownp3 .dropdown-content a:hover { background-color: #50575e; transform: scale(1.05); }

.dropdownp4 { position: relative; display: inline-block; z-index: 1; }
.dropdownp4:hover .dropdown-content { display: block; animation: scaleIn 0.7s ease forwards; }
.dropdownp4 .dropdown-content { display: none; position: fixed; background-color: #338bfd; min-width: 160px; border-radius: 8px; box-shadow: 0px 8px 16px 0px rgba(0, 183, 255, 0.2); }
.dropdownp4 .dropdown-content a { padding: 12px 16px; text-decoration: none; display: block; }
.dropdownp4 .dropdown-content a:hover { background-color: #44475a; transform: scale(1.05); }

@keyframes scaleIn { 0% { transform: scale(0.8); opacity: 0; }
  100% { transform: scale(1); opacity: 1; } }
#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; }

#toggle-response-btn { margin-top: auto; padding: 10px; color: black; border: none; border-radius: 6px; 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: black; border: none; border-radius: 6px; 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: 5px; 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: 15px; 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: 3px; 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; }

html, body { transition: background-color 0.3s ease, color 0.3s ease; }

body { background-color: #000000; color: #2d3748; }
body.light-theme { background-color: #f7f9fb; color: #2d3748; }
body.light-theme .site-header { background-color: #ffffff; border-color: #e2e8f0; }
body.light-theme .site-content { background-color: #f7f9fb; }
body.light-theme .container, body.light-theme .chat-container, body.light-theme .form-container { background-color: #ffffff; }
body.light-theme .card, body.light-theme .profile-card, body.light-theme .post-card, body.light-theme .section, body.light-theme .heading { background-color: #ffffff; color: #2d3748; }
body.light-theme input, body.light-theme textarea, body.light-theme select { background-color: #ffffff; color: #2d3748; border-color: #e2e8f0; }
body.light-theme a { color: #1a5b92; }
body.light-theme a:hover { color: #124067; }
body.light-theme button { background-color: #1a5b92; color: #2d3748; }
body.light-theme button:hover { background-color: #124067; }
body.light-theme .nav-link { color: #2d3748; }
body.light-theme #chatBox { background-color: #ffffff; border-color: #e2e8f0; }
body.light-theme .chat-message { background-color: #ffffff; color: #2d3748; }
body.light-theme h1, body.light-theme h2, body.light-theme h3, body.light-theme h4, body.light-theme h5, body.light-theme h6 { color: #2d3748; }
body.light-theme p, body.light-theme span { color: #2d3748; }

* { margin: 0; padding: 0; box-sizing: border-box; }

html { font-family: 'Roboto', sans-serif; font-size: 16px; line-height: 1.5; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }

body { min-height: 100vh; margin: 0; padding: 0; }

h1, h2, h3, h4, h5, h6 { margin-bottom: 1rem; font-weight: 700; line-height: 1.2; color: #2d3748; }

h1 { font-size: 2.5rem; }

h2 { font-size: 2rem; }

h3 { font-size: 1.75rem; }

h4 { font-size: 1.5rem; }

h5 { font-size: 1.25rem; }

h6 { font-size: 1rem; }

p { margin-bottom: 1rem; color: #2d3748; }

a { color: #1a5b92; text-decoration: none; transition: color 0.3s ease; }
a:hover { color: #2276bd; }

.heading { background-color: #e2e8f0; padding: 2rem 1.5rem; text-align: center; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); margin-bottom: 2rem; border-radius: 16px; }
.heading h1 { font-size: 2.5rem; font-weight: bold; margin: 0; text-transform: uppercase; letter-spacing: 2px; }
.heading p { font-size: 1.2rem; margin: 0.5rem 0 0; color: #718096; }

.container { width: 100%; max-width: 1200px; margin: 0 auto; padding: 1.5rem; }

.chat-container { background-color: #000000; width: 100%; max-width: 1000px; min-height: 800px; height: auto; padding: 20px; border-radius: 10px; text-align: center; box-shadow: 0 4px 10px 0 4px 8px rgba(0, 0, 0, 0.2); display: flex; flex-direction: column; margin: 0 auto; }
.chat-container h2 { color: #1a5b92; margin-bottom: 20px; }

#chatBox { width: 100%; flex: 1; min-height: 200px; background-color: #000000; color: #2d3748; border: 1px solid #e2e8f0; border-radius: 8px; padding: 1rem; margin-bottom: 1rem; overflow-y: auto; display: flex; flex-direction: column; gap: 0.5rem; }
#chatBox .chat-message { background-color: #000000; padding: 1rem; border-radius: 8px; width: 100%; margin: 0.25rem 0; }
#chatBox .chat-message .message-content { display: flex; align-items: center; gap: 1rem; }
#chatBox .chat-message .message-content p { margin: 0; flex: 1; word-break: break-word; color: #2d3748; }
#chatBox .chat-message .message-content p strong { color: #2d3748; font-weight: 500; }
#chatBox .chat-message .message-content button { min-width: 60px; padding: 0.25rem 0.5rem; font-size: 0.9rem; margin: 0 0.25rem; height: fit-content; border-radius: 4px; }
#chatBox .chat-message .message-content .edit-button { background-color: #ffc107; color: #000000; }
#chatBox .chat-message .message-content .edit-button:hover { background-color: #d39e00; }
#chatBox .chat-message .message-content .delete-button { background-color: #dc3545; }
#chatBox .chat-message .message-content .delete-button:hover { background-color: #bd2130; }

.message-input { display: flex; gap: 0.5rem; margin-top: 1rem; width: 100%; padding: 0 1rem; }
.message-input input { flex: 1; width: 100%; padding: 0.5rem; border: 1px solid #e2e8f0; border-radius: 4px; background-color: #000000; color: #2d3748; transition: border-color 0.3s ease; margin: 0; height: 40px; }
.message-input input:focus { outline: none; border-color: #1a5b92; box-shadow: 0 0 0 2px rgba(26, 91, 146, 0.2); }
.message-input button { padding: 0.5rem 1.5rem; white-space: nowrap; height: 40px; display: flex; align-items: center; justify-content: center; }

.dropdown { position: relative; display: inline-block; margin-top: 20px; }
.dropdown button { background-color: #000000; color: #2d3748; padding: 10px 15px; font-size: 16px; border: 1px solid #e2e8f0; border-radius: 5px; cursor: pointer; }
.dropdown button:hover { background-color: #e07b24; }
.dropdown .dropdown-content { display: none; position: absolute; background-color: #000000; border: 1px solid #e2e8f0; border-radius: 5px; z-index: 1; min-width: 180px; box-shadow: 0px 4px 8px 0 2px 4px rgba(0, 0, 0, 0.1); }
.dropdown .dropdown-content a { display: block; color: #718096; padding: 10px 15px; text-decoration: none; font-size: 16px; border-bottom: 1px solid #e2e8f0; }
.dropdown .dropdown-content a:hover { background-color: #e07b24; color: #2d3748; }
.dropdown:hover .dropdown-content { display: block; }

.login-container { display: flex; justify-content: space-between; flex-wrap: wrap; }

.login-card, .signup-card { width: 45%; border: 1px solid #ddd; border-radius: 5px; padding: 20px; background-color: #000000; box-shadow: 2px 2px 5px 0 2px 4px rgba(0, 0, 0, 0.1); margin-bottom: 20px; overflow-x: auto; }
.login-card h1, .signup-card h1 { margin-bottom: 20px; }

button { background-color: #ff8a2c; color: #2d3748; border: none; padding: 12px 25px; border-radius: 25px; font-size: 1rem; cursor: pointer; transition: background-color 0.3s ease, box-shadow 0.3s ease; box-shadow: 0 4px 8px 0 2px 4px rgba(0, 0, 0, 0.1); }
button:hover { background-color: #e07b24; box-shadow: 0 6px 12px 0 4px 8px rgba(0, 0, 0, 0.2); }

.copyright { margin-top: 20px; font-size: 12px; color: #718096; text-align: center; }

* { margin: 0; padding: 0; box-sizing: border-box; }

html { font-family: 'Roboto', sans-serif; font-size: 16px; line-height: 1.5; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }

body { min-height: 100vh; margin: 0; padding: 0; }

h1, h2, h3, h4, h5, h6 { margin-bottom: 1rem; font-weight: 700; line-height: 1.2; color: #2d3748; }

h1 { font-size: 2.5rem; }

h2 { font-size: 2rem; }

h3 { font-size: 1.75rem; }

h4 { font-size: 1.5rem; }

h5 { font-size: 1.25rem; }

h6 { font-size: 1rem; }

p { margin-bottom: 1rem; color: #2d3748; }

a { color: #1a5b92; text-decoration: none; transition: color 0.3s ease; }
a:hover { color: #2276bd; }

.container { width: 100%; max-width: 1200px; margin: 0 auto; padding: 1.5rem; }

.grid { display: grid; gap: 1rem; }
.grid-cols-2 { grid-template-columns: repeat(2, 1fr); }
.grid-cols-3 { grid-template-columns: repeat(3, 1fr); }
.grid-cols-4 { grid-template-columns: repeat(4, 1fr); }
@media (max-width: 768px) { .grid { grid-template-columns: 1fr; } }

.flex { display: flex; }
.flex-center { display: flex; justify-content: center; align-items: center; }
.flex-between { display: flex; justify-content: space-between; align-items: center; }
.flex-column { flex-direction: column; }

header.page { background-color: #1a5b92; padding: 2rem 1.5rem; text-align: center; margin-bottom: 2rem; border-radius: 16px; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); }
header.page h1 { font-size: 2.5rem; font-weight: bold; margin: 0; text-transform: uppercase; letter-spacing: 2px; }
header.page .subtitle { font-size: 1.2rem; color: #718096; margin-top: 0.5rem; }

.heading { background-color: #e2e8f0; padding: 2rem 1.5rem; text-align: center; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); margin-bottom: 2rem; border-radius: 16px; }
.heading h1 { font-size: 2.5rem; font-weight: bold; margin: 0; text-transform: uppercase; letter-spacing: 2px; }
.heading p { font-size: 1.2rem; margin: 0.5rem 0 0; color: #718096; }

.form-container { background-color: #000000; border-radius: 8px; padding: 1.5rem; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); max-width: 1000px; width: 100%; margin: 0 auto; margin-bottom: 1.5rem; }

input[type="text"], input[type="password"], input[type="email"], input[type="number"], textarea, select { width: 100%; padding: 0.5rem; border: 1px solid #e2e8f0; border-radius: 4px; background-color: #000000; color: #2d3748; transition: border-color 0.3s ease; margin-bottom: 1rem; }
input[type="text"]:focus, input[type="password"]:focus, input[type="email"]:focus, input[type="number"]:focus, textarea:focus, select:focus { outline: none; border-color: #1a5b92; box-shadow: 0 0 0 2px rgba(26, 91, 146, 0.2); }
input[type="text"]::placeholder, input[type="password"]::placeholder, input[type="email"]::placeholder, input[type="number"]::placeholder, textarea::placeholder, select::placeholder { color: rgba(113, 128, 150, 0.7); }

textarea { min-height: 120px; resize: vertical; }

select { appearance: none; background-image: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23FFFFFF%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E"); background-repeat: no-repeat; background-position: right 0.7em top 50%; background-size: 0.65em auto; padding-right: 2.5em; }

input[type="checkbox"], input[type="radio"] { margin-right: 0.5rem; accent-color: #1a5b92; }

label { display: block; margin-bottom: 0.25rem; color: #2d3748; font-weight: 500; }

.form-group { margin-bottom: 1.5rem; }

.button, button { padding: 0.5rem 1.5rem; border-radius: 9999px; border: none; cursor: pointer; transition: all 0.3s ease; font-weight: 500; background-color: #ff8a2c; color: #2d3748; }
.button:hover, button:hover { background-color: #e07b24; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); }
.button:active, button:active { transform: translateY(1px); }
.button.primary, button.primary { background-color: #1a5b92; }
.button.primary:hover, button.primary:hover { background-color: #124067; }
.button.secondary, button.secondary { background-color: #12b5c8; }
.button.secondary:hover, button.secondary:hover { background-color: #0e8b99; }
.button.success, button.success { background-color: #28a745; }
.button.success:hover, button.success:hover { background-color: #1e7e34; }
.button.warning, button.warning { background-color: #ffc107; color: #000000; }
.button.warning:hover, button.warning:hover { background-color: #d39e00; }
.button.danger, button.danger { background-color: #dc3545; }
.button.danger:hover, button.danger:hover { background-color: #bd2130; }
.button.disabled, button.disabled { opacity: 0.6; cursor: not-allowed; pointer-events: none; }

.button-group { display: flex; gap: 0.5rem; }
.button-group.vertical { flex-direction: column; }

.card, .profile-card, .post-card { background-color: #000000; border-radius: 8px; padding: 1.5rem; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); margin-bottom: 1.5rem; transition: transform 0.3s ease; }
.card:hover, .profile-card:hover, .post-card:hover { transform: translateY(-2px); }
.card .card-header, .profile-card .card-header, .post-card .card-header { margin: -1.5rem; margin-bottom: 1.5rem; padding: 1.5rem; background-color: rgba(26, 91, 146, 0.1); border-bottom: 1px solid #e2e8f0; border-radius: 8px 8px 0 0; }
.card .card-header h3, .profile-card .card-header h3, .post-card .card-header h3 { margin: 0; color: #1a5b92; }
.card .card-body p:last-child, .profile-card .card-body p:last-child, .post-card .card-body p:last-child { margin-bottom: 0; }
.card .card-footer, .profile-card .card-footer, .post-card .card-footer { margin: -1.5rem; padding: 1.5rem; background-color: rgba(0, 0, 0, 0.2); border-top: 1px solid #e2e8f0; border-radius: 0 0 8px 8px; }

.profile-card { display: flex; align-items: center; gap: 1.5rem; }
.profile-card .profile-image { width: 100px; height: 100px; border-radius: 50%; border: 3px solid #1a5b92; object-fit: cover; }
.profile-card .profile-info { flex: 1; }
.profile-card .profile-info h3 { margin-bottom: 0.25rem; }
.profile-card .profile-info .profile-stats { display: flex; gap: 1.5rem; margin-top: 0.5rem; }
.profile-card .profile-info .profile-stats .stat { text-align: center; }
.profile-card .profile-info .profile-stats .stat .stat-value { font-size: 1.5rem; font-weight: bold; color: #1a5b92; }
.profile-card .profile-info .profile-stats .stat .stat-label { color: #718096; font-size: 0.9rem; }

.post-card .post-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1rem; }
.post-card .post-header .post-author { display: flex; align-items: center; gap: 0.5rem; }
.post-card .post-header .post-author img { width: 40px; height: 40px; border-radius: 50%; }
.post-card .post-header .post-meta { color: #718096; font-size: 0.9rem; }
.post-card .post-content { margin-bottom: 1rem; }
.post-card .post-actions { display: flex; justify-content: space-between; align-items: center; padding-top: 1rem; border-top: 1px solid #e2e8f0; }
.post-card .post-actions button { padding: 0.25rem 1rem; font-size: 0.9rem; }

.table-container { overflow-x: auto; margin-bottom: 1.5rem; background-color: #000000; border-radius: 8px; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); }

table { width: 100%; border-collapse: collapse; text-align: left; }
table th, table td { padding: 1rem; border-bottom: 1px solid #e2e8f0; }
table th { background-color: rgba(26, 91, 146, 0.1); color: #1a5b92; font-weight: 500; white-space: nowrap; cursor: pointer; transition: background-color 0.3s ease; }
table th:hover { background-color: rgba(26, 91, 146, 0.2); }
table th.sort-asc::after { content: ' ↑'; color: #1a5b92; }
table th.sort-desc::after { content: ' ↓'; color: #1a5b92; }
table tr:nth-child(even) { background-color: rgba(0, 0, 0, 0.2); }
table tr:hover { background-color: rgba(26, 91, 146, 0.05); }
table td { vertical-align: middle; }

.chat-container { background-color: #000000; border-radius: 8px; padding: 1.5rem; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); height: 600px; display: flex; flex-direction: column; }
.chat-container .chat-messages { flex: 1; overflow-y: auto; padding: 1rem; margin: -1.5rem; margin-bottom: 1rem; }
.chat-container .chat-messages .message { margin-bottom: 1rem; max-width: 80%; }
.chat-container .chat-messages .message.sent { margin-left: auto; }
.chat-container .chat-messages .message.sent .message-bubble { background-color: #1a5b92; border-radius: 8px 0 8px 8px; }
.chat-container .chat-messages .message.received { margin-right: auto; }
.chat-container .chat-messages .message.received .message-bubble { background-color: #000000; border-radius: 0 8px 8px 8px; }
.chat-container .chat-messages .message .message-bubble { padding: 0.5rem 1rem; margin-bottom: 0.25rem; }
.chat-container .chat-messages .message .message-meta { font-size: 0.8rem; color: #718096; text-align: right; }
.chat-container .chat-input { display: flex; gap: 0.5rem; margin-top: auto; }
.chat-container .chat-input input { flex: 1; margin-bottom: 0; }

.poll-container, .quiz-container { background-color: #000000; border-radius: 8px; padding: 1.5rem; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); max-width: 600px; margin: 0 auto; }
.poll-container .poll-question, .quiz-container .poll-question { font-size: 1.2rem; font-weight: 500; margin-bottom: 1.5rem; color: #1a5b92; }
.poll-container .poll-options, .quiz-container .poll-options { display: flex; flex-direction: column; gap: 0.5rem; }
.poll-container .poll-options .poll-option, .quiz-container .poll-options .poll-option { background-color: #000000; padding: 1rem; border-radius: 8px; cursor: pointer; transition: all 0.3s ease; border: 1px solid #e2e8f0; }
.poll-container .poll-options .poll-option:hover, .quiz-container .poll-options .poll-option:hover { background-color: #0d0d0d; transform: translateX(5px); }
.poll-container .poll-options .poll-option.selected, .quiz-container .poll-options .poll-option.selected { background-color: rgba(26, 91, 146, 0.2); border-color: #1a5b92; }
.poll-container .poll-options .poll-option .option-progress, .quiz-container .poll-options .poll-option .option-progress { margin-top: 0.5rem; height: 4px; background-color: #000000; border-radius: 9999px; overflow: hidden; }
.poll-container .poll-options .poll-option .option-progress .progress-bar, .quiz-container .poll-options .poll-option .option-progress .progress-bar { height: 100%; background-color: #1a5b92; transition: width 0.3s ease; }

.quiz-container .quiz-feedback { margin-top: 1rem; padding: 1rem; border-radius: 8px; text-align: center; }
.quiz-container .quiz-feedback.correct { background-color: rgba(40, 167, 69, 0.1); color: #28a745; }
.quiz-container .quiz-feedback.incorrect { background-color: rgba(220, 53, 69, 0.1); color: #dc3545; }

.leaderboard { background-color: #000000; border-radius: 8px; padding: 1.5rem; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); }
.leaderboard .leaderboard-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.5rem; padding-bottom: 1rem; border-bottom: 1px solid #e2e8f0; }
.leaderboard .leaderboard-header h2 { margin: 0; color: #1a5b92; }
.leaderboard .leaderboard-item { display: flex; justify-content: space-between; align-items: center; padding: 1rem; border-radius: 8px; background-color: rgba(0, 0, 0, 0.2); margin-bottom: 0.5rem; transition: transform 0.3s ease; }
.leaderboard .leaderboard-item:hover { transform: translateX(5px); }
.leaderboard .leaderboard-item .rank { font-size: 1.2rem; font-weight: bold; color: #1a5b92; width: 40px; }
.leaderboard .leaderboard-item .user-info { flex: 1; display: flex; align-items: center; gap: 1rem; }
.leaderboard .leaderboard-item .user-info img { width: 40px; height: 40px; border-radius: 50%; }
.leaderboard .leaderboard-item .score { font-weight: 500; color: #718096; }

.language-editor { background-color: #000000; border-radius: 8px; padding: 1.5rem; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); }
.language-editor .editor-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.5rem; padding-bottom: 1rem; border-bottom: 1px solid #e2e8f0; }
.language-editor .editor-controls { display: flex; gap: 0.5rem; margin-bottom: 1rem; }
.language-editor .code-area { background-color: black; border-radius: 8px; padding: 1rem; margin-bottom: 1.5rem; font-family: 'Courier New', monospace; }
.language-editor .code-area pre { margin: 0; white-space: pre-wrap; color: #2d3748; }

.modal { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.8); display: flex; justify-content: center; align-items: center; z-index: 1030; opacity: 0; visibility: hidden; transition: all 0.3s ease; }
.modal.active { opacity: 1; visibility: visible; }
.modal .modal-content { background-color: #000000; border-radius: 16px; padding: 2rem; max-width: 500px; width: 90%; position: relative; transform: translateY(-20px); transition: transform 0.3s ease; }
.modal .modal-content .modal-header { margin-bottom: 1.5rem; padding-bottom: 1rem; border-bottom: 1px solid #e2e8f0; }
.modal .modal-content .modal-header h3 { margin: 0; color: #1a5b92; }
.modal .modal-content .modal-close { position: absolute; top: 1rem; right: 1rem; font-size: 1.5rem; color: #718096; cursor: pointer; transition: color 0.3s ease; }
.modal .modal-content .modal-close:hover { color: #1a5b92; }
.modal.active .modal-content { transform: translateY(0); }

.mt-0 { margin-top: 0; }
.mt-1 { margin-top: 0.25rem; }
.mt-2 { margin-top: 0.5rem; }
.mt-3 { margin-top: 1rem; }
.mt-4 { margin-top: 1.5rem; }
.mt-5 { margin-top: 2rem; }

.pt-0 { padding-top: 0; }
.pt-1 { padding-top: 0.25rem; }
.pt-2 { padding-top: 0.5rem; }
.pt-3 { padding-top: 1rem; }
.pt-4 { padding-top: 1.5rem; }
.pt-5 { padding-top: 2rem; }

.text-center { text-align: center; }
.text-left { text-align: left; }
.text-right { text-align: right; }
.text-primary { color: #1a5b92; }
.text-muted { color: #718096; }

.d-none { display: none; }
.d-block { display: block; }
.d-flex { display: flex; }
.d-grid { display: grid; }

.flex-1 { flex: 1; }
.flex-wrap { flex-wrap: wrap; }
.flex-nowrap { flex-wrap: nowrap; }

.fade { transition: opacity 0.3s ease; }
.fade-enter { opacity: 0; }
.fade-enter-active { opacity: 1; }
.fade-exit { opacity: 1; }
.fade-exit-active { opacity: 0; }

@media (max-width: 576px) { .hide-sm { display: none !important; } }
@media (max-width: 768px) { .hide-md { display: none !important; } }
@media (max-width: 992px) { .hide-lg { display: none !important; } }
.interests { background-color: #000000; padding: 1rem; border-radius: 8px; margin-bottom: 1.5rem; text-align: center; max-width: 1000px; width: 100%; margin: 0 auto 1.5rem auto; }
.interests #interest1, .interests #interest2 { color: #2d3748; margin: 0.5rem 0; font-size: 1.1rem; }

.ai-text { color: #1a5b92; font-size: 1.2rem; }

.chat-message { background-color: #000000; padding: 1rem; margin: 0.5rem 0; border-radius: 8px; }
.chat-message .message-content { display: flex; justify-content: space-between; align-items: center; }
.chat-message .message-content p { margin: 0; flex: 1; }
.chat-message .message-content .edit-button, .chat-message .message-content .delete-button { margin-left: 0.5rem; padding: 0.25rem 0.5rem; font-size: 0.9rem; }
.chat-message .message-content .edit-button { background-color: #ffc107; color: #000000; }
.chat-message .message-content .delete-button { background-color: #dc3545; }

body { transition: background-color 0.3s ease, color 0.3s ease; }
body[data-theme="light"] { background-color: #ffffff !important; color: #333333 !important; }
body[data-theme="light"] .site-header, body[data-theme="light"] header, body[data-theme="light"] nav { background-color: #f8f9fa !important; }
body[data-theme="light"] .site-nav { background-color: #f8f9fa !important; }
body[data-theme="light"] .site-nav .page-link { color: #24292e !important; }
body[data-theme="light"] .site-title { color: #24292e !important; }
body[data-theme="light"] .page-content { background-color: #ffffff !important; }
body[data-theme="light"] .post-content { color: #333333 !important; }
body[data-theme="light"] .card, body[data-theme="light"] .profile-card, body[data-theme="light"] .post-card, body[data-theme="light"] .section, body[data-theme="light"] .container { background-color: #f5f5f5 !important; color: #333333 !important; }

body { transition: background-color 0.3s ease, color 0.3s ease; }
body[data-theme="light"] { background-color: #f7f9fb !important; color: #2d3748 !important; }
body[data-theme="light"] .site-header { background-color: #ffffff !important; border-bottom: 1px solid #e1e4e8 !important; }
body[data-theme="light"] .site-title, body[data-theme="light"] .site-nav .page-link { color: #1a5b92 !important; }
body[data-theme="light"] .card, body[data-theme="light"] .profile-card, body[data-theme="light"] .post-card, body[data-theme="light"] .section, body[data-theme="light"] .container, body[data-theme="light"] .profile { background-color: #ffffff !important; color: #2d3748 !important; }
body[data-theme="light"] .heading h1, body[data-theme="light"] h2, body[data-theme="light"] h3, body[data-theme="light"] h4, body[data-theme="light"] h5, body[data-theme="light"] h6 { color: #1a5b92 !important; }
body[data-theme="light"] a { color: #12b5c8 !important; }
body[data-theme="light"] a:hover { color: #0fa3b0 !important; }
body[data-theme="light"] input[type="text"], body[data-theme="light"] input[type="password"] { background-color: #ffffff !important; color: #2d3748 !important; border: 1px solid #e1e4e8 !important; }

.theme-switch-wrapper { position: fixed; top: 20px; right: 20px; z-index: 1000; }

.theme-switch { display: inline-flex; align-items: center; padding: 10px 20px; background-color: #1a5b92; border: 2px solid #ff8a2c; border-radius: 20px; color: #ffffff; cursor: pointer; transition: all 0.3s ease; font-size: 14px; gap: 8px; }
.theme-switch:hover { transform: translateY(-2px); box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); }

.theme-icon { font-size: 16px; }
