/* Root Theme Variables */
:root {
--primary-color: #338618; /* Theme's primary color */
--text-color: #4a4a4a;
--background-color: #f9f9f9;
--border-color: #e0e0e3;
}
/* General Body Styling */
body {
background-color: var(--background-color);
color: var(--text-color);
padding: 2rem;
display: flex;
flex-direction: column;
align-items: center;
text-align: left;
animation: fadeIn 0.5s ease-in-out;
overflow-x: hidden;
}
/* Wrapper */
.wrapper {
width: 100%;
max-width: 800px;
padding: 2rem;
display: flex;
flex-direction: column;
align-items: flex-start;
}
/* Headings */
h1, h2, h3, h4, h5, h6 {
color: var(--primary-color);
font-weight: bold;
margin-bottom: 0.5rem;
}
/* Links */
a {
color: var(--primary-color);
transition: color 0.2s ease;
}
a:visited {
color: #bf5af2;
}
a:hover {
color: #ff453a;
text-decoration: underline;
}
/* Horizontal Rule */
hr {
background: var(--border-color);
border: none;
height: 1px;
margin: 2rem 0;
}
/* Images & Videos */
img, video {
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
border-radius: 12px;
margin: 1.5rem auto;
display: block;
max-width: 100%;
height: auto;
animation: fadeIn 0.6s ease-in-out;
}
/* Blockquotes */
blockquote {
background: rgba(240, 240, 240, 0.8);
border-left: 4px solid var(--primary-color);
padding: 0.5rem 1rem;
border-radius: 8px;
margin: 1.5rem 0;
font-style: italic;
}
/* Code Blocks */
code, pre {
background-color: #C7E3BE;
color: var(--text-color);
padding: 0.2rem 0.4rem;
border-radius: 6px;
font-family: monospace;
word-break: break-word;
white-space: pre-wrap;
overflow-x: auto;
max-width: 100%;
}
pre {
padding: 1rem;
margin: 1.5rem 0;
border-radius: 12px;
}
/* Buttons */
.button,
button,
input[type="submit"],
input[type="reset"],
input[type="button"] {
background-color: #5e5e5e;
color: #ffffff;
padding: 8px 16px;
border-radius: 8px;
border: none;
cursor: pointer;
transition: background-color 0.2s ease, transform 0.2s ease;
}
.button:hover,
button:hover,
input[type="submit"]:hover,
input[type="reset"]:hover,
input[type="button"]:hover {
background-color: #444444;
transform: translateY(-1px);
}
.button:active,
button:active,
input[type="submit"]:active,
input[type="reset"]:active,
input[type="button"]:active {
background-color: var(--primary-color);
color: #ffffff;
transform: translateY(0);
}
.button:focus,
button:focus,
input[type="submit"]:focus,
input[type="reset"]:focus,
input[type="button"]:focus {
outline: none;
box-shadow: 0 0 0 3px rgba(51, 134, 24, 0.3);
}
/* Echo Content */
.echo-content {
max-width: 600px;
margin: 2rem auto;
padding: 2rem;
background: rgba(240, 240, 240, 0.9);
border: none; /* No border in light mode */
border-radius: 12px;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
text-align: center;
animation: fadeIn 0.5s ease-in-out;
}
/* Markdown Content */
.markdown-content {
font-size: 1.8rem;
line-height: 1.6;
max-width: 800px;
margin: auto;
word-break: break-word;
}
.markdown-content h1,
.markdown-content h2,
.markdown-content h3 {
color: var(--primary-color);
font-weight: bold;
margin-bottom: 0.5rem;
}
.markdown-content p {
margin-bottom: 1rem;
}
/* Ensure markdown links wrap properly */
.markdown-content a {
font-size: inherit;
display: inline;
white-space: normal;
word-break: break-word;
overflow-wrap: break-word;
}
.markdown-content ul {
list-style-type: disc;
padding-left: 20px;
}
.markdown-content ol {
list-style-type: decimal;
padding-left: 20px;
}
.markdown-content pre {
background-color: #C7E3BE;
padding: 1rem;
border-radius: 8px;
overflow-x: auto;
white-space: pre-wrap;
word-break: break-word;
max-width: 100%;
}
/* Dark Mode */
@media (prefers-color-scheme: dark) {
:root {
--text-color: #ddd;
--background-color: #121212;
--light-gray: #2a2a2a;
--code-bg-color: #C7E3BE;
--code-text-color: #000000;
}
body {
background-color: var(--background-color);
color: var(--text-color);
}
a {
color: #7ec8e3;
}
th {
background-color: var(--light-gray);
}
/* Code Blocks in Dark Mode */
code,
pre {
background-color: var(--code-bg-color);
color: var(--code-text-color);
}
/* Dark Mode Echo Content Styling */
.echo-content {
background: transparent;
color: var(--text-color);
border: 2px solid var(--primary-color);
padding: 2rem;
border-radius: 12px;
box-shadow: 0 4px 10px rgba(0, 0, 0, 0.6);
transition: all 0.3s ease-in-out;
}
.echo-content:hover {
border-color: var(--primary-color);
transform: translateY(-2px);
box-shadow: 0 6px 14px rgba(0, 0, 0, 0.8);
}
}
/* Fade-In Animation */
@keyframes fadeIn {
from {
opacity: 0;
transform: translateY(-10px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
/* Mobile Tweaks */
@media (max-width: 768px) {
body {
padding: 1rem;
}
.wrapper {
padding: 1rem;
}
pre {
font-size: 0.9rem;
}
.echo-content {
width: 90%;
padding: 1rem;
}
.markdown-content {
font-size: 1.6rem;
}
}
@media (max-width: 480px) {
body,
.wrapper,
.markdown-content {
width: 100%;
padding: 1rem;
box-sizing: border-box;
}
pre {
font-size: 0.85rem;
}
.echo-content {
width: 95%;
padding: 1rem;
}
.markdown-content {
font-size: 1.5rem;
}
}