body {
background-color: #1e222b;
margin: 0;
padding: 0 0 120px 0;
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
color: #e2e8f0;
}
.banner-container {
display: flex;
align-items: center;
justify-content: center;
width: 100%;
margin: 0;
padding: 10px 0;
background-color: #16191f;
box-sizing: border-box;
}
.fixed-bottom {
position: fixed;
bottom: 0;
left: 0;
width: 100%;
z-index: 999;
box-shadow: 0 -4px 25px rgba(0, 0, 0, 0.5);
padding: 12px 8px;
}
.banner-container a {
display: block;
margin: 0 6px;
background-color: #242b35;
border-radius: 12px;
overflow: hidden;
cursor: pointer;
box-shadow: 0 4px 10px rgba(0,0,0,0.3);
transition: transform 0.2s cubic-bezier(0.25, 0.8, 0.25, 1), filter 0.2s ease, box-shadow 0.2s ease;
box-sizing: border-box;
}
.banner-container a:hover {
transform: translateY(-5px);
filter: brightness(1.2) contrast(1.05);
box-shadow: 0 8px 20px rgba(6, 182, 212, 0.4);
}
.banner-container img {
display: block;
width: 100%;
height: 45px;
border: 0;
object-fit: cover;
border-radius: 12px;
}
.banner-container a img {
border: 2px solid #06b6d4;
box-sizing: border-box;
transition: border-color 0.2s ease;
}
.banner-container a:hover img {
border-color: #22d3ee;
}
.banner-container .top-link { width: 2.5%; }
.banner-container .side-link { width: 19%; }
.banner-container .mid-link { width: 24%; }
.banner-container .mid-img { height: 45px; }
.split-container {
display: grid;
grid-template-columns: 1fr 1fr;
min-height: calc(100vh - 185px);
width: 100%;
box-sizing: border-box;
}
.left-graphic-pane {
display: flex;
flex-direction: column;
justify-content: center;
gap: 24px;
padding: 40px;
background-color: #16191f;
}
.pane-img-card {
border-radius: 12px;
overflow: hidden;
border: 1px solid #2d3748;
box-shadow: 0 10px 30px rgba(0,0,0,0.4);
width: 100%;
}
.pane-img-card img {
width: 100%;
height: auto;
display: block;
}
.right-text-pane {
padding: 60px 48px;
overflow-y: auto;
max-width: 680px;
}
.article-title {
font-size: 2.5rem;
color: #ffffff;
margin: 0 0 12px 0;
font-weight: 800;
letter-spacing: -0.8px;
line-height: 1.2;
}
.article-meta {
font-size: 0.95rem;
color: #a0aec0;
margin-bottom: 35px;
border-bottom: 1px solid #2d3748;
padding-bottom: 20px;
}
.article-meta .author { font-weight: 600; color: #f7fafc; }
.article-meta .divider { margin: 0 10px; color: #4a5568; }
p {
font-size: 1.15rem;
line-height: 1.75;
margin: 0 0 24px 0;
color: #cbd5e1;
}
.content-link {
color: #06b6d4;
text-decoration: none;
font-weight: 500;
border-bottom: 1px solid rgba(6, 182, 212, 0.3);
padding-bottom: 2px;
transition: color 0.2s ease, border-color 0.2s ease, text-shadow 0.2s ease;
}
.content-link:hover {
color: #22d3ee;
border-bottom-color: #22d3ee;
text-shadow: 0 0 8px rgba(34, 211, 238, 0.4);
}
.blockquote-container {
background: #252b36;
border-left: 4px solid #06b6d4;
margin: 40px 0;
padding: 24px 28px;
border-radius: 0 8px 8px 0;
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05);
}
.blockquote-text {
font-size: 1.25rem !important;
line-height: 1.6 !important;
color: #ffffff !important;
margin: 0 0 12px 0 !important;
font-style: italic;
}
.blockquote-source {
font-size: 0.9rem;
text-align: right;
font-style: normal;
font-weight: 600;
color: #94a3b8;
text-transform: uppercase;
letter-spacing: 1px;
display: block;
}
.text-center { text-align: center; }
@media (max-width: 768px) {
.split-container {
grid-template-columns: 1fr;
}
.left-graphic-pane {
order: 1;
padding: 24px;
}
.right-text-pane {
order: 2;
padding: 32px 24px;
}
}
/* Keep all 40 navigation PNGs in one fixed row at the top */
#top-nav {
position: fixed;
top: 0;
left: 0;
right: 0;
z-index: 1000;
display: grid;
grid-template-columns: repeat(40, minmax(0, 1fr));
gap: 2px;
align-items: stretch;
padding: 6px 4px;
background-color: #16191f;
box-sizing: border-box;
box-shadow: 0 4px 18px rgba(0, 0, 0, 0.45);
}
#top-nav a, #top-nav .top-link {
display: block;
width: 100%;
min-width: 0;
margin: 0;
border-radius: 4px;
overflow: hidden;
}
#top-nav img {
display: block;
width: 100%;
height: 38px;
object-fit: contain;
border: 1px solid #06b6d4;
border-radius: 4px;
box-sizing: border-box;
}
body { padding-top: 54px; }
@media (max-width: 768px) {
#top-nav {
grid-template-columns: repeat(40, minmax(0, 1fr));
gap: 1px;
padding: 5px 2px;
}
#top-nav img { height: 32px; }
body { padding-top: 46px; }
}
/* Keep all five bottom navigation PNGs visible at the bottom of the screen */
#bottom-nav {
position: fixed;
left: 0;
right: 0;
bottom: 0;
z-index: 1001;
display: grid;
grid-template-columns: repeat(5, minmax(0, 1fr));
gap: 8px;
align-items: stretch;
padding: 8px;
margin: 0;
background-color: #16191f;
box-sizing: border-box;
box-shadow: 0 -4px 18px rgba(0, 0, 0, 0.5);
}
#bottom-nav a {
display: block;
width: 100%;
min-width: 0;
margin: 0;
border-radius: 8px;
overflow: hidden;
}
#bottom-nav img {
display: block;
width: 100%;
height: 45px;
object-fit: contain;
border: 2px solid #06b6d4;
border-radius: 8px;
box-sizing: border-box;
}
body { padding-bottom: 78px; }
@media (max-width: 480px) {
#bottom-nav { gap: 4px; padding: 5px; }
#bottom-nav img { height: 38px; }
body { padding-bottom: 53px; }
}
/* White theme: white page and navigation backgrounds, black standard text */
body {
background-color: #ffffff;
color: #000000;
}
.banner-container,
#top-nav,
#bottom-nav,
.left-graphic-pane {
background-color: #ffffff;
}
.banner-container a {
background-color: #f5f5f5;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
}
.article-title,
.article-meta,
.article-meta .author,
p,
.blockquote-text,
.blockquote-source {
color: #000000 !important;
}
.article-meta {
border-bottom-color: #dddddd;
}
.article-meta .divider {
color: #666666;
}
.blockquote-container {
background: #f5f5f5;
border-left-color: #06b6d4;
box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.04);
}
.pane-img-card {
border-color: #dddddd;
box-shadow: 0 4px 14px rgba(0, 0, 0, 0.12);
}
#top-nav,
#bottom-nav {
box-shadow: 0 2px 12px rgba(0, 0, 0, 0.14);
}
/* Emphasize the center (third) PNG in the fixed bottom navigation */
#bottom-nav a:nth-child(3) {
position: relative;
z-index: 2;
background-color: #fff7db;
box-shadow: 0 0 0 3px #f59e0b, 0 0 18px rgba(245, 158, 11, 0.65);
}
#bottom-nav a:nth-child(3) img {
border: 4px solid #f59e0b;
border-radius: 8px;
filter: brightness(1.12) saturate(1.2);
}