Files
2025-08-19 10:30:45 -05:00

343 lines
6.9 KiB
CSS

@import url("/layout.css");
:root {
color-scheme: light dark;
--bg-color: light-dark(#fbf1c7, #282828);
--fg-color: light-dark(#3c3836, #ebdbb2);
--bg-color-reverse: light-dark(#3c3836, #ebdbb2);
--fg-color-reverse: light-dark(#fbf1c7, #282828);
--bg-color-3: light-dark(#bdae93, #665c54);
--bg-color-3-switch: light-dark(#665c54, #bdae93);
--bg-color-hard: light-dark(#f9f5d7, #1d2021);
--gray: light-dark(#7c6f64, #a89984);
--orange: #d65d0e;
--red: #cc241d;
--green: #98971a;
--yellow: #d79921;
--blue: #458588;
--purple: #b16286;
--aqua: #689d6a;
--orange-dim: light-dark(#af3a03, #fe8019);
--red-dim: light-dark(#9d0006, #fb4934);
--green-dim: light-dark(#79740e, #b8bb26);
--yellow-dim: light-dark(#b57614, #fabd2f);
--blue-dim: light-dark(#076678, #83a598);
--purple-dim: light-dark(#8f3f71, #d3869d);
--aqua-dim: light-dark(#427b58, #8ec07c);
}
body {
background-color: var(--bg-color);
/*container-type: inline-size;*/
font-family: "Curier New", monospace;
margin: 0;
min-height: 100svh;
flex-direction: column;
justify-content: space-evenly;
}
* {
color: var(--fg-color);
border: none;
box-sizing: border-box;
}
h1,
h2 {
background-color: var(--bg-color-reverse);
color: var(--fg-color-reverse);
text-align: center;
text-decoration: none;
}
.s1, .s2, .s3, .s4, .s5, .s6, .s7 {
transition: background 0.7s ease-in-out;
margin-bottom: 0;
&:hover { background-color: var(--dim-color); }
}
.s1 { background-color: var(--orange); --dim-color: var(--orange-dim); }
.s2 { background-color: var(--red); --dim-color: var(--red-dim); }
.s3 { background-color: var(--green); --dim-color: var(--green-dim); }
.s4 { background-color: var(--yellow); --dim-color: var(--yellow-dim); }
.s5 { background-color: var(--blue); --dim-color: var(--blue-dim); }
.s6 { background-color: var(--purple); --dim-color: var(--purple-dim); }
.s7 { background-color: var(--aqua); --dim-color: var(--aqua-dim); }
.c {
padding: 1em;
background-color: var(--bg-color-3);
text-align: center;
}
img {
transition: all 0.2s ease-in-out;
}
img:hover {
transform: scale(1.3);
border: none;
box-shadow: 5px 4px 10px black;
}
.pager {
margin-top: 5px;
margin-bottom: 10px;
padding: 5px;
color: var(--fg-color-reverse);
text-align: center;
}
.btn {
transition: background 0.4s ease-in-out;
cursor: pointer;
background-color: var(--bg-color-reverse);
color: var(--fg-color-reverse);
display: inline-flex;
flex-direction: column;
justify-content: center;
align-items: center;
&:hover {
background-color: var(--bg-color-3-switch);
}
}
.btn.pager-btn {
padding: 10px 20px;
font-size: 16px;
font-weight: 900;
margin: 4px 2px;
&.selected {
background-color: var(--bg-color);
color: var(--fg-color);
border-color: var(--fg-color);
border-width: thick;
border-style: solid;
}
}
.clickable {
cursor: pointer;
}
.section {
display: none;
&.selected {
display: block;
}
}
.float-btns {
z-index: 10;
position: fixed;
bottom: 0;
right: 0;
margin-bottom: 1rem;
margin-right: 1rem;
display: flex;
flex-direction: column;
gap: 0.5rem;
justify-content: end;
}
.btn.float-btn {
height: 2.5rem;
width: 2.5rem;
font-size: 1.5rem;
& i {
color: var(--fg-color-reverse);
}
}
.hidden {
display: none !important;
}
/* Add these styles to your existing style.css */
.subsection-theme-switch {
text-align: center;
margin: 10px 0;
}
.btn.subsection-theme-btn {
padding: 8px 16px;
font-size: 14px;
font-weight: 700;
margin: 0 4px;
border-radius: 4px;
&.selected {
background-color: var(--bg-color);
color: var(--fg-color);
border: 2px solid var(--fg-color);
}
&:not(.selected) {
opacity: 0.7;
}
}
.subsection-content {
transition: opacity 0.3s ease-in-out;
}
/* Ensure subsection content containers are properly spaced */
.section .subsection-content + .subsection-content {
margin-top: 0;
}
/* Enhanced theme switch styles - Add to your style.css */
.subsection-theme-switch {
text-align: center;
margin: 15px 0 20px 0;
opacity: 0;
visibility: hidden;
transition: all 0.3s ease-in-out;
transform: translateY(-10px);
}
/* Show theme switch only when section is selected */
.section.selected .subsection-theme-switch {
opacity: 1;
visibility: visible;
transform: translateY(0);
}
/* Theme switch container styled like a toggle */
.theme-toggle-container {
display: inline-flex;
background-color: var(--bg-color-3);
border-radius: 25px;
padding: 4px;
box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.2);
border: 2px solid var(--fg-color);
position: relative;
overflow: hidden;
}
.theme-toggle-container::before {
content: '';
position: absolute;
top: 4px;
left: 4px;
width: calc(50% - 4px);
height: calc(100% - 8px);
background: linear-gradient(135deg, var(--bg-color-reverse), var(--bg-color-3-switch));
border-radius: 20px;
transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
z-index: 1;
}
.theme-toggle-container.light-active::before {
transform: translateX(100%);
}
.btn.subsection-theme-btn {
padding: 12px 24px;
font-size: 14px;
font-weight: 700;
border: none;
background: transparent;
color: var(--fg-color);
cursor: pointer;
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
position: relative;
z-index: 2;
border-radius: 20px;
min-width: 80px;
text-transform: uppercase;
letter-spacing: 0.5px;
&:hover {
background: transparent;
}
&.selected {
color: var(--fg-color-reverse);
text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}
&:not(.selected) {
opacity: 0.7;
}
/* Add subtle glow effect for selected button */
&.selected {
position: relative;
}
&.selected::after {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
border-radius: 20px;
background: rgba(255, 255, 255, 0.1);
pointer-events: none;
}
}
/* Animation for button text */
.btn.subsection-theme-btn {
position: relative;
overflow: hidden;
}
.btn.subsection-theme-btn::before {
content: attr(data-text);
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
transition: transform 0.3s ease;
opacity: 0;
}
.btn.subsection-theme-btn.selected::before {
opacity: 1;
transform: translate(-50%, -50%) scale(1.05);
}
svg {
stroke: var(--fg-color-reverse) !important;
}
/* Responsive adjustments */
@media screen and (max-width: 640px) {
.btn.subsection-theme-btn {
padding: 10px 20px;
font-size: 12px;
min-width: 70px;
}
.theme-toggle-container {
padding: 3px;
}
}
/* Dark mode specific adjustments */
@media (prefers-color-scheme: dark) {
.theme-toggle-container {
box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.4);
}
.theme-toggle-container::before {
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.5);
}
}