:root {
--primary-color: #2d7a30; --primary-hover: #256626; --secondary-color: #ffffff;
--accent-color: #dc2626; --text-color: #1f2937; --text-muted: #6b7280; --bg-color: #ffffff; --bg-secondary: #f9fafb; --border-color: #e5e7eb; --border-color-hover: #2563eb; --header-bg: #ffffff;
--sidebar-bg: #f9fafb; --content-bg: #ffffff;
--card-bg: #ffffff;
--header-height: 60px;
--sidebar-width: 280px;
--transition: 0.2s ease;
--shadow: 0 1px 3px rgba(0,0,0,0.1);
--shadow-hover: 0 4px 6px rgba(0,0,0,0.1);
--border-radius: 15px;
--font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
--forum-container-bg: #f3f4f6; --photo-frame: #ffffff; 
--question: #f0f8ff; 
} [data-theme="dark"] {
--primary-color: #4CAF50;
--primary-hover: #45a049;
--secondary-color: #2d2d2d;
--text-color: #C8C8C8;
--text-muted: #adb5bd;
--bg-color: #1a1a1a;
--bg-secondary: #2d2d2d;
--border-color: #495057;
--header-bg: #2d2d2d;
--sidebar-bg: #1a1a1a;
--content-bg: #1a1a1a;
--card-bg: #2d2d2d;
--shadow: 0 2px 4px rgba(0,0,0,0.3);
--shadow-hover: 0 4px 12px rgba(0,0,0,0.4);
--forum-container-bg: #1a1a1a;
--photo-frame: #B1B1B1; 
--question: #C8C8C8;  
} :root {
--font-family-primary: 'Roboto Slab', sans-serif; 
--font-family-system: 'Roboto', sans-serif;
--font-family-title: 'Roboto', sans-serif;
--font-weight-light: 300;
--font-weight-normal: 400;
--font-weight-medium: 500;
--font-weight-semibold: 600;
--font-weight-bold: 800;
--line-height-tight: 1.25;
--line-height-normal: 1.5;
--line-height-relaxed: 1.625;
} * {
box-sizing: border-box;
}
body {
margin: 0;
padding: 0;
font-family: var(--font-family-primary);
font-weight: var(--font-weight-normal);
line-height: var(--line-height-normal);
font-feature-settings: 'kern' 1, 'liga' 1;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
color: var(--text-color);
background-color: var(--bg-color);
font-size: 16px;
transition: background-color var(--transition), color var(--transition);
text-rendering: optimizeSpeed; 
font-variant-ligatures: common-ligatures;
font-kerning: normal;
} a {color: var(--primary-color);}
a:hover {color: var(--primary-hover);}
p {font-size: 1.1rem;}
h1, h2, h3, h4, h5, h6,
.heading,
.site-title,
.post-title,
.widget-title,
.notes-title {
font-family: var(--font-family-title);
font-weight: var(--font-weight-semibold);
line-height: var(--line-height-tight);
}
@media (max-width: 768px) {
p {
font-size: 1.1rem;
}
}
h1, .h1 {
font-size: 2.5rem;
font-weight: var(--font-weight-bold);
}
h2, .h2 {
font-size: 1.875rem;
font-weight: var(--font-weight-semibold);
}
h3, .h3 {
font-size: 1.5rem;
font-weight: var(--font-weight-semibold);
}
h4, .h4 {
font-size: 1.25rem;
font-weight: var(--font-weight-medium);
}
h5, .h5 {
font-size: 1.125rem;
font-weight: var(--font-weight-medium);
}
h6, .h6 {
font-size: 1rem;
font-weight: var(--font-weight-medium);
}
.main-navigation,
.sidebar-menu,
.filter-controls,
.topic-meta,
.post-meta,
.breadcrumbs {
font-family: var(--font-family-primary);
font-weight: var(--font-weight-normal);
}
.btn,
button,
input[type="submit"],
input[type="button"],
.button {
font-family: var(--font-family-primary);
font-weight: var(--font-weight-medium);
letter-spacing: 0.01em;
}
input,
textarea,
select {
font-family: var(--font-family-primary);
font-weight: var(--font-weight-normal);
}
code,
pre,
kbd,
samp {
font-family: var(--font-family-title);
font-size: 1rem;
margin: 0 0 1.7rem;
text-wrap: inherit;
} .material-icon {
font-family: 'Material Symbols Outlined';
font-weight: normal;
font-style: normal;
font-size: 1.2em;
line-height: 1;
letter-spacing: normal;
text-transform: none;
display: inline-block;
white-space: nowrap;
word-wrap: normal;
direction: ltr;
-webkit-font-feature-settings: 'liga';
-webkit-font-smoothing: antialiased;
vertical-align: middle;
}
.material-icon.size-small { font-size: 1rem; }
.material-icon.size-medium { font-size: 1.2rem; }
.material-icon.size-large { font-size: 1.5rem; }
.material-icon.size-xl { font-size: 2rem; }
.menu-icon {
margin-right: 0.5rem;
opacity: 0.8;
transition: opacity 0.2s ease;
}
.menu-item:hover .menu-icon {
opacity: 1;
}.forum-container {
display: flex;
min-height: 100vh;
background-color: var(--forum-container-bg);
}
.forum-sidebar {
width: var(--sidebar-width);
background-color: var(--bg-secondary);
border-right: 1px solid var(--border-color);
padding: 0.75rem 1.5rem;
overflow-y: auto;
height: calc(100vh - var(--header-height));
position: sticky;
top: var(--header-height);
flex-shrink: 0;
transition: transform 0.3s ease;
box-shadow: var(--shadow);
background-blend-mode: saturation;
}
.forum-main {
flex: 1;
padding: 1.5rem;
min-width: 0;
transition: margin-left 0.3s ease;
}
.content-wrapper {
width: 100%;
max-width: none;
} .forum-container.sidebar-hidden .forum-sidebar {
transform: translateX(-100%);
}
.forum-container.sidebar-hidden .forum-main {
margin-left: calc(-1 * var(--sidebar-width));
}
.forum-container.sidebar-hidden .content-wrapper {
max-width: 1200px;
margin: 0 auto;
padding: 0 2rem;
} @media (max-width: 768px) {
.forum-container {
flex-direction: column;
}
.forum-sidebar {
position: fixed;
top: var(--header-height);
left: 0;
width: 280px;
z-index: 999;
box-shadow: var(--shadow);
}
.forum-container.sidebar-hidden .forum-sidebar {
transform: translateX(-100%);
}
.forum-container:not(.sidebar-hidden) .forum-sidebar {
transform: translateX(0);
}
.forum-main {
padding: 1rem;
width: 100%;
margin-left: 0;
}
.forum-container.sidebar-hidden .forum-main {
margin-left: 0;
}
.forum-container.sidebar-hidden .content-wrapper {
padding: 0;
max-width: none;
margin: 0;
}
}.header {
background: var(--bg-color);
border-bottom: 1px solid var(--border-color);
position: sticky;
top: 0;
z-index: 1000;
height: var(--header-height);
transition: var(--transition);
} .nav-container {
margin: 0 auto;
display: flex;
justify-content: space-between;
align-items: center;
padding: 0 1rem;
height: var(--header-height);
position: relative;
} @media (min-width: 769px) {
.nav-container {
justify-content: flex-start;
}
.logo {
margin-left: 0; }
.nav-wrapper {
margin-left: auto; }
} @media (max-width: 768px) {
.nav-container {
justify-content: space-between;
}
.nav-wrapper {
margin-left: 0;
}
}  .header-left {
display: flex;
align-items: center;
width: 60px;
justify-content: flex-start;
} .site-title {
font-size: 1.2rem;
line-height: 1;
font-weight: 700;
color: var(--text-color);
text-decoration: none;
transition: color 0.2s ease;
display: flex;
align-items: center;
gap: 0.2rem;
}
.site-title:hover {
color: var(--primary-color);
}
.site-title span  {
font-weight: 400;
color: var(--primary-color);
font-size: 1.4rem;
gap: 0rem !important;
}
.site-title:hover span {
color: var(--text-color);
} .nav-wrapper {
display: flex;
flex-direction: row;
align-items: center;
gap: 0;
} .header-btn {
display: flex;
align-items: center;
justify-content: center;
padding: 0.5rem;
background: transparent;
border: none;
border-radius: var(--border-radius);
color: var(--text-color);
cursor: pointer;
transition: var(--transition);
font-size: 1rem;
min-width: 40px;
min-height: 40px;
}
.header-btn:hover,
.header-btn:focus {
background-color: var(--bg-secondary);
color: var(--primary-color);
}
.header-btn .material-icon {
font-size: 1.25rem;
} .nav-menu {
display: flex;
list-style: none;
gap: 1rem;
margin: 0;
padding: 0;
align-items: center;
font-family: var(--font-family-title);
}
.nav-menu a {
text-decoration: none;
color: var(--text-color);
font-weight: 500;
transition: color 0.2s ease;
display: flex;
align-items: center;
gap: 0.5rem;
padding: 0.5rem 1rem;
border-radius: var(--border-radius);
}
.nav-menu a:hover,
.nav-menu a:focus {
color: var(--primary-color);
background-color: var(--bg-secondary);
} .nav-menu li:first-child a {
padding: 0.5rem;
}  .search-toggle {
background: none;
border: none;
color: var(--text-color);
cursor: pointer;
padding: 0.5rem;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
transition: var(--transition);
}
.search-toggle:hover,
.search-toggle:focus {
background: rgba(214, 92, 69, 0.1);
color: var(--primary-color);
}
.search-toggle.active {
background: var(--primary-color);
color: #fff;
} .search-container {
position: absolute;
top: 100%;
right: 0;
background: var(--bg-color);
border: 1px solid var(--ui-border);
border-top: none;
border-radius: 0 0 8px 8px;
box-shadow: var(--shadow);
opacity: 0;
visibility: hidden;
transform: translateY(-10px);
transition: var(--transition);
min-width: 320px;
z-index: 1001;
}
.search-container.active {
opacity: 1;
visibility: visible;
transform: translateY(0);
} .search-form {
padding: 1rem;
}
.search-input-wrapper {
display: flex;
align-items: center;
background: var(--bg-secondary);
border: 2px solid var(--ui-border);
border-radius: var(--border-radius);
overflow: hidden;
transition: border-color 0.2s ease;
}
.search-input-wrapper:focus-within {
border-color: var(--primary-color);
box-shadow: 0 0 0 3px rgba(214, 92, 69, 0.1);
}
.search-field {
flex: 1;
padding: 0.75rem 1rem;
border: none;
background: transparent;
font-size: 1rem;
font-family: inherit;
color: var(--text-color);
}
.search-field:focus {
outline: none;
}
.search-field::placeholder {
color: var(--text-muted);
}
.search-submit,
.search-close {
background: none;
border: none;
padding: 0.75rem;
cursor: pointer;
color: var(--text-color);
display: flex;
align-items: center;
justify-content: center;
transition: color 0.2s ease;
}
.search-submit:hover,
.search-close:hover {
color: var(--primary-color);
}
.search-close {
border-left: 1px solid var(--ui-border);
} .theme-toggle {
position: relative;
}
[data-theme="dark"] .theme-icon-light {
display: none;
}
[data-theme="dark"] .theme-icon-dark {
display: inline-block !important;
}
[data-theme="light"] .theme-icon-light {
display: inline-block;
}
[data-theme="light"] .theme-icon-dark {
display: none;
} .mobile-page-toggle {
display: none;
flex-direction: column;
background: none;
border: none;
cursor: pointer;
padding: 8px;
font-size: 18px;
border-radius: var(--border-radius);
transition: var(--transition);
color: var(--text-color);
}
.mobile-page-toggle:hover {
background-color: var(--bg-secondary);
}
.hamburger {
width: 25px;
height: 3px;
background: var(--text-color);
margin: 3px 0;
transition: var(--transition);
transform-origin: center;
} .mobile-page-toggle.active .hamburger:nth-child(1) {
transform: rotate(45deg) translate(5px, 5px);
}
.mobile-page-toggle.active .hamburger:nth-child(2) {
opacity: 0;
transform: translateX(-10px);
}
.mobile-page-toggle.active .hamburger:nth-child(3) {
transform: rotate(-45deg) translate(7px, -6px);
}
.home #mobile-menu-toggle,
.front-page #mobile-menu-toggle,
.blog #mobile-menu-toggle,
.archive #mobile-menu-toggle,
.single-post #mobile-menu-toggle {
visibility: hidden;
} .nav-menu .material-symbols-outlined,
.search-toggle .material-symbols-outlined,
.search-submit .material-symbols-outlined,
.search-close .material-symbols-outlined,
.theme-toggle .material-icon {
font-size: 20px;
font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 20;
} @media (max-width: 768px) {
.nav-container {
padding: 0 1rem;
flex-wrap: nowrap;
} .mobile-page-toggle {
display: flex;
} .nav-wrapper {
position: fixed;
top: var(--header-height);
left: 0;
right: 0;
background: var(--bg-color);
flex-direction: column;
align-items: stretch;
box-shadow: var(--shadow);
opacity: 0;
visibility: hidden;
transform: translateY(-20px);
transition: var(--transition);
border-top: 1px solid var(--ui-border);
z-index: 999;
max-height: calc(100vh - var(--header-height));
overflow-y: auto;
}
.nav-wrapper.active {
opacity: 1;
visibility: visible;
transform: translateY(0);
} .nav-menu {
flex-direction: column;
gap: 0;
padding: 0;
width: 100%;
}
.nav-menu li {
width: 100%;
border-bottom: 1px solid var(--ui-border);
}
.nav-menu li:last-child {
border-bottom: none;
}
.nav-menu a,
.nav-menu .search-toggle,
.nav-menu .theme-toggle {
padding: 1rem 1.5rem;
width: 100%;
text-align: left;
justify-content: flex-start;
border-radius: 0;
background: transparent;
border: none;
color: var(--text-color);
font-weight: 500;
gap: 0.75rem;
}
.nav-menu a:hover,
.nav-menu .search-toggle:hover,
.nav-menu .theme-toggle:hover {
background: rgba(214, 92, 69, 0.1);
color: var(--primary-color);
} .nav-menu .search-toggle::after {
content: 'Search';
font-family: inherit;
font-weight: 500;
}
.nav-menu .theme-toggle::after {
content: 'Toggle theme';
font-family: inherit;
font-weight: 500;
} .search-container {
position: fixed;
top: var(--header-height);
left: 0;
right: 0;
background: var(--bg-secondary);
border: none;
border-radius: 0;
box-shadow: var(--shadow);
min-width: auto;
z-index: 998;
max-height: 0;
overflow: hidden;
padding: 0;
}
.search-container.active {
max-height: 100px;
padding: 1rem;
}
.search-container .search-form {
padding: 0;
}
} @media (max-width: 480px) {
.nav-container {
padding: 0 0.75rem;
}
.mobile-page-toggle {
padding: 6px;
}
.mobile-page-toggle .hamburger {
width: 20px;
height: 2px;
margin: 2px 0;
}
.nav-menu a,
.nav-menu .search-toggle,
.nav-menu .theme-toggle {
padding: 0.875rem 1rem;
font-size: 0.95rem;
}
.search-container.active {
padding: 0.75rem;
}
}  .nav-menu a:focus,
.search-toggle:focus,
.search-field:focus,
.search-submit:focus,
.search-close:focus,
.mobile-page-toggle:focus,
.theme-toggle:focus,
.header-btn:focus {
outline: 2px solid var(--primary-color);
outline-offset: 2px;
} .nav-menu a:focus:not(:focus-visible),
.search-toggle:focus:not(:focus-visible),
.mobile-page-toggle:focus:not(:focus-visible),
.theme-toggle:focus:not(:focus-visible),
.header-btn:focus:not(:focus-visible) {
outline: none;
} .search-field:focus {
outline: none;
}
.search-field:focus + .search-submit {
color: var(--primary-color);
} .search-submit:disabled {
opacity: 0.6;
cursor: not-allowed;
}
.search-submit:disabled .material-symbols-outlined {
animation: spin 1s linear infinite;
}
@keyframes spin {
from { transform: rotate(0deg); }
to { transform: rotate(360deg); }
} @media (prefers-contrast: high) {
.header {
border-bottom-width: 2px;
}
.nav-wrapper {
border-width: 2px;
}
.search-container {
border-width: 2px;
}
.search-input-wrapper {
border-width: 2px;
}
.mobile-page-toggle .hamburger {
background: currentColor;
height: 4px;
}
} @media (prefers-reduced-motion: reduce) {
.header,
.nav-wrapper,
.search-container,
.mobile-page-toggle .hamburger,
.search-input-wrapper,
.nav-menu a,
.search-toggle,
.theme-toggle,
.header-btn {
transition: none;
}
.search-submit:disabled .material-symbols-outlined {
animation: none;
}
} @media print {
.header {
position: static;
box-shadow: none;
border-bottom: 1px solid #000;
}
.nav-wrapper,
.search-container,
.mobile-page-toggle,
.theme-toggle {
display: none;
}
.logo {
color: #000;
}
}.app-footer {
margin-top: auto;
background-color: #1a1a1a;;
border-top: 1px solid var(--border-color);
padding: 0.2rem;
color: #e9ecef;
}
.footer-content {
max-width: 1024px;
margin: 0 auto;
}
.footer-widgets {
display: grid;
gap: 2rem;
margin-bottom: 2rem;
}
.footer-widget h3 {
font-size: 1.125rem;
margin-bottom: 1rem;
color: #fff;
}
.footer-widget ul {
list-style: none;
padding: 0;
margin: 0;
}
.footer-widget li {
margin-bottom: 0.5rem;
}
.footer-widget a {
color: #fff;
text-decoration: none;
transition: color var(--transition);
}
.footer-widget a:hover {
color: #fff;
}
.footer-info {
text-align: center;
font-size: 0.875rem;
}
.footer-info li{
padding: 0 1rem;
}
.footer-nav {
margin: 1rem 0;
}
.footer-menu {
display: flex;
justify-content: center;
flex-wrap: wrap;
gap: 1rem;
list-style: none;
padding: 0;
margin: 0;
}
.footer-menu a {
color: #e9ecef;;
text-decoration: none;
transition: color var(--transition);
}
.footer-menu a:hover {
color: #fff;
text-decoration: underline;
}
.footer-content {
max-width: 1200px;
margin: 0 auto;
}
.licence-section {
padding-top: 0.5rem;
margin-top: 1rem;
}
.cc-licence {
display: flex;
align-items: center;
gap: 1rem;
flex-wrap: wrap;
}
.cc-logo {
flex-shrink: 0;
}
.cc-text {
flex: 1;
min-width: 300px;
}
.cc-text p {
margin: 0 0 0.2rem 0;
line-height: 1;
text-align: center;
font-size: 0.75rem;
}
.cc-text a {
color: #3498db;
text-decoration: none;
}
.cc-text a:hover {
text-decoration: underline;
}
.cc-logo img {
height: 31px;
width: auto;
} @media (max-width: 768px) {
.cc-licence {
flex-direction: column;
align-items: flex-start;
gap: 1rem;
}
.cc-text {
min-width: auto;
}
} .footer-links {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
gap: 2rem;
margin-bottom: 1.5rem;
}
.footer-section h3 {
color: #ecf0f1;
margin-bottom: 1rem;
font-size: 1.1rem;
}
.footer-section ul {
list-style: none;
padding: 0;
margin: 0;
}
.footer-section li {
margin-bottom: 0.5rem;
}
.footer-section a {
color: #bdc3c7;
text-decoration: none;
}
.footer-section a:hover {
color: #3498db;
}.content-header {
display: flex;
align-items: center;
justify-content: space-between;
margin-bottom: 1.5rem;
padding-bottom: 1rem;
}
.content-title {
font-size: 1.75rem;
font-weight: 600;
color: var(--text-color);
margin: 0;
}
.content-subtitle {
font-size: 0.875rem;
color: var(--text-muted);
margin: 0.25rem 0 0 0;
} .topic-list {
background-color: var(--card-bg);
border-radius: var(--border-radius);
border: 1px solid var(--border-color);
overflow: hidden;
}
.topic-item {
display: flex;
align-items: center;
padding: 1rem;
border-bottom: 1px solid var(--border-color);
transition: background-color var(--transition);
cursor: pointer;
}
.topic-item:last-child {
border-bottom: none;
}
.topic-item:hover {
background-color: var(--bg-secondary);
}
.topic-item.pinned {
background-color: rgba(0, 136, 204, 0.05);
}
.topic-item.featured {
background-color: rgba(255, 193, 7, 0.05);
} .topic-tiles-view .topic-item.video-playing .video-overlay {
opacity: 0 !important;
transition: opacity var(--transition);
}
.topic-icon {
width: 40px;
height: 40px;
display: flex;
align-items: center;
justify-content: center;
font-size: 1.25rem;
margin-right: 1rem;
flex-shrink: 0;
}
.topic-icon.pinned {
color: var(--primary-color);
}
.topic-icon.featured {
color: #ffc107;
}
.topic-content {
flex: 1;
min-width: 0;
}
.topic-title {
font-size: 1.1rem;
font-weight: 800;
color: var(--text-color);
margin: 0.5em 0 0.5rem 0;
line-height: 1.4;
text-decoration: none;
}
.topic-title a {
color: var(--primary-color);
text-decoration: none;
}
.topic-title a:hover {
color: var(--primary-hover);
}
[data-theme="dark"].topic-title a {
color: var(--primary-color);
}
[data-theme="dark"].topic-title a:hover {
color: var(--primary-hover);
}
.topic-excerpt {
font-size: 0.875rem;
color: var(--text-muted);
margin: 0;
line-height: 1.4;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
overflow: hidden;
}
.topic-meta {
display: flex;
align-items: center;
gap: 0.75rem;
margin-top: 0.5rem;
flex-wrap: wrap;
}
.topic-category,
.topic-tag {
padding: 0.125rem 0.5rem;
border-radius: 12px;
font-size: 0.75rem;
font-weight: 500;
text-decoration: none;
transition: all var(--transition);
}
.topic-category {
background-color: var(--primary-color);
color: white;
}
.topic-category:hover {
background-color: var(--primary-hover);
color: white;
}
.topic-tag {
background-color: var(--border-color);
color: var(--text-muted);
}
.topic-tag:hover {
background-color: var(--text-muted);
color: white;
}
.difficulty-badge {
padding: 0.125rem 0.5rem;
border-radius: 12px;
font-size: 0.75rem;
font-weight: 500;
}
.difficulty-beginner {
background-color: #d4edda;
color: #155724;
}
.difficulty-intermediate {
background-color: #fff3cd;
color: #856404;
}
.difficulty-advanced {
background-color: #f8d7da;
color: #721c24;
}
.topic-stats {
display: flex;
flex-direction: column;
align-items: flex-end;
margin-left: 1rem;
min-width: 100px;
flex-shrink: 0;
}
.topic-activity {
font-size: 0.75rem;
color: var(--text-muted);
margin-bottom: 0.25rem;
}
.topic-views {
font-size: 0.75rem;
color: var(--text-muted);
} .breadcrumb {
font-size: 0.875rem;
color: var(--text-muted);
margin-bottom: 2rem;
display: flex;
align-items: center;
flex-wrap: wrap;
gap: 0.5rem;
padding: 0;
}
.breadcrumb a {
color: var(--primary-color);
text-decoration: none;
font-weight: 500;
transition: color var(--transition);
}
.breadcrumb a:hover {
color: var(--primary-hover);
text-decoration: underline;
}
.breadcrumb-separator {
color: var(--text-muted);
margin: 0 0.25rem;
}
.breadcrumb-current {
color: var(--text-color);
font-weight: 600;
max-width: 300px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
} .layout-controls {
display: flex;
gap: 0.5rem;
align-items: center;
}
.layout-btn {
width: 40px;
height: 40px;
border: 1px solid var(--border-color);
background-color: var(--card-bg);
border-radius: var(--border-radius);
display: flex;
align-items: center;
justify-content: center;
cursor: pointer;
transition: all var(--transition);
color: var(--text-muted);
}
.layout-btn:hover {
background-color: var(--bg-secondary);
border-color: var(--primary-color);
color: var(--primary-color);
}
.layout-btn.active {
background-color: var(--primary-color);
border-color: var(--primary-color);
color: white;
}
.layout-btn .material-icons {
font-size: 1.25rem;
} .topic-container {
background-color: var(--card-bg);
border-radius: var(--border-radius);
border: 1px solid var(--border-color);
overflow: hidden;
transition: all var(--transition);
} .topic-list-view .topic-item {
display: flex;
align-items: center;
padding: 1rem;
border-bottom: 1px solid var(--border-color);
transition: background-color var(--transition);
cursor: pointer;
}
.topic-list-view .topic-item:last-child {
border-bottom: none;
}
.topic-list-view .topic-item:hover {
background-color: var(--bg-secondary);
} .topic-list-view .topic-tile-content {
display: none;
} .topic-list-view .topic-list-content {
display: flex;
align-items: flex-start;
width: 100%;
} .topic-tiles-view {
background: none;
border: none;
padding: 0;
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 1.5rem;
}
.topic-tiles-view .topic-item {
background-color: var(--card-bg);
border: 1px solid var(--border-color);
border-radius: var(--border-radius);
overflow: hidden;
transition: all var(--transition);
cursor: pointer;
display: block;
padding: 0;
}
.topic-tiles-view .topic-item:hover {
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
} .topic-tiles-view .topic-list-content {
display: none;
} .topic-tiles-view .topic-tile-content {
display: block;
} .topic-media-link {
display: block;
text-decoration: none;
color: inherit;
}
.topic-media {
position: relative;
width: 100%;
aspect-ratio: 16/9;
overflow: hidden;
background-color: var(--bg-secondary);
display: flex;
align-items: center;
justify-content: center;
}
.topic-video-container,
.topic-image,
.topic-placeholder {
width: 100%;
height: 100%;
display: flex;
align-items: center;
justify-content: center;
position: relative;
}
.topic-video {
width: 100%;
height: 100%;
object-fit: cover;
opacity: 0;
transition: opacity var(--transition);
}
.topic-video.loaded {
opacity: 1;
} .topic-video-container {
width: 100%;
height: 100%;
display: flex;
align-items: center;
justify-content: center;
position: relative;
background-size: cover;
background-position: center;
background-repeat: no-repeat;
}
.topic-image {
width: 100%;
height: 100%;
background-size: cover;
background-position: center;
background-repeat: no-repeat;
transition: transform var(--transition);
}
.topic-tiles-view .topic-item:hover .topic-image {
transform: scale(1.1);
}
.topic-placeholder {
background: linear-gradient(135deg, var(--bg-secondary) 0%, var(--border-color) 100%);
}
.placeholder-icon {
font-size: 3rem;
color: var(--text-muted);
opacity: 0.5;
} .video-overlay {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: rgba(0, 0, 0, 0.3);
display: flex;
align-items: center;
justify-content: center;
opacity: 1;
transition: opacity var(--transition);
}
.topic-tiles-view .topic-item:hover .video-overlay {
opacity: 0;
}
.play-icon {
font-size: 3rem;
color: white;
text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
} .topic-badges {
position: absolute;
top: 0.75rem;
right: 0.75rem;
display: flex;
gap: 0.5rem;
}
.badge {
width: 32px;
height: 32px;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
backdrop-filter: blur(8px);
border: 1px solid rgba(255, 255, 255, 0.2);
}
.pinned-badge {
background: rgba(0, 136, 204, 0.9);
color: white;
}
.featured-badge {
background: rgba(255, 193, 7, 0.9);
color: white;
}
.badge .material-icons {
font-size: 1rem;
} .topic-tile-info {
padding: 1rem;
}
.topic-tiles-view .topic-title {
font-size: 1rem;
font-weight: 600;
line-height: 1.3;
margin: 0 0 0.75rem 0;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
overflow: hidden;
}
.topic-tiles-view .topic-title a {
color: var(--text-color);
text-decoration: none;
transition: color var(--transition);
}
.topic-tiles-view .topic-title a:hover {
color: var(--primary-color);
}
.topic-tiles-view .topic-meta {
display: flex;
flex-direction: column;
gap: 0.5rem;
}
.topic-tiles-view .topic-category {
align-self: flex-start;
padding: 0.25rem 0.5rem;
background-color: var(--primary-color);
color: white;
border-radius: 12px;
font-size: 0.75rem;
font-weight: 500;
text-decoration: none;
transition: background-color var(--transition);
}
.topic-tiles-view .topic-category:hover {
background-color: var(--primary-hover);
color: white;
}
.topic-stats-inline {
display: flex;
gap: 1rem;
font-size: 0.75rem;
color: var(--text-muted);
}
.stat-item {
display: flex;
align-items: center;
gap: 0.25rem;
}
.stat-item .material-icons {
font-size: 1rem;
} @media (max-width: 1024px) {
.topic-tiles-view {
grid-template-columns: repeat(2, 1fr);
gap: 1rem;
}
}
@media (max-width: 768px) {
.content-header {
flex-direction: column;
align-items: flex-start;
gap: 1rem;
}
.layout-controls {
align-self: flex-end;
}
.topic-tiles-view {
grid-template-columns: repeat(2, 1fr);
gap: 1rem;
}
.topic-tile-info {
padding: 0.75rem;
}
}
@media (max-width: 480px) {
.topic-tiles-view {
grid-template-columns: 1fr;
gap: 1rem;
}
.topic-icon {display: none;}
.layout-controls {
align-self: stretch;
justify-content: center;
}
.layout-btn {
flex: 1;
max-width: 80px;
}
} .topic-tiles-view .topic-item.pinned {
border-color: var(--primary-color);
box-shadow: 0 0 0 1px rgba(0, 136, 204, 0.2);
}
.topic-tiles-view .topic-item.featured {
border-color: #ffc107;
box-shadow: 0 0 0 1px rgba(255, 193, 7, 0.2);
} [data-theme="dark"] .badge {
border-color: rgba(0, 0, 0, 0.3);
}
[data-theme="dark"] .video-overlay {
background: rgba(0, 0, 0, 0.5);
}
[data-theme="dark"] .topic-placeholder {
background: linear-gradient(135deg, var(--bg-secondary) 0%, var(--border-color) 100%);
} .topic-container.layout-transitioning {
pointer-events: none;
}
.topic-container.layout-transitioning .topic-item {
transition: all 0.3s ease;
}.entry-meta {
font-size: 0.875rem;
color: var(--text-color);
opacity: 0.8;
margin-bottom: 1rem;
}
.entry-meta > * {
margin-right: 1rem;
}
.entry-meta a {
color: inherit;
text-decoration: none;
}
.entry-meta a:hover {
color: var(--primary-color);
}
.entry-thumbnail {
margin-bottom: 1rem;
border-radius: var(--border-radius);
overflow: hidden;
}
.entry-thumbnail img {
width: 100%;
height: auto;
display: block;
transition: transform var(--transition);
}
.entry-thumbnail a:hover img {
transform: scale(1.05);
}
.read-more-link {
font-weight: 600;
color: var(--primary-color);
text-decoration: none;
transition: color var(--transition);
}
.read-more-link:hover {
color: var(--primary-hover);
}
.entry-footer {
margin-top: 1.5rem;
padding-top: 1rem;
border-top: 1px solid var(--border-color);
font-size: 0.875rem;
}
.entry-tags a,
.entry-categories a {
display: inline-block;
padding: 0.25rem 0.5rem;
background-color: var(--border-color);
border-radius: 12px;
margin: 0.125rem;
color: var(--text-color);
text-decoration: none;
font-size: 0.75rem;
transition: all var(--transition);
}
.entry-tags a:hover,
.entry-categories a:hover {
background-color: var(--primary-color);
color: white;
}
.toc-list a.active {
background-color: var(--primary-color);
color: white;
padding-left: 0.5rem;
}
.mobile-nav .menu-section {
padding: 1rem 1.5rem 0.5rem;
font-weight: 600;
color: var(--primary-color);
border-bottom: none;
font-size: 0.875rem;
text-transform: uppercase;
letter-spacing: 0.5px;
}
.mobile-nav-footer {
padding: 1rem 1.5rem;
border-top: 1px solid var(--border-color);
margin-top: auto;
}
.mobile-nav-footer .searchform {
margin-bottom: 1rem;
}
.mobile-nav-footer input[type="search"] {
width: 100%;
padding: 0.75rem;
border: 1px solid var(--border-color);
border-radius: var(--border-radius);
background-color: var(--bg-color);
color: var(--text-color);
}
.nav-info {
text-align: center;
font-size: 0.75rem;
opacity: 0.7;
}
.nav-info p {
margin: 0;
}
.searchform {
position: relative;
}
.searchform input[type="search"] {
padding-right: 3rem;
}
.searchform input[type="submit"] {
position: absolute;
right: 0.5rem;
top: 50%;
transform: translateY(-50%);
background: none;
border: none;
color: var(--text-color);
cursor: pointer;
padding: 0.5rem;
}
body.offline .content-card {
opacity: 0.8;
}
body.offline .loading {
display: none !important;
}
@keyframes slideDown {
from {
opacity: 0;
transform: translateX(-50%) translateY(-20px);
}
to {
opacity: 1;
transform: translateX(-50%) translateY(0);
}
} .header-btn:focus,
.search-input:focus,
.filter-select:focus,
.topic-title:focus {
outline: 2px solid var(--primary-color);
outline-offset: 2px;
}
.note-item:focus-within {
outline: 2px solid var(--primary-color);
outline-offset: 2px;
} [dir="rtl"] .header-left {
order: 3;
}
[dir="rtl"] .header-right {
order: 1;
}
[dir="rtl"] .mobile-nav {
left: auto;
right: -100%;
}
[dir="rtl"] .mobile-nav.active {
right: 0;
}
[dir="rtl"] .toc-panel {
right: auto;
left: -100%;
border-left: none;
border-right: 1px solid var(--border-color);
}
[dir="rtl"] .toc-panel.active {
left: 0;
} .js-hidden-post {
display: none !important;
}
.js-visible-post {
display: block;
}
.js-load-more-container {
text-align: center;
margin: 3rem 0 2rem 0;
padding-top: 2rem;
border-top: 1px solid var(--border-color);
}
.js-load-more-btn {
background: linear-gradient(135deg, var(--primary-color) 0%, var(--primary-dark) 100%);
color: white;
border: none;
border-radius: var(--border-radius);
padding: 1rem 2rem;
font-size: 1rem;
font-weight: 600;
cursor: pointer;
transition: all var(--transition);
box-shadow: 0 2px 8px rgba(0, 136, 204, 0.2);
min-width: 200px;
}
.js-load-more-btn:hover:not(:disabled) {
transform: translateY(-2px);
box-shadow: 0 4px 16px rgba(0, 136, 204, 0.3);
}
.js-load-more-btn:disabled {
opacity: 0.6;
cursor: not-allowed;
transform: none;
background: var(--text-muted);
}
.btn-content {
display: flex;
align-items: center;
justify-content: center;
gap: 0.5rem;
}
.js-load-progress {
margin-top: 1.5rem;
max-width: 400px;
margin-left: auto;
margin-right: auto;
}
.progress-text {
font-size: 0.875rem;
color: var(--text-muted);
margin-bottom: 0.75rem;
text-align: center;
}
.progress-bar {
width: 100%;
height: 4px;
background-color: var(--border-color);
border-radius: 2px;
overflow: hidden;
}
.progress-fill {
height: 100%;
background: linear-gradient(90deg, var(--primary-color), var(--primary-dark));
border-radius: 2px;
transition: width 0.5s ease;
} .no-posts-found {
text-align: center;
padding: 4rem 2rem;
color: var(--text-muted);
}
.no-posts-icon {
font-size: 4rem;
margin-bottom: 1rem;
opacity: 0.5;
}
.no-posts-found h3 {
font-size: 1.5rem;
margin-bottom: 1rem;
color: var(--text-color);
}
.no-posts-found p {
font-size: 1rem;
margin-bottom: 2rem;
max-width: 500px;
margin-left: auto;
margin-right: auto;
}
.btn {
display: inline-flex;
align-items: center;
padding: 0.75rem 1.5rem;
border-radius: var(--border-radius);
text-decoration: none;
font-weight: 600;
transition: all var(--transition);
}
.btn-primary {
background-color: var(--primary-color);
color: white;
}
.btn-primary:hover {
background-color: var(--primary-dark);
transform: translateY(-2px);
} .pagination-nav {
margin: 2rem 0 1rem 0;
text-align: center;
}
.pagination-nav ul {
display: inline-flex;
list-style: none;
margin: 0;
padding: 0;
gap: 0.5rem;
flex-wrap: wrap;
justify-content: center;
}
.pagination-nav .page-numbers {
display: inline-flex;
align-items: center;
padding: 0.75rem 1rem;
background-color: var(--card-bg);
border: 1px solid var(--border-color);
border-radius: var(--border-radius);
color: var(--text-color);
text-decoration: none;
transition: all var(--transition);
font-weight: 500;
min-width: 44px;
justify-content: center;
}
.pagination-nav .page-numbers:hover {
background-color: var(--primary-color);
color: white;
border-color: var(--primary-color);
}
.pagination-nav .page-numbers.current {
background-color: var(--primary-color);
color: white;
border-color: var(--primary-color);
}
.pagination-nav .page-numbers.dots {
border: none;
background: none;
cursor: default;
}
.pagination-nav .page-numbers.dots:hover {
background: none;
color: var(--text-muted);
}
.pagination-info {
text-align: center;
font-size: 0.875rem;
color: var(--text-muted);
margin-bottom: 2rem;
}
.total-available-note {
font-size: 0.75rem;
color: var(--text-muted);
opacity: 0.8;
display: block;
margin-top: 0.25rem;
}
.js-post-reveal {
animation: slideInUp 0.5s ease forwards;
}
@keyframes slideInUp {
from {
opacity: 0;
transform: translateY(20px);
}
to {
opacity: 1;
transform: translateY(0);
}
} @media (max-width: 768px) {
.js-load-more-btn {
width: 100%;
max-width: 300px;
}
.pagination-nav .page-numbers {
padding: 0.5rem 0.75rem;
font-size: 0.875rem;
min-width: 40px;
}
.pagination-nav ul {
gap: 0.25rem;
}
.no-posts-found {
padding: 3rem 1rem;
}
.no-posts-icon {
font-size: 3rem;
}
} .no-js .js-hidden-post {
display: block !important;
}
.no-js .js-load-more-container {
display: none;
} .collection-filters {
display: flex;
gap: 0.75rem;
padding: 1.5rem 0;
margin-bottom: 1.5rem;
overflow-x: auto;
scroll-behavior: smooth;
-webkit-overflow-scrolling: touch;
scrollbar-width: thin;
scrollbar-color: var(--border-color) transparent;
} .collection-filters::-webkit-scrollbar {
height: 4px;
}
.collection-filters::-webkit-scrollbar-track {
background: transparent;
}
.collection-filters::-webkit-scrollbar-thumb {
background: var(--border-color);
border-radius: 2px;
}
.collection-filters::-webkit-scrollbar-thumb:hover {
background: var(--text-muted);
} .filter-btn {
flex-shrink: 0;
padding: 0.75rem 1.5rem;
background-color: var(--bg-secondary);
color: var(--text-color);
border: 1px solid var(--border-color);
border-radius: var(--border-radius);
font-family: var(--font-family-primary);
font-weight: var(--font-weight-medium);
font-size: 0.875rem;
cursor: pointer;
transition: all var(--transition);
white-space: nowrap;
letter-spacing: 0.01em;
}
.filter-btn:hover {
background-color: var(--bg-color);
border-color: var(--primary-color);
color: var(--primary-color);
transform: translateY(-1px);
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.filter-btn.active {
background-color: var(--primary-color);
border-color: var(--primary-color);
color: white;
font-weight: var(--font-weight-bold);
}
.filter-btn.active:hover {
background-color: var(--primary-hover);
border-color: var(--primary-hover);
transform: translateY(-1px);
box-shadow: 0 2px 6px rgba(214, 92, 69, 0.3);
}
.filter-btn:focus {
outline: 2px solid var(--primary-color);
outline-offset: 2px;
}
[data-theme="dark"] .filter-btn {
background-color: var(--card-bg);
}
[data-theme="dark"] .filter-btn:hover {
background-color: var(--bg-secondary);
}
@media (max-width: 768px) {
.collection-filters {
padding: 1rem 0;
margin-bottom: 1rem;
gap: 0.5rem;
}
.filter-btn {
padding: 0.625rem 1.25rem;
font-size: 0.8125rem;
}
}
@media (prefers-contrast: high) {
.filter-btn {
border-width: 2px;
font-weight: var(--font-weight-bold);
}
.filter-btn.active {
border-width: 3px;
}
}
@media (prefers-reduced-motion: reduce) {
.filter-btn {
transition: none;
}
.filter-btn:hover {
transform: none;
}
} .page-navigation {
margin: 3rem 0;
padding-top: 2rem;
border-top: 2px solid var(--border-color);
}
.next-page-link {
display: flex;
align-items: center;
justify-content: space-between;
padding: 1rem;
background: var(--bg-secondary);
border: 1px solid var(--border-color);
border-radius: var(--border-radius);
text-decoration: none;
transition: all var(--transition);
gap: 1rem;
}
.next-page-link:hover,
.next-page-link:focus {
background: var(--bg-color);
border-color: var(--primary-color);
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
transform: translateX(4px);
outline: 2px solid var(--primary-color);
outline-offset: 2px;
} .next-page-label {
display: block;
font-size: 0.75rem;
font-weight: var(--font-weight-semibold);
text-transform: uppercase;
letter-spacing: 0.05em;
color: var(--text-muted);
} .next-page-title {
display: block;
font-size: 1.125rem;
font-weight: var(--font-weight-semibold);
color: var(--text-color);
line-height: 1.4;
flex: 1;
}
.next-page-link:hover .next-page-title {
color: var(--primary-color);
} .next-page-arrow {
font-size: 1.5rem;
color: var(--primary-color);
flex-shrink: 0;
transition: transform var(--transition);
}
.next-page-link:hover .next-page-arrow {
transform: translateX(4px);
}
@media (max-width: 768px) {
.page-navigation {
margin-top: 2rem;
padding-top: 1.5rem;
}
.next-page-link {
padding: 1.25rem;
flex-direction: column;
align-items: flex-start;
}
.next-page-title {
font-size: 1rem;
}
.next-page-arrow {
align-self: flex-end;
margin-top: 0.5rem;
}
}
@media (prefers-reduced-motion: reduce) {
.next-page-link,
.next-page-arrow {
transition: none;
}
.next-page-link:hover {
transform: none;
}
.next-page-link:hover .next-page-arrow {
transform: none;
}
}.questions-container {
display: flex;
flex-direction: column;
gap: 1rem;
}
.question-item {
background: #fff;
border: 1px solid #e1e5e9;
border-radius: 8px;
padding: 1rem;
transition: box-shadow 0.2s ease;
}
.question-item:hover {
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
.question-item.pinned {
border-left: 4px solid #ffc107;
background: #fffbf0;
}
.question-item.featured {
border-left: 4px solid #17a2b8;
background: #f0feff;
} .question-content {
color: var(--text-color);
}
.question-icon {
display: flex;
align-items: center;
justify-content: center;
width: 40px;
height: 40px;
background: #f8f9fa;
border-radius: 50%;
flex-shrink: 0;
}
.question-icon .material-icon {
font-size: 20px;
color: #6c757d;
}
.question-icon .material-icon.pinned {
color: #ffc107;
}
.question-icon .material-icon.featured {
color: #17a2b8;
}
.question-icon .category-emoji {
font-size: 20px;
} .question-main {
min-width: 0; }
.question-title {
margin: 0 0 0.5rem 0;
font-size: 1.25rem;
line-height: 1.4;
color: var(--text-color);
}
.question-title a {
color: var(--text-color);
text-decoration: none;
font-weight: 600;
}
.question-title a:hover {
color: #3498db;
text-decoration: underline;
}
.question-excerpt {
margin: 0 0 0.75rem 0;
color: var(--text-muted);
line-height: 1.5;
font-size: 0.95rem;
}
.question-meta {
display: flex;
gap: 1rem;
flex-wrap: wrap;
align-items: center;
}
.question-category {
background: var(--primary-color);
color: var(--text-color);
padding: 0.25rem 0.5rem;
border-radius: 4px;
text-decoration: none;
font-size: 0.875rem;
font-weight: 500;
}
.question-category:hover {
background: var(--primary-hover);
color: #212529;
} .question-stats {
display: flex;
flex-direction: column;
gap: 0.5rem;
text-align: right;
color: #6c757d;
font-size: 0.875rem;
flex-shrink: 0;
}
.question-date time,
.question-views {
white-space: nowrap;
} .question-single {
background: #fff;
border-radius: 8px;
overflow: hidden;
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.question-single.pinned {
border-top: 4px solid #ffc107;
}
.question-single.featured {
border-top: 4px solid #17a2b8;
} .question-header {
padding: 2rem 2rem 1rem;
margin-bottom: 3rem;
border-bottom: 1px solid var(--border-color);
}
.question-breadcrumb {
margin-bottom: 1rem;
font-size: 0.875rem;
}
.question-breadcrumb a {
color: var(--text-color);
text-decoration: none;
}
.question-breadcrumb a:hover {
color: #3498db;
text-decoration: underline;
}
.breadcrumb-separator {
margin: 0 0.5rem;
color: #adb5bd;
}
.breadcrumb-current {
color: #495057;
font-weight: 500;
}
.question-title-area  {
font-size: 2rem;
line-height: 1.5;
margin: 0 0 1rem 0;
color: var(--text-color);
}
.question-title {
font-size: 2rem;
line-height: 1.1;
margin: .5rem 0 1rem 0;
color: var(--text-color);
}
.pinned-indicator,
.featured-indicator {
font-size: 1.5rem;
margin-right: 0.5rem;
vertical-align: middle;
}
.pinned-indicator {
color: #ffc107;
}
.featured-indicator {
color: #17a2b8;
} .question-meta-bar {
display: flex;
justify-content: space-between;
align-items: center;
flex-wrap: wrap;
gap: 1rem;
}
.question-meta-item {
font-size: 0.9rem;
}
.question-categories {
display: flex;
gap: 0.5rem;
flex-wrap: wrap;
}
.category-badge {
background: #f8f9fa;
color: #495057;
padding: 0.5rem 0.75rem;
border-radius: 6px;
text-decoration: none;
font-weight: 500;
border: 1px solid #dee2e6;
}
.category-badge:hover {
background: #e9ecef;
color: #212529;
}
.question-stats-bar {
display: flex;
gap: 1.5rem;
color: #6c757d;
font-size: 0.875rem;
}
.stat-item {
display: flex;
align-items: center;
gap: 0.25rem;
}
.stat-item .material-icon {
font-size: 18px;
}
.question-op-excerpt {
margin: 1rem 0 0 1rem;
padding: .6rem 1.5rem;
border-left: 1px solid #4a90e2;
margin: 2rem 0;
padding: .2rem 1.5rem;
background: var(--question);
line-height: 1.8;
color: #000;
} .question-body {
padding: 2rem;
line-height: 1.7;
}
.question-body h2,
.question-body h3,
.question-body h4 {
margin-top: 2rem;
margin-bottom: 1rem;
color: #2c3e50;
}
.question-body p {
margin-bottom: 1rem;
}
.question-body ul,
.question-body ol {
margin-bottom: 1rem;
padding-left: 2rem;
}
.question-body blockquote {
border-left: 4px solid #3498db;
padding-left: 1rem;
margin: 1.5rem 0;
color: #6c757d;
font-style: italic;
} .question-footer {
padding: 1rem 2rem 2rem;
background: #f8f9fa;
}
.question-author {
display: flex;
gap: 1rem;
align-items: center;
color: #6c757d;
font-size: 0.875rem;
}
.author-label {
font-weight: 500;
}
.author-name {
color: #495057;
font-weight: 600;
} .related-questions {
margin-top: 2rem;
padding: 1.5rem;
background: #f8f9fa;
border-radius: 8px;
}
.related-questions h3 {
margin: 0 0 1rem 0;
color: #2c3e50;
font-size: 1.25rem;
}
.related-questions-list {
display: flex;
flex-direction: column;
gap: 0.75rem;
}
.related-question-item {
padding: 0.75rem;
background: #fff;
border-radius: 4px;
border: 1px solid #e9ecef;
}
.related-question-item h4 {
margin: 0 0 0.25rem 0;
font-size: 1rem;
}
.related-question-item a {
color: #2c3e50;
text-decoration: none;
}
.related-question-item a:hover {
color: #3498db;
text-decoration: underline;
}
.related-category {
font-size: 0.75rem;
color: #6c757d;
text-transform: uppercase;
letter-spacing: 0.5px;
} .ask-btn {
padding: 0.75rem 1rem;
margin: 0 auto 2rem;
border: none;
border-radius: var(--border-radius);
background-color: var(--primary-color);
color: var(--secondary-color);
text-decoration: none;
font-size: 0.875rem;
font-weight: 500;
transition: all var(--transition);
cursor: pointer;
}
.ask-btn:hover {
background-color: var(--primary-hover);
color: var(--secondary-color);
transform: translateY(-1px);
}
.sidebar-widget {
background: #fff;
border: 1px solid #e1e5e9;
border-radius: 8px;
padding: 1.5rem;
margin-bottom: 1.5rem;
}
.widget-title {
margin: 0 0 1rem 0;
font-size: 1.125rem;
color: #2c3e50;
font-weight: 600;
} .question-categories-list {
list-style: none;
padding: 0;
margin: 0;
}
.category-item {
border-bottom: 1px solid #f1f3f4;
}
.category-item:last-child {
border-bottom: none;
}
.category-link {
display: flex;
align-items: center;
gap: 0.75rem;
padding: 0.75rem 0;
text-decoration: none;
color: #495057;
transition: color 0.2s ease;
}
.category-link:hover {
color: #3498db;
}
.category-icon {
font-size: 1.125rem;
width: 24px;
text-align: center;
}
.category-name {
flex: 1;
font-weight: 500;
}
.category-count {
color: #6c757d;
font-size: 0.875rem;
} .question-tags-cloud {
display: flex;
flex-wrap: wrap;
gap: 0.5rem;
}
.tag-link {
display: inline-flex;
align-items: center;
gap: 0.25rem;
background: #f8f9fa;
color: #495057;
padding: 0.375rem 0.75rem;
border-radius: 20px;
text-decoration: none;
font-size: 0.875rem;
border: 1px solid #e9ecef;
transition: all 0.2s ease;
}
.tag-link:hover {
background: #3498db;
color: #fff;
border-color: #3498db;
}
.tag-count {
font-size: 0.75rem;
opacity: 0.8;
}
.question-sidebar-related {
border: 1px soild var(--border-color);
background-color: var(--bg-secondary);
padding: 1rem;
margin: 5rem 0 0 2rem
}
.question-sidebar-related h3 {
text-transform: uppercase;
font-size: 0.9rem;
text-align: center;
letter-spacing: 1px;
} .popular-questions-list,
.recent-questions-list {
list-style: none;    
padding:0 ;
margin: 0 !important;
}
ul.recent-questions-list {margin: 0 !important;}
.popular-question-item,
.recent-question-item {
font-size: 0.95rem;
padding: 0.75rem ;
}
li.recent-question-item {list-style: none; margin: 0 !important;}
li.recent-question-item a {text-decoration: none !important;}
.popular-question-item:hover,
.recent-question-item:hover {
background-color: var(--bg-color);
}
.question-link {
display: block;
color: #2c3e50;
text-decoration: none;
font-weight: 500;
line-height: 1.4;
margin-bottom: 0.25rem;
}
.question-link:hover {
color: #3498db;
text-decoration: underline;
}
.question-meta {
display: flex;
gap: 1rem;
align-items: center;
font-size: 0.75rem;
color: #6c757d;
}
.view-count {
font-weight: 500;
}
.question-category {
text-transform: uppercase;
letter-spacing: 0.5px;
} .sidebar-cta {
background: linear-gradient(135deg, #3498db 0%, #2980b9 100%);
color: #fff;
text-align: center;
}
.sidebar-cta .widget-title {
color: #fff;
}
.sidebar-cta p {
margin-bottom: 1.5rem;
opacity: 0.9;
}
.ask-question-btn {
display: inline-block;
background: #fff;
color: #3498db;
padding: 0.75rem 1.5rem;
border-radius: 6px;
text-decoration: none;
font-weight: 600;
transition: all 0.2s ease;
}
.ask-question-btn:hover {
background: #f8f9fa;
transform: translateY(-1px);
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
} @media (max-width: 768px) {
.question-content {
grid-template-columns: 1fr;
gap: 0.75rem;
}
.question-icon {
width: 32px;
height: 32px;
}
.question-stats {
flex-direction: row;
justify-content: space-between;
text-align: left;
}
.question-header {
padding: 1.5rem 1rem 1rem;
}
.question-title-area .question-title {
font-size: 1.5rem;
}
.question-body {
padding: 1.5rem 1rem;
}
.question-footer {
padding: 1rem;
}
.question-meta-bar {
flex-direction: column;
align-items: stretch;
}
.question-stats-bar {
justify-content: space-between;
}
}
@media (max-width: 480px) {
.question-item {
padding: 0.75rem;
}
.question-title {
font-size: 1.125rem;
}
.question-header {
padding: 1rem 0.75rem 0.75rem;
}
.question-body {
padding: 1rem 0.75rem;
}
.question-footer {
padding: 0.75rem;
}
}
.question-response {
margin: 1rem 0 2rem;
padding: .5rem 1.5rem;
border-left: 1px solid #ccc;
} .question-header {
display: flex;
align-items: center;
padding: 0 0 1rem !important;
border-bottom: 5px solid var(--border-color);
margin: 0 !important;
} .question-avatar {
width: 40px;
height: 40px;
border-radius: 50%;
margin-right: 0.75rem;
background: #ddd;
flex-shrink: 0;
} .question-user-info {
flex-grow: 1;
}
.question-username {
margin: 0;
font-size: 1rem;
font-weight: 600;
color: var(--text-color);
}
.question-user-role {
font-size: 0.85rem;
color: var(--text-color);
} .question-content {
display: block;
line-height: 1.6;
color: var(--text-color);
}
.question-content p {
display: block; 
}
.question-content p:last-child {
margin-bottom: 0;
} .question-op {
padding: 1.5rem;
background: var(--bg-secondary);
color: var(--text-color);
border-color: var(--primary-color);
}
.question-op .question-avatar {
background: #4a90e2;
}
.question-op .question-username {
color: #4a90e2;
font-weight: 700;
} .question-sadaqa {
border-color: #28a745;
}
.question-sadaqa .question-avatar {
background: #28a745;
}
.question-sadaqa .question-username {
color: #28a745;
}
.question-iman {
border-color: #6f42c1;
}
.question-iman .question-avatar {
background: #6f42c1;
}
.question-iman .question-username {
color: #6f42c1;
}
.question-sajdah {
border-color: #dc3545;
}
.question-sajdah .question-avatar {
background: #dc3545;
}
.question-sajdah .question-username {
color: #dc3545;
}
.question-safeeyah {
border-color: #fd7e14;
}
.question-safeeyah .question-avatar {
background: #fd7e14;
}
.question-safeeyah .question-username {
color: #fd7e14;
} @media (max-width: 768px) {
.question-response {
margin: 0.75rem 0;
padding: 0.75rem;
}
.question-avatar {
width: 32px;
height: 32px;
margin-right: 0.5rem;
}
.question-username {
font-size: 0.9rem;
}
.question-user-role {
font-size: 0.8rem;
}
}.single-post {
max-width: none;
margin: 0;
background-color: transparent;
border-radius: 0;
border: none;
padding: 0;
margin-bottom: 0;
}
.post-header {
margin-bottom: 0;
border-bottom: 1px solid var(--border-color);  
padding-bottom: 1.5rem;
position: relative;
overflow: hidden;
}
.post-title {
font-size: 2.5rem;
font-weight: 700;
color: var(--text-color);
margin: 0 0 1.5rem 0;
line-height: 1.2;
}
.post-content {
line-height: 1.7;
color: var(--text-color);
margin-bottom: 2rem;
}
.post-footer {
padding: 0;
}
.post-thumbnail {
margin: 2rem 0;
text-align: center;
}
.post-thumbnail img {
max-width: 100%;
height: auto;
border-radius: var(--border-radius);
box-shadow: var(--shadow);
}
.post-meta {
display: flex;
flex-wrap: wrap;
gap: 1rem;
align-items: center;
font-size: 0.875rem;
color: var(--text-muted);
margin-bottom: 1rem;
}
.meta-item {
display: flex;
align-items: center;
gap: 0.375rem;
}
.meta-item strong {
color: var(--text-color);
font-weight: 600;
}
.meta-badge {
padding: 0.25rem 0.75rem;
border-radius: 12px;
font-size: 0.75rem;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.5px;
}
.meta-badge.pinned {
background-color: rgba(0, 136, 204, 0.15);
color: var(--primary-color);
}
.meta-badge.featured {
background-color: rgba(255, 193, 7, 0.15);
color: #f39c12;
}
.post-taxonomy {
margin-top: 1.5rem;
display: flex;
flex-direction: column;
gap: 1rem;
}
.post-categories,
.post-tags {
display: flex;
align-items: center;
gap: 0.75rem;
flex-wrap: wrap;
}
.post-categories strong,
.post-tags strong {
color: var(--text-color);
font-weight: 600;
margin-right: 0.5rem;
} .post-header-video {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
object-fit: cover;
z-index: 0;
opacity: 0;
transition: opacity 0.5s ease-in-out;
}
.post-header-video.loaded {
opacity: 1;
}
.post-header.has-featured-video {
min-height: 300px;
background-color: var(--card-bg);
}
.post-header.has-featured-video.video-loaded .post-header-video {
opacity: 1;
}
.post-header.has-featured-video.video-error .post-header-video {
display: none;
}
.post-header.has-featured-video.loading::before {
content: '';
position: absolute;
top: 50%;
left: 50%;
width: 40px;
height: 40px;
margin: -20px 0 0 -20px;
border: 3px solid var(--border-color);
border-top: 3px solid var(--primary-color);
border-radius: 50%;
animation: spin 1s linear infinite;
z-index: 1;
}
@keyframes spin {
0% { transform: rotate(0deg); }
100% { transform: rotate(360deg); }
} .post-header.slow-connection .post-header-video {
display: none;
} body.battery-low .post-header-video {
display: none;
} .post-header.has-featured-image {
background-size: cover;
background-position: center;
background-repeat: no-repeat;
overflow: hidden;
-webkit-background-clip: padding-box;
background-clip: padding-box;
}
.post-header.has-featured-video {
border-top-left-radius: var(--border-radius);
border-top-right-radius: var(--border-radius);
overflow: hidden;
-webkit-transform: translateZ(0); transform: translateZ(0);
}
.post-header-video {
border-radius: inherit; -webkit-backface-visibility: hidden; backface-visibility: hidden;
}
.post-header-overlay {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
z-index: 1;
transition: background-color var(--transition); background: linear-gradient(to bottom, rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 1));
}
[data-theme="dark"] .post-header-overlay { background: linear-gradient(to bottom, rgba(45, 45, 45, 0.7), rgba(45, 45, 45, 1));
} .post-header-content {
position: relative;
z-index: 2;
} .post-header.has-featured-image .post-title,
.post-header.has-featured-video .post-title {
color: var(--text-color);
}
.post-header.has-featured-image .post-meta,
.post-header.has-featured-image .post-taxonomy,
.post-header.has-featured-video .post-meta,
.post-header.has-featured-video .post-taxonomy {
} [data-theme="dark"] .post-header.has-featured-image .post-title,
[data-theme="dark"] .post-header.has-featured-image .post-meta,
[data-theme="dark"] .post-header.has-featured-image .post-taxonomy,
[data-theme="dark"] .post-header.has-featured-image .meta-item,
[data-theme="dark"] .post-header.has-featured-image .meta-item strong,
[data-theme="dark"] .post-header.has-featured-video .post-title,
[data-theme="dark"] .post-header.has-featured-video .post-meta,
[data-theme="dark"] .post-header.has-featured-video .post-taxonomy,
[data-theme="dark"] .post-header.has-featured-video .meta-item,
[data-theme="dark"] .post-header.has-featured-video .meta-item strong {
text-shadow: 0 1px 3px rgba(0, 0, 0, 0.7);
} .post-header.has-featured-image .meta-badge,
.post-header.has-featured-video .meta-badge {
background-color: rgba(255, 255, 255, 0.9);
color: var(--text-color);
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
backdrop-filter: blur(2px);
}
[data-theme="dark"] .post-header.has-featured-image .meta-badge,
[data-theme="dark"] .post-header.has-featured-video .meta-badge {
background-color: rgba(0, 0, 0, 0.8);
color: white;
}
.post-header.has-featured-image .topic-category,
.post-header.has-featured-image .topic-tag,
.post-header.has-featured-video .topic-category,
.post-header.has-featured-video .topic-tag {
background-color: rgba(255, 255, 255, 0.9);
color: var(--text-color);
padding: 0.25rem 0.75rem;
border-radius: 12px;
text-decoration: none;
font-size: 0.875rem;
font-weight: 500;
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
backdrop-filter: blur(2px);
transition: all var(--transition);
}
[data-theme="dark"] .post-header.has-featured-image .topic-category,
[data-theme="dark"] .post-header.has-featured-image .topic-tag,
[data-theme="dark"] .post-header.has-featured-video .topic-category,
[data-theme="dark"] .post-header.has-featured-video .topic-tag {
background-color: rgba(0, 0, 0, 0.8);
color: white;
}
.post-header.has-featured-image .topic-category:hover,
.post-header.has-featured-image .topic-tag:hover,
.post-header.has-featured-video .topic-category:hover,
.post-header.has-featured-video .topic-tag:hover {
background-color: var(--primary-color);
color: white;
transform: translateY(-1px);
} .nav-overlay {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
z-index: 1;
transition: background-color var(--transition);
background-color: rgba(255, 255, 255, 0.3);
}
[data-theme="dark"] .nav-overlay {
background-color: rgba(0, 0, 0, 0.4);
} .post-navigation {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 6rem;
margin-top: 2rem;
}
.nav-previous,
.nav-next {
border: 1px solid var(--border-color);
border-radius: var(--border-radius);
overflow: hidden;
transition: all var(--transition);
background-color: var(--card-bg);
}
.nav-previous:hover,
.nav-next:hover {
border-color: var(--primary-color);
transform: translateY(-2px);
box-shadow: var(--shadow-hover);
}
.nav-previous a,
.nav-next a {
display: block;
aspect-ratio: 16 / 9;
padding: 2rem;
color: var(--text-color);
text-decoration: none;
}
.nav-next a {
text-align: right;
}
.nav-subtitle {
display: block;
font-size: 0.875rem;
color: var(--text-muted);
margin-bottom: 0.5rem;
text-transform: uppercase;
letter-spacing: 0.5px;
font-weight: 600;
}
.nav-title {
display: block;
font-weight: 600;
line-height: 1.4;
font-size: 1.125rem;
} .nav-previous.has-featured-image,
.nav-next.has-featured-image {
background-size: cover;
background-repeat: no-repeat;
overflow: hidden;
position: relative;
-webkit-background-clip: padding-box;
background-clip: padding-box;
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.8);
}
.nav-previous.has-featured-image {background-position: right;}
.nav-next.has-featured-image {background-position: left;}
.nav-overlay {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
z-index: 1;
transition: background-color var(--transition); 
background-color: rgba(244, 211, 244, 0.9); 
}
[data-theme="dark"] .nav-overlay {
background-color: rgba(76, 175, 80, 0.75);
}
.nav-content {
position: relative;
z-index: 2;
}
.nav-previous.has-featured-image a,
.nav-next.has-featured-image a {
position: relative;
z-index: 2;
}
[data-theme="dark"] .nav-previous.has-featured-image .nav-subtitle,
[data-theme="dark"] .nav-previous.has-featured-image .nav-title,
[data-theme="dark"] .nav-next.has-featured-image .nav-subtitle,
[data-theme="dark"] .nav-next.has-featured-image .nav-title {
text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5);
} .post-share,
.related-topics {
}
.post-share h4,
.related-topics h4 {
font-size: 1rem;
font-weight: 600;
margin-bottom: 0.5rem;
color: var(--text-color);
}
.share-buttons {
display: flex;
gap: 1rem;
flex-wrap: wrap;
}
.share-btn {
padding: 0.3rem 0.8rem;
border: 1px solid var(--border-color);
border-radius: var(--border-radius);
background-color: var(--bg-color);
color: var(--text-color);
text-decoration: none;
font-size: 0.875rem;
font-weight: 500;
transition: all var(--transition);
cursor: pointer;
display: inline-flex;
align-items: center;
justify-content: center;
}
.share-btn:hover {
background-color: var(--primary-color);
color: white;
border-color: var(--primary-color);
transform: translateY(-1px);
}
.related-list {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
gap: 1rem;
}
.related-item {
border: 1px solid var(--border-color);
border-radius: var(--border-radius);
overflow: hidden;
transition: all var(--transition);
background-color: var(--card-bg);
}
.related-item:hover {
border-color: var(--primary-color);
transform: translateY(-2px);
box-shadow: var(--shadow-hover);
}
.related-link {
display: flex;
align-items: center;
padding: 1.5rem;
color: var(--text-color);
text-decoration: none;
gap: 1rem;
}
.related-icon {
font-size: 1.5rem;
flex-shrink: 0;
}
.related-title {
font-weight: 600;
line-height: 1.4;
} .page-links {
margin: 2rem 0;
text-align: center;
display: flex;
align-items: center;
justify-content: center;
gap: 0.5rem;
flex-wrap: wrap;
}
.page-links-title {
font-weight: 600;
color: var(--text-color);
margin-right: 1rem;
}
.page-links a,
.page-links .current {
display: inline-block;
padding: 0.75rem 1rem;
border: 1px solid var(--border-color);
border-radius: var(--border-radius);
text-decoration: none;
color: var(--text-color);
transition: all var(--transition);
font-weight: 500;
min-width: 44px;
text-align: center;
}
.page-links a:hover,
.page-links .current {
background-color: var(--primary-color);
color: white;
border-color: var(--primary-color);
}
.pagination {
margin: 2rem 0;
text-align: center;
}
.page-numbers {
display: inline-flex;
gap: 0.5rem;
list-style: none;
padding: 0;
margin: 0;
color: var(--primary-color);
}
.page-numbers .page-number,
.page-numbers .prev,
.page-numbers .next {
display: inline-block;
padding: 0.5rem 1rem;
background-color: var(--bg-color);
border: 1px solid var(--border-color);
border-radius: var(--border-radius);
color: var(--text-color);
text-decoration: none;
transition: all var(--transition);
min-width: 44px;
text-align: center;
}
.page-numbers .page-number:hover,
.page-numbers .prev:hover,
.page-numbers .next:hover {
background-color: var(--secondary-color);
color: white;
border-color: var(--secondary-color);
}
.page-numbers .current {
background-color: var(--primary-color);
color: white;
border-color: var(--primary-color);
} @media (max-width: 768px) {
.post-header {
padding: 1.5rem;
min-height: 250px;
}
.post-header.has-featured-video {
min-height: 250px;
}
.post-title {
font-size: 1.875rem;
}
.post-meta {
flex-direction: column;
align-items: flex-start;
gap: 0.75rem;
}
.post-taxonomy {
margin-top: 1rem;
}
.post-content,
.post-footer {
padding: 1.5rem;
}
.post-navigation {
grid-template-columns: 1fr;
gap: 1rem;
}
.nav-previous a,
.nav-next a {
padding: 1.5rem;
text-align: left;
}
.share-buttons {
flex-direction: column;
align-items: stretch;
}
.share-btn {
text-align: center;
}
.related-list {
grid-template-columns: 1fr;
}
.page-links {
flex-direction: column;
gap: 0.75rem;
}
.page-links-title {
margin-right: 0;
margin-bottom: 0.5rem;
}
}
@media (max-width: 480px) {
.post-header {
padding: 1rem;
min-height: 200px;
}
.post-header.has-featured-video {
min-height: 200px;
}
.post-title {
font-size: 1.5rem;
}
.post-content,
.post-footer {
padding: 1rem;
}
.nav-previous a,
.nav-next a {
padding: 1rem;
}
.related-link {
padding: 1rem;
}
} @media (prefers-reduced-motion: reduce) {
.post-header-video {
display: none !important;
}
.post-header.has-featured-video {
background-image: var(--fallback-image, none);
background-size: cover;
background-position: center;
}
* {
animation-duration: 0.01ms !important;
animation-iteration-count: 1 !important;
transition-duration: 0.01ms !important;
}
.post-header.has-featured-video.loading::before {
display: none;
}
} @media (prefers-contrast: high) {
.post-header-overlay {
background-color: rgba(255, 255, 255, 0.95) !important;
}
[data-theme="dark"] .post-header-overlay {
background-color: rgba(0, 0, 0, 0.9) !important;
}
.meta-badge {
border: 2px solid currentColor;
}
.share-btn,
.page-links a,
.page-numbers .page-number,
.page-numbers .prev,
.page-numbers .next {
border-width: 2px;
}
} .share-btn:focus,
.page-links a:focus,
.page-numbers a:focus,
.related-link:focus,
.nav-previous a:focus,
.nav-next a:focus {
outline: 2px solid var(--primary-color);
outline-offset: 2px;
} @media print {
.post-header-video {
display: none !important;
}
.post-header.has-featured-video,
.post-header.has-featured-image {
background-image: none !important;
}
.post-header-overlay {
display: none;
}
.share-buttons,
.post-navigation {
display: none;
}
.post-header,
.post-content,
.post-footer {
border: none;
box-shadow: none;
background: white !important;
color: black !important;
}
} [data-theme="dark"] .post-header.has-featured-video.loading::before {
border-color: var(--border-color);
border-top-color: var(--primary-color);
} .post-header.loading .post-header-content {
opacity: 0.8;
}
.post-header.video-loaded .post-header-content {
opacity: 1;
transition: opacity 0.3s ease-in-out;
} .post-header.video-error {
background-size: cover;
background-position: center;
} body.connection-slow-2g .post-header-video,
body.connection-2g .post-header-video {
display: none;
} @media (prefers-reduced-data: reduce) {
.post-header-video {
display: none !important;
}
}
.question-layout {
display: grid;
grid-template-columns: 1fr;
gap: 2rem;
background-color: var(--card-bg);
border-radius: var(--border-radius);
border: 1px solid var(--border-color);
padding: 2rem;
margin-bottom: 2rem;
} .single-layout {
display: grid;
grid-template-columns: 1fr 280px;
gap: 2rem;
background-color: var(--card-bg);
border-radius: var(--border-radius);
border: 1px solid var(--border-color);
padding: 2rem;
margin-bottom: 2rem;
}
.single-post {
min-width: 0; } .post-toc {
border-left: 1px solid var(--border-color);
padding-left: 2rem;
position: sticky;
top: 2rem;
height: fit-content;
max-height: calc(100vh - 8rem);
overflow-y: auto;
}
.toc-container {
background-color: var(--bg-secondary);
border-radius: var(--border-radius);
padding: 1.5rem;
}
.toc-title {
font-size: 1rem;
font-weight: 600;
color: var(--text-color);
margin: 0 0 1rem 0;
padding-bottom: 0.5rem;
border-bottom: 1px solid var(--border-color);
}
.toc-nav {
max-height: 300px;
overflow-y: auto;
margin-bottom: 1.5rem;
}
.toc-list {
list-style: none;
padding: 0;
margin: 0;
}
.toc-list li {
margin-bottom: 0.25rem;
}
.toc-list a {
display: block;
padding: 0.5rem 0.75rem;
color: var(--text-muted);
text-decoration: none;
font-size: 0.875rem;
line-height: 1.4;
border-radius: 4px;
transition: all var(--transition);
border-left: 3px solid transparent;
}
.toc-list a:hover {
background-color: var(--bg-color);
color: var(--text-color);
}
.toc-list a.active {
background-color: rgba(0, 136, 204, 0.1);
color: var(--primary-color);
border-left-color: var(--primary-color);
font-weight: 500;
}
.toc-list .toc-h3 {
padding-left: 1.5rem;
}
.toc-list .toc-h4 {
padding-left: 2.25rem;
font-size: 0.8rem;
} .reading-progress {
margin-top: 1.5rem;
padding-top: 1rem;
border-top: 1px solid var(--border-color);
}
.progress-bar {
width: 100%;
height: 4px;
background-color: var(--border-color);
border-radius: 2px;
overflow: hidden;
margin-bottom: 0.5rem;
}
.progress-fill {
height: 100%;
background-color: var(--primary-color);
border-radius: 2px;
transition: width 0.3s ease;
width: 0%;
}
.progress-text {
font-size: 0.75rem;
color: var(--text-muted);
text-align: center;
} .related-topics-section {
background-color: var(--card-bg);
border-radius: var(--border-radius);
border: 1px solid var(--border-color);
padding: 2rem;
margin-bottom: 2rem;
}
.section-header h3 {
font-size: 1.5rem;
font-weight: 600;
color: var(--text-color);
margin: 0 0 1.5rem 0;
padding-bottom: 0.75rem;
border-bottom: 2px solid var(--border-color);
}
.related-topics-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 1.5rem;
}
.related-topic-item {
background-color: var(--card-bg);
border: 1px solid var(--border-color);
border-radius: var(--border-radius);
overflow: hidden;
transition: all var(--transition);
}
.related-topic-item:hover {
transform: translateY(-2px);
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
border-color: var(--primary-color);
} .post-navigation-tiles {
background-color: var(--card-bg);
border-radius: var(--border-radius);
border: 1px solid var(--border-color);
padding: 2rem;
margin-bottom: 2rem;
}
.nav-tiles-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
gap: 1.5rem;
}
.nav-tile {
background-color: var(--card-bg);
border: 1px solid var(--border-color);
border-radius: var(--border-radius);
overflow: hidden;
transition: all var(--transition);
}
.nav-tile:hover {
transform: translateY(-2px);
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
border-color: var(--primary-color);
}
.nav-tile-link {
display: block;
text-decoration: none;
color: inherit;
}
.nav-tile-info {
padding: 1rem;
}
.nav-direction {
display: flex;
align-items: center;
gap: 0.5rem;
font-size: 0.875rem;
color: var(--text-muted);
margin-bottom: 0.5rem;
}
.nav-next .nav-direction {
justify-content: flex-end;
}
.nav-title {
font-size: 1rem;
font-weight: 600;
line-height: 1.3;
margin: 0 0 0.5rem 0;
color: var(--text-color);
}
.nav-category {
font-size: 0.75rem;
color: var(--text-muted);
} @media (max-width: 1024px) {
.single-layout {
grid-template-columns: 1fr;
gap: 2rem;
}
.post-toc {
border-left: none;
border-top: 1px solid var(--border-color);
padding-left: 0;
padding-top: 2rem;
position: static;
max-height: none;
}
.related-topics-grid {
grid-template-columns: repeat(2, 1fr);
gap: 1rem;
}
}
@media (max-width: 768px) {
.single-layout {
padding: 1.5rem;
}
.related-topics-section,
.post-navigation-tiles {
padding: 1.5rem;
}
.related-topics-grid {
grid-template-columns: 1fr;
gap: 1rem;
}
.nav-tiles-grid {
grid-template-columns: 1fr;
gap: 1rem;
}
}
@media (max-width: 480px) {
.single-layout {
padding: 1rem;
}
.related-topics-section,
.post-navigation-tiles {
padding: 1rem;
}
} .nav-tiles-grid {
display: grid;
grid-template-columns: 1fr auto 1fr; gap: 1.5rem;
align-items: stretch;
}
.nav-spacer {
width: 2rem; min-height: 1px;
} .nav-empty {
background-color: var(--bg-secondary);
border: 1px dashed var(--border-color);
border-radius: var(--border-radius);
opacity: 0.6;
pointer-events: none;
}
.nav-empty-content {
padding: 1rem;
text-align: center;
}
.nav-empty .topic-placeholder {
background-color: var(--bg-color);
}
.nav-empty .placeholder-icon.disabled {
color: var(--text-muted);
opacity: 0.5;
}
.nav-empty .nav-direction.disabled {
color: var(--text-muted);
opacity: 0.7;
} .nav-tile,
.nav-empty {
display: flex;
flex-direction: column;
min-height: 200px; }
.nav-tile-link,
.nav-empty-content {
flex: 1;
display: flex;
flex-direction: column;
}
.nav-tile-info {
flex: 1;
display: flex;
flex-direction: column;
justify-content: space-between;
} @media (max-width: 768px) {
.nav-tiles-grid {
grid-template-columns: 1fr 1fr;
gap: 1rem;
}
.nav-spacer {
display: none;
} .nav-empty {
display: none;
} .nav-tiles-grid:has(.nav-previous):has(.nav-next) {
grid-template-columns: 1fr 1fr;
} .nav-tiles-grid:has(.nav-previous):not(:has(.nav-next)) .nav-previous,
.nav-tiles-grid:has(.nav-next):not(:has(.nav-previous)) .nav-next {
grid-column: 1 / -1;
max-width: 400px;
margin: 0 auto;
}
}
@media (max-width: 480px) {
.nav-tiles-grid {
grid-template-columns: 1fr;
gap: 1rem;
}
.nav-tile,
.nav-empty {
min-height: 150px;
}
}