fix: purge FMHY refs, bump sitewide fonts, 4-col contraband grid, brighter text colors

This commit is contained in:
jae 2026-04-03 00:04:32 +00:00
parent ca92fd16b9
commit 3224bb46fa
6 changed files with 102 additions and 181440 deletions

View file

@ -820,7 +820,7 @@ def backup_all():
except Exception as e: except Exception as e:
return jsonify({'error': str(e)}), 500 return jsonify({'error': str(e)}), 500
# ─── Contraband (FMHY) ─────────────────────────────── # ─── Contraband ───────────────────────────────
_contraband_cache = None _contraband_cache = None
_contraband_mtime = 0 _contraband_mtime = 0

File diff suppressed because one or more lines are too long

View file

@ -1,5 +1,5 @@
/* /*
CONTRABAND // FMHY DATABASE Classified Resource Index CONTRABAND Classified Resource Index
*/ */
/* ─── Stats Bar ──────────────────────────────────────── */ /* ─── Stats Bar ──────────────────────────────────────── */
@ -12,7 +12,7 @@
border-left: 3px solid var(--mil-red); border-left: 3px solid var(--mil-red);
margin-bottom: 1.5rem; margin-bottom: 1.5rem;
font-family: var(--font-mono); font-family: var(--font-mono);
font-size: 0.65rem; font-size: 0.85rem;
letter-spacing: 1px; letter-spacing: 1px;
flex-wrap: wrap; flex-wrap: wrap;
} }
@ -25,14 +25,14 @@
.crt-stat-label { .crt-stat-label {
color: var(--text-muted); color: var(--text-muted);
font-size: 0.55rem; font-size: 0.95rem;
text-transform: uppercase; text-transform: uppercase;
} }
.crt-stat-value { .crt-stat-value {
color: var(--status-green); color: var(--status-green);
font-weight: 700; font-weight: 700;
font-size: 0.8rem; font-size: 1rem;
} }
.crt-stat-value.amber { color: var(--status-amber); } .crt-stat-value.amber { color: var(--status-amber); }
@ -51,7 +51,7 @@
border: 1px solid var(--border); border: 1px solid var(--border);
color: var(--text-primary); color: var(--text-primary);
font-family: var(--font-mono); font-family: var(--font-mono);
font-size: 0.75rem; font-size: 0.95rem;
letter-spacing: 1px; letter-spacing: 1px;
outline: none; outline: none;
transition: all 0.3s ease; transition: all 0.3s ease;
@ -73,7 +73,7 @@
top: 50%; top: 50%;
transform: translateY(-50%); transform: translateY(-50%);
color: var(--text-muted); color: var(--text-muted);
font-size: 0.8rem; font-size: 1rem;
pointer-events: none; pointer-events: none;
} }
@ -84,7 +84,7 @@
transform: translateY(-50%); transform: translateY(-50%);
color: var(--text-muted); color: var(--text-muted);
font-family: var(--font-mono); font-family: var(--font-mono);
font-size: 0.6rem; font-size: 1rem;
letter-spacing: 1px; letter-spacing: 1px;
} }
@ -103,7 +103,7 @@
border: 1px solid var(--border); border: 1px solid var(--border);
color: var(--text-muted); color: var(--text-muted);
font-family: var(--font-mono); font-family: var(--font-mono);
font-size: 0.6rem; font-size: 1rem;
letter-spacing: 1px; letter-spacing: 1px;
cursor: pointer; cursor: pointer;
transition: all 0.3s ease; transition: all 0.3s ease;
@ -124,7 +124,7 @@
/* ─── Category Grid ──────────────────────────────────── */ /* ─── Category Grid ──────────────────────────────────── */
.crt-grid { .crt-grid {
display: grid; display: grid;
grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); grid-template-columns: repeat(4, 1fr);
gap: 1rem; gap: 1rem;
margin-bottom: 2rem; margin-bottom: 2rem;
} }
@ -160,7 +160,7 @@
.crt-card-code { .crt-card-code {
font-family: var(--font-mono); font-family: var(--font-mono);
font-size: 0.55rem; font-size: 0.95rem;
color: var(--mil-red); color: var(--mil-red);
letter-spacing: 2px; letter-spacing: 2px;
margin-bottom: 0.35rem; margin-bottom: 0.35rem;
@ -169,7 +169,7 @@
.crt-card-name { .crt-card-name {
font-family: var(--font-display); font-family: var(--font-display);
font-size: 0.8rem; font-size: 1rem;
font-weight: 700; font-weight: 700;
color: var(--text-primary); color: var(--text-primary);
letter-spacing: 1px; letter-spacing: 1px;
@ -178,7 +178,7 @@
.crt-card-icon { .crt-card-icon {
float: right; float: right;
font-size: 1.4rem; font-size: 1.8rem;
opacity: 0.5; opacity: 0.5;
margin-top: -0.25rem; margin-top: -0.25rem;
} }
@ -187,7 +187,7 @@
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
font-family: var(--font-mono); font-family: var(--font-mono);
font-size: 0.55rem; font-size: 0.95rem;
color: var(--text-muted); color: var(--text-muted);
letter-spacing: 1px; letter-spacing: 1px;
border-top: 1px solid var(--border); border-top: 1px solid var(--border);
@ -204,7 +204,7 @@
} }
.crt-card-status { .crt-card-status {
font-size: 0.5rem; font-size: 0.9rem;
color: var(--status-green); color: var(--status-green);
letter-spacing: 2px; letter-spacing: 2px;
text-transform: uppercase; text-transform: uppercase;
@ -220,7 +220,7 @@
border: 1px solid var(--border); border: 1px solid var(--border);
color: var(--text-secondary); color: var(--text-secondary);
font-family: var(--font-mono); font-family: var(--font-mono);
font-size: 0.65rem; font-size: 0.85rem;
letter-spacing: 1px; letter-spacing: 1px;
cursor: pointer; cursor: pointer;
transition: all 0.3s ease; transition: all 0.3s ease;
@ -244,7 +244,7 @@
.crt-detail-code { .crt-detail-code {
font-family: var(--font-mono); font-family: var(--font-mono);
font-size: 0.6rem; font-size: 1rem;
color: var(--mil-red); color: var(--mil-red);
letter-spacing: 3px; letter-spacing: 3px;
margin-bottom: 0.25rem; margin-bottom: 0.25rem;
@ -252,7 +252,7 @@
.crt-detail-title { .crt-detail-title {
font-family: var(--font-display); font-family: var(--font-display);
font-size: 1.4rem; font-size: 1.8rem;
font-weight: 700; font-weight: 700;
color: var(--text-primary); color: var(--text-primary);
letter-spacing: 2px; letter-spacing: 2px;
@ -263,7 +263,7 @@
display: flex; display: flex;
gap: 1.5rem; gap: 1.5rem;
font-family: var(--font-mono); font-family: var(--font-mono);
font-size: 0.6rem; font-size: 1rem;
color: var(--text-muted); color: var(--text-muted);
letter-spacing: 1px; letter-spacing: 1px;
} }
@ -293,7 +293,7 @@
.crt-sub-toggle { .crt-sub-toggle {
color: var(--text-muted); color: var(--text-muted);
font-size: 0.6rem; font-size: 1rem;
transition: transform 0.3s ease; transition: transform 0.3s ease;
} }
@ -303,7 +303,7 @@
.crt-sub-name { .crt-sub-name {
font-family: var(--font-display); font-family: var(--font-display);
font-size: 0.75rem; font-size: 0.95rem;
font-weight: 600; font-weight: 600;
color: var(--text-primary); color: var(--text-primary);
letter-spacing: 1px; letter-spacing: 1px;
@ -312,7 +312,7 @@
.crt-sub-count { .crt-sub-count {
font-family: var(--font-mono); font-family: var(--font-mono);
font-size: 0.55rem; font-size: 0.95rem;
color: var(--text-muted); color: var(--text-muted);
letter-spacing: 1px; letter-spacing: 1px;
} }
@ -321,7 +321,7 @@
padding: 0.5rem 1rem; padding: 0.5rem 1rem;
margin-bottom: 0.5rem; margin-bottom: 0.5rem;
font-family: var(--font-mono); font-family: var(--font-mono);
font-size: 0.6rem; font-size: 1rem;
color: var(--status-amber); color: var(--status-amber);
line-height: 1.5; line-height: 1.5;
border-left: 2px solid var(--status-amber); border-left: 2px solid var(--status-amber);
@ -352,7 +352,7 @@
.crt-entry-star { .crt-entry-star {
color: var(--status-amber); color: var(--status-amber);
font-size: 0.7rem; font-size: 0.9rem;
min-width: 1rem; min-width: 1rem;
text-align: center; text-align: center;
padding-top: 0.1rem; padding-top: 0.1rem;
@ -364,7 +364,7 @@
} }
.crt-entry-name { .crt-entry-name {
font-size: 0.7rem; font-size: 0.9rem;
font-weight: 600; font-weight: 600;
letter-spacing: 0.5px; letter-spacing: 0.5px;
} }
@ -384,7 +384,7 @@
} }
.crt-entry-desc { .crt-entry-desc {
font-size: 0.6rem; font-size: 1rem;
color: var(--text-muted); color: var(--text-muted);
line-height: 1.5; line-height: 1.5;
margin-top: 0.15rem; margin-top: 0.15rem;
@ -398,7 +398,7 @@
} }
.crt-entry-extra a { .crt-entry-extra a {
font-size: 0.55rem; font-size: 0.95rem;
color: var(--text-muted); color: var(--text-muted);
text-decoration: none; text-decoration: none;
padding: 0.1rem 0.3rem; padding: 0.1rem 0.3rem;
@ -429,7 +429,7 @@
.crt-result-breadcrumb { .crt-result-breadcrumb {
font-family: var(--font-mono); font-family: var(--font-mono);
font-size: 0.5rem; font-size: 0.9rem;
color: var(--mil-red); color: var(--mil-red);
letter-spacing: 1px; letter-spacing: 1px;
margin-bottom: 0.25rem; margin-bottom: 0.25rem;
@ -437,7 +437,7 @@
.crt-result-name { .crt-result-name {
font-family: var(--font-mono); font-family: var(--font-mono);
font-size: 0.7rem; font-size: 0.9rem;
font-weight: 600; font-weight: 600;
} }
@ -450,7 +450,7 @@
.crt-result-desc { .crt-result-desc {
font-family: var(--font-mono); font-family: var(--font-mono);
font-size: 0.6rem; font-size: 1rem;
color: var(--text-muted); color: var(--text-muted);
margin-top: 0.15rem; margin-top: 0.15rem;
} }
@ -460,7 +460,7 @@
text-align: center; text-align: center;
padding: 3rem; padding: 3rem;
font-family: var(--font-mono); font-family: var(--font-mono);
font-size: 0.7rem; font-size: 0.9rem;
color: var(--text-muted); color: var(--text-muted);
letter-spacing: 2px; letter-spacing: 2px;
} }
@ -480,20 +480,20 @@
text-align: center; text-align: center;
padding: 3rem; padding: 3rem;
font-family: var(--font-mono); font-family: var(--font-mono);
font-size: 0.7rem; font-size: 0.9rem;
color: var(--text-muted); color: var(--text-muted);
letter-spacing: 2px; letter-spacing: 2px;
border: 1px dashed var(--border); border: 1px dashed var(--border);
} }
/* ─── FMHY Attribution ───────────────────────────────── */ /* ─── Attribution ───────────────────────────────── */
.crt-attribution { .crt-attribution {
margin-top: 2rem; margin-top: 2rem;
padding: 1rem 1.25rem; padding: 1rem 1.25rem;
background: rgba(16, 16, 16, 0.5); background: rgba(16, 16, 16, 0.5);
border: 1px solid var(--border); border: 1px solid var(--border);
font-family: var(--font-mono); font-family: var(--font-mono);
font-size: 0.55rem; font-size: 0.95rem;
color: var(--text-muted); color: var(--text-muted);
letter-spacing: 1px; letter-spacing: 1px;
text-align: center; text-align: center;
@ -509,6 +509,18 @@
} }
/* ─── Responsive ─────────────────────────────────────── */ /* ─── Responsive ─────────────────────────────────────── */
@media (max-width: 1200px) {
.crt-grid {
grid-template-columns: repeat(3, 1fr);
}
}
@media (max-width: 900px) {
.crt-grid {
grid-template-columns: repeat(2, 1fr);
}
}
@media (max-width: 768px) { @media (max-width: 768px) {
.crt-stats-bar { .crt-stats-bar {
gap: 1rem; gap: 1rem;

View file

@ -21,9 +21,9 @@
--mil-red: #8b0000; --mil-red: #8b0000;
--mil-red-dim: #8b000040; --mil-red-dim: #8b000040;
--link-color: #6688aa; --link-color: #6688aa;
--text-primary: #c0c0c0; --text-primary: #d8d8d8;
--text-secondary: #707070; --text-secondary: #999999;
--text-muted: #3a3a3a; --text-muted: #666666;
--border: #2a2a2a; --border: #2a2a2a;
--border-accent: #ffffff10; --border-accent: #ffffff10;
--danger: #ff2d2d; --danger: #ff2d2d;
@ -142,7 +142,7 @@ a:hover { color: #fff; text-shadow: none; }
.logo-bracket { color: #e0e0e0; font-weight: 300; } .logo-bracket { color: #e0e0e0; font-weight: 300; }
.logo-accent { color: #e0e0e0; } .logo-accent { color: #e0e0e0; }
.logo-status { .logo-status {
font-size: 0.55rem; font-size: 0.75rem;
color: var(--status-green); color: var(--status-green);
margin-left: 0.75rem; margin-left: 0.75rem;
animation: pulse-status 2s ease-in-out infinite; animation: pulse-status 2s ease-in-out infinite;
@ -258,7 +258,7 @@ a:hover { color: #fff; text-shadow: none; }
/* Dropdown Arrow */ /* Dropdown Arrow */
.dropdown-arrow { .dropdown-arrow {
font-size: 0.55rem; font-size: 0.75rem;
margin-left: 0.35rem; margin-left: 0.35rem;
opacity: 0.5; opacity: 0.5;
transition: transform 0.3s ease, opacity 0.3s ease; transition: transform 0.3s ease, opacity 0.3s ease;
@ -278,7 +278,7 @@ a:hover { color: #fff; text-shadow: none; }
display: flex; display: flex;
align-items: center; align-items: center;
gap: 1rem; gap: 1rem;
font-size: 0.65rem; font-size: 0.85rem;
color: var(--text-secondary); color: var(--text-secondary);
} }
@ -291,7 +291,7 @@ a:hover { color: #fff; text-shadow: none; }
.nav-signal { .nav-signal {
color: var(--status-green); color: var(--status-green);
letter-spacing: 1px; letter-spacing: 1px;
font-size: 0.55rem; font-size: 0.75rem;
} }
/* Mobile Toggle */ /* Mobile Toggle */
@ -401,7 +401,7 @@ a:hover { color: #fff; text-shadow: none; }
.panel-title { .panel-title {
font-family: var(--font-mono); font-family: var(--font-mono);
font-size: 0.6rem; font-size: 0.8rem;
letter-spacing: 3px; letter-spacing: 3px;
color: var(--text-secondary); color: var(--text-secondary);
text-transform: uppercase; text-transform: uppercase;
@ -421,7 +421,7 @@ a:hover { color: #fff; text-shadow: none; }
.panel-status-dot { .panel-status-dot {
font-family: var(--font-mono); font-family: var(--font-mono);
font-size: 0.55rem; font-size: 0.75rem;
letter-spacing: 1px; letter-spacing: 1px;
} }
@ -496,7 +496,7 @@ a:hover { color: #fff; text-shadow: none; }
.coord-label { .coord-label {
display: block; display: block;
font-family: var(--font-mono); font-family: var(--font-mono);
font-size: 0.5rem; font-size: 0.7rem;
letter-spacing: 2px; letter-spacing: 2px;
color: var(--text-secondary); color: var(--text-secondary);
} }
@ -519,7 +519,7 @@ a:hover { color: #fff; text-shadow: none; }
.hero-label { .hero-label {
font-family: var(--font-mono); font-family: var(--font-mono);
font-size: 0.65rem; font-size: 0.85rem;
letter-spacing: 4px; letter-spacing: 4px;
color: var(--text-secondary); color: var(--text-secondary);
margin-bottom: 1rem; margin-bottom: 1rem;
@ -593,7 +593,7 @@ a:hover { color: #fff; text-shadow: none; }
============================ */ ============================ */
.metric-label { .metric-label {
font-family: var(--font-mono); font-family: var(--font-mono);
font-size: 0.55rem; font-size: 0.75rem;
letter-spacing: 2px; letter-spacing: 2px;
color: var(--text-secondary); color: var(--text-secondary);
} }
@ -625,7 +625,7 @@ a:hover { color: #fff; text-shadow: none; }
.metric-val { .metric-val {
font-family: var(--font-mono); font-family: var(--font-mono);
font-size: 0.65rem; font-size: 0.85rem;
color: var(--status-green); color: var(--status-green);
text-align: right; text-align: right;
text-shadow: 0 0 6px var(--status-green-glow); text-shadow: 0 0 6px var(--status-green-glow);
@ -731,7 +731,7 @@ a:hover { color: #fff; text-shadow: none; }
.container-label { .container-label {
font-family: var(--font-mono); font-family: var(--font-mono);
font-size: 0.5rem; font-size: 0.7rem;
letter-spacing: 2px; letter-spacing: 2px;
color: #808080; color: #808080;
opacity: 0.7; opacity: 0.7;
@ -766,7 +766,7 @@ a:hover { color: #fff; text-shadow: none; }
.graph-stat-label { .graph-stat-label {
display: block; display: block;
font-family: var(--font-mono); font-family: var(--font-mono);
font-size: 0.5rem; font-size: 0.7rem;
letter-spacing: 2px; letter-spacing: 2px;
color: var(--text-secondary); color: var(--text-secondary);
margin-bottom: 0.25rem; margin-bottom: 0.25rem;
@ -815,7 +815,7 @@ a:hover { color: #fff; text-shadow: none; }
.hud-dot-online { .hud-dot-online {
font-family: var(--font-mono); font-family: var(--font-mono);
font-size: 0.55rem; font-size: 0.75rem;
color: var(--status-green); color: var(--status-green);
letter-spacing: 1px; letter-spacing: 1px;
} }
@ -840,7 +840,7 @@ a:hover { color: #fff; text-shadow: none; }
.hud-bstat-value { .hud-bstat-value {
font-family: var(--font-mono); font-family: var(--font-mono);
font-size: 0.6rem; font-size: 0.8rem;
color: var(--text-primary); color: var(--text-primary);
letter-spacing: 1px; letter-spacing: 1px;
} }
@ -855,7 +855,7 @@ a:hover { color: #fff; text-shadow: none; }
.hud-scan-label { .hud-scan-label {
font-family: var(--font-mono); font-family: var(--font-mono);
font-size: 0.5rem; font-size: 0.7rem;
letter-spacing: 2px; letter-spacing: 2px;
color: var(--text-secondary); color: var(--text-secondary);
animation: scanPulse 2s ease infinite; animation: scanPulse 2s ease infinite;
@ -884,7 +884,7 @@ a:hover { color: #fff; text-shadow: none; }
.hud-scan-pct { .hud-scan-pct {
font-family: var(--font-mono); font-family: var(--font-mono);
font-size: 0.55rem; font-size: 0.75rem;
color: var(--status-green); color: var(--status-green);
min-width: 28px; min-width: 28px;
} }
@ -994,7 +994,7 @@ a:hover { color: #fff; text-shadow: none; }
.panel-title { .panel-title {
font-family: var(--font-display); font-family: var(--font-display);
font-size: 0.65rem; font-size: 0.85rem;
letter-spacing: 2px; letter-spacing: 2px;
color: var(--text-secondary); color: var(--text-secondary);
} }
@ -1046,7 +1046,7 @@ a:hover { color: #fff; text-shadow: none; }
} }
.skill-name { .skill-name {
font-size: 0.6rem; font-size: 0.8rem;
letter-spacing: 1px; letter-spacing: 1px;
color: var(--text-secondary); color: var(--text-secondary);
} }
@ -1072,7 +1072,7 @@ a:hover { color: #fff; text-shadow: none; }
.bar-fill.animated { width: var(--target-width); } .bar-fill.animated { width: var(--target-width); }
.skill-pct { .skill-pct {
font-size: 0.65rem; font-size: 0.85rem;
color: #d0d0d0; color: #d0d0d0;
text-align: right; text-align: right;
} }
@ -1120,13 +1120,13 @@ a:hover { color: #fff; text-shadow: none; }
} }
.blog-date { .blog-date {
font-size: 0.6rem; font-size: 0.8rem;
color: var(--text-secondary); color: var(--text-secondary);
letter-spacing: 2px; letter-spacing: 2px;
} }
.blog-tag { .blog-tag {
font-size: 0.55rem; font-size: 0.75rem;
letter-spacing: 1px; letter-spacing: 1px;
color: #808080; color: #808080;
padding: 0.2rem 0.5rem; padding: 0.2rem 0.5rem;
@ -1158,12 +1158,12 @@ a:hover { color: #fff; text-shadow: none; }
} }
.blog-read-time { .blog-read-time {
font-size: 0.6rem; font-size: 0.8rem;
color: var(--text-muted); color: var(--text-muted);
} }
.blog-link { .blog-link {
font-size: 0.65rem; font-size: 0.85rem;
font-family: var(--font-display); font-family: var(--font-display);
letter-spacing: 2px; letter-spacing: 2px;
color: #d0d0d0; color: #d0d0d0;
@ -1219,7 +1219,7 @@ a:hover { color: #fff; text-shadow: none; }
} }
.dev-status { .dev-status {
font-size: 0.55rem; font-size: 0.75rem;
letter-spacing: 1px; letter-spacing: 1px;
color: var(--status-green); color: var(--status-green);
} }
@ -1250,7 +1250,7 @@ a:hover { color: #fff; text-shadow: none; }
} }
.tech-tag { .tech-tag {
font-size: 0.55rem; font-size: 0.75rem;
letter-spacing: 1px; letter-spacing: 1px;
padding: 0.25rem 0.6rem; padding: 0.25rem 0.6rem;
border: 1px solid var(--border); border: 1px solid var(--border);
@ -1264,7 +1264,7 @@ a:hover { color: #fff; text-shadow: none; }
} }
.dev-link { .dev-link {
font-size: 0.65rem; font-size: 0.85rem;
font-family: var(--font-display); font-family: var(--font-display);
letter-spacing: 2px; letter-spacing: 2px;
} }
@ -1313,7 +1313,7 @@ a:hover { color: #fff; text-shadow: none; }
} }
.link-url { .link-url {
font-size: 0.65rem; font-size: 0.85rem;
color: var(--text-secondary); color: var(--text-secondary);
} }
@ -1350,7 +1350,7 @@ a:hover { color: #fff; text-shadow: none; }
.form-label { .form-label {
display: block; display: block;
font-size: 0.55rem; font-size: 0.75rem;
letter-spacing: 2px; letter-spacing: 2px;
color: var(--text-secondary); color: var(--text-secondary);
margin-bottom: 0.5rem; margin-bottom: 0.5rem;
@ -1412,7 +1412,7 @@ a:hover { color: #fff; text-shadow: none; }
.form-submit:hover::before { left: 0; } .form-submit:hover::before { left: 0; }
.submit-icon { .submit-icon {
font-size: 0.6rem; font-size: 0.8rem;
transition: transform 0.3s ease; transition: transform 0.3s ease;
} }
@ -1428,7 +1428,7 @@ a:hover { color: #fff; text-shadow: none; }
.info-label { .info-label {
display: block; display: block;
font-size: 0.55rem; font-size: 0.75rem;
letter-spacing: 2px; letter-spacing: 2px;
color: var(--text-muted); color: var(--text-muted);
margin-bottom: 0.3rem; margin-bottom: 0.3rem;
@ -1485,19 +1485,19 @@ a:hover { color: #fff; text-shadow: none; }
} }
.footer-copy { .footer-copy {
font-size: 0.6rem; font-size: 0.8rem;
color: var(--text-muted); color: var(--text-muted);
letter-spacing: 1px; letter-spacing: 1px;
} }
.footer-coords { .footer-coords {
font-size: 0.6rem; font-size: 0.8rem;
color: var(--text-muted); color: var(--text-muted);
letter-spacing: 1px; letter-spacing: 1px;
} }
.footer-signal { .footer-signal {
font-size: 0.6rem; font-size: 0.8rem;
color: var(--status-green); color: var(--status-green);
letter-spacing: 1px; letter-spacing: 1px;
} }
@ -1601,7 +1601,7 @@ a:hover { color: #fff; text-shadow: none; }
.dropdown li a { .dropdown li a {
padding-left: 3rem; padding-left: 3rem;
font-size: 0.65rem; font-size: 0.85rem;
} }
.dropdown li a::before { .dropdown li a::before {
@ -1727,7 +1727,7 @@ a:hover { color: #fff; text-shadow: none; }
} }
.weather-detail { .weather-detail {
font-family: 'JetBrains Mono', monospace; font-family: 'JetBrains Mono', monospace;
font-size: 0.6rem; font-size: 0.8rem;
color: rgba(192, 192, 192, 0.4); color: rgba(192, 192, 192, 0.4);
letter-spacing: 1px; letter-spacing: 1px;
padding: 0.2rem 0.5rem; padding: 0.2rem 0.5rem;
@ -1757,7 +1757,7 @@ a:hover { color: #fff; text-shadow: none; }
} }
.np-album { .np-album {
font-family: 'JetBrains Mono', monospace; font-family: 'JetBrains Mono', monospace;
font-size: 0.6rem; font-size: 0.8rem;
color: rgba(192, 192, 192, 0.35); color: rgba(192, 192, 192, 0.35);
letter-spacing: 0.5px; letter-spacing: 0.5px;
margin-bottom: 0.3rem; margin-bottom: 0.3rem;
@ -1828,7 +1828,7 @@ a:hover { color: #fff; text-shadow: none; }
.chat-model { .chat-model {
color: #555; color: #555;
font-size: 0.5rem; font-size: 0.7rem;
letter-spacing: 1px; letter-spacing: 1px;
} }
@ -1893,14 +1893,14 @@ a:hover { color: #fff; text-shadow: none; }
.chat-welcome-sub { .chat-welcome-sub {
font-family: var(--font-mono); font-family: var(--font-mono);
font-size: 0.55rem; font-size: 0.75rem;
letter-spacing: 3px; letter-spacing: 3px;
color: var(--text-secondary); color: var(--text-secondary);
} }
.chat-welcome-hint { .chat-welcome-hint {
font-family: var(--font-mono); font-family: var(--font-mono);
font-size: 0.6rem; font-size: 0.8rem;
letter-spacing: 1px; letter-spacing: 1px;
color: #555; color: #555;
margin-top: 0.5rem; margin-top: 0.5rem;
@ -2040,7 +2040,7 @@ a:hover { color: #fff; text-shadow: none; }
color: var(--status-green); color: var(--status-green);
cursor: pointer; cursor: pointer;
transition: all 0.2s; transition: all 0.2s;
font-size: 0.65rem; font-size: 0.85rem;
} }
.chat-send:hover { .chat-send:hover {
@ -2136,7 +2136,7 @@ a:hover { color: #fff; text-shadow: none; }
.globe-coord-block .coord-value { .globe-coord-block .coord-value {
display: block; display: block;
font-family: var(--font-mono); font-family: var(--font-mono);
font-size: 0.65rem; font-size: 0.85rem;
color: var(--status-green); color: var(--status-green);
text-shadow: 0 0 6px var(--status-green-glow); text-shadow: 0 0 6px var(--status-green-glow);
} }
@ -2152,13 +2152,13 @@ a:hover { color: #fff; text-shadow: none; }
width: 100%; width: 100%;
border-collapse: collapse; border-collapse: collapse;
font-family: var(--font-mono); font-family: var(--font-mono);
font-size: 0.6rem; font-size: 0.8rem;
} }
.proc-table th { .proc-table th {
text-align: left; text-align: left;
padding: 0.3rem 0.4rem; padding: 0.3rem 0.4rem;
font-size: 0.5rem; font-size: 0.7rem;
letter-spacing: 2px; letter-spacing: 2px;
color: var(--text-secondary); color: var(--text-secondary);
border-bottom: 1px solid var(--border); border-bottom: 1px solid var(--border);
@ -2197,7 +2197,7 @@ a:hover { color: #fff; text-shadow: none; }
text-align: center; text-align: center;
color: #555; color: #555;
letter-spacing: 2px; letter-spacing: 2px;
font-size: 0.5rem; font-size: 0.7rem;
padding: 1rem !important; padding: 1rem !important;
animation: hintPulse 2s ease-in-out infinite; animation: hintPulse 2s ease-in-out infinite;
} }
@ -2220,7 +2220,7 @@ a:hover { color: #fff; text-shadow: none; }
min-height: 180px; min-height: 180px;
} }
.proc-table { .proc-table {
font-size: 0.55rem; font-size: 0.75rem;
} }
} }
@ -2264,7 +2264,7 @@ a:hover { color: #fff; text-shadow: none; }
.clock-date { .clock-date {
font-family: var(--font-mono); font-family: var(--font-mono);
font-size: 0.55rem; font-size: 0.75rem;
color: var(--text-secondary); color: var(--text-secondary);
letter-spacing: 2px; letter-spacing: 2px;
} }

View file

@ -3,7 +3,7 @@
<head> <head>
<meta charset="UTF-8"> <meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>JAESWIFT // CONTRABAND — FMHY Resource Index</title> <title>JAESWIFT // CONTRABAND — Classified Resource Index</title>
<meta name="description" content="The largest classified index of free resources on the internet — catalogued, coded, and declassified."> <meta name="description" content="The largest classified index of free resources on the internet — catalogued, coded, and declassified.">
<link rel="preconnect" href="https://fonts.googleapis.com"> <link rel="preconnect" href="https://fonts.googleapis.com">
<link href="https://fonts.googleapis.com/css2?family=Orbitron:wght@400;700;900&family=JetBrains+Mono:wght@300;400;500;700&display=swap" rel="stylesheet"> <link href="https://fonts.googleapis.com/css2?family=Orbitron:wght@400;700;900&family=JetBrains+Mono:wght@300;400;500;700&display=swap" rel="stylesheet">
@ -40,7 +40,7 @@
<section class="section-header" style="padding-top: calc(var(--nav-height) + 1.5rem);"> <section class="section-header" style="padding-top: calc(var(--nav-height) + 1.5rem);">
<div class="section-header-label">DEPOT // CLASSIFIED RESOURCE INDEX</div> <div class="section-header-label">DEPOT // CLASSIFIED RESOURCE INDEX</div>
<h1 class="section-header-title">CONTRABAND <span class="accent">//</span> FMHY</h1> <h1 class="section-header-title">CONTRABAND</h1>
<p class="section-header-sub">&gt; The largest classified index of free resources on the internet — 16,000+ assets catalogued, coded, and declassified.</p> <p class="section-header-sub">&gt; The largest classified index of free resources on the internet — 16,000+ assets catalogued, coded, and declassified.</p>
</section> </section>

View file

@ -1,5 +1,5 @@
/* /*
CONTRABAND // FMHY Resource Database Controller CONTRABAND // Resource Database Controller
*/ */
(function () { (function () {
'use strict'; 'use strict';
@ -37,7 +37,7 @@
// Stats bar // Stats bar
html += `<div class="crt-stats-bar"> html += `<div class="crt-stats-bar">
<div class="crt-stat"><span class="crt-stat-label">DATABASE</span><span class="crt-stat-value">FMHY</span></div> <div class="crt-stat"><span class="crt-stat-label">DATABASE</span><span class="crt-stat-value"> ONLINE</span></div>
<div class="crt-stat"><span class="crt-stat-label">TOTAL ASSETS</span><span class="crt-stat-value">${fmt(data.total_entries)}</span></div> <div class="crt-stat"><span class="crt-stat-label">TOTAL ASSETS</span><span class="crt-stat-value">${fmt(data.total_entries)}</span></div>
<div class="crt-stat"><span class="crt-stat-label">STARRED</span><span class="crt-stat-value amber">${fmt(data.total_starred)}</span></div> <div class="crt-stat"><span class="crt-stat-label">STARRED</span><span class="crt-stat-value amber">${fmt(data.total_starred)}</span></div>
<div class="crt-stat"><span class="crt-stat-label">CATEGORIES</span><span class="crt-stat-value">${data.total_categories}</span></div> <div class="crt-stat"><span class="crt-stat-label">CATEGORIES</span><span class="crt-stat-value">${data.total_categories}</span></div>
@ -71,12 +71,7 @@
} }
html += `</div>`; html += `</div>`;
// Attribution // End of grid
html += `<div class="crt-attribution">
DATA SOURCE: <a href="https://fmhy.net" target="_blank" rel="noopener">FREEMEDIAHECKYEAH</a>
&nbsp;//&nbsp; AUTO-SYNCED FROM <a href="https://github.com/fmhy/edit" target="_blank" rel="noopener">GITHUB.COM/FMHY/EDIT</a>
&nbsp;//&nbsp; ALL CREDIT TO THE FMHY COMMUNITY
</div>`;
root.innerHTML = html; root.innerHTML = html;
bindIndexEvents(); bindIndexEvents();
@ -144,11 +139,7 @@
} }
html += `</div>`; html += `</div>`;
// Attribution // End of grid
html += `<div class="crt-attribution">
DATA SOURCE: <a href="https://fmhy.net" target="_blank" rel="noopener">FREEMEDIAHECKYEAH</a>
&nbsp;//&nbsp; CATEGORY: ${esc(cat.code)} // ${esc(cat.name)}
</div>`;
root.innerHTML = html; root.innerHTML = html;
bindDetailEvents(cat); bindDetailEvents(cat);