Repaint theme blue with larger typography
Swap the cherry-red primary for the logo's blue, bump body 13→15px and h1 32→40px, and add semantic tokens (--bg-*, --accent-*, --text-*) so future palette shifts are a single-file edit. Cherry-red survives only for danger states and the brand cherry mark. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -453,11 +453,11 @@
|
||||
<style>
|
||||
.hero {
|
||||
background:
|
||||
linear-gradient(180deg, var(--cherry-875) 0%, var(--cherry-925) 100%);
|
||||
border: 1px solid var(--cherry-700);
|
||||
linear-gradient(180deg, var(--bg-card) 0%, var(--bg-nav) 100%);
|
||||
border: 1px solid var(--border);
|
||||
border-radius: var(--r-md);
|
||||
padding: 24px 28px;
|
||||
margin-bottom: 20px;
|
||||
padding: var(--pad-panel) 32px;
|
||||
margin-bottom: 24px;
|
||||
box-shadow: var(--shadow-panel);
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
@@ -467,27 +467,27 @@
|
||||
position: absolute;
|
||||
inset: 0 0 auto 0;
|
||||
height: 3px;
|
||||
background: linear-gradient(90deg, transparent, var(--cherry-500), var(--spark-500), transparent);
|
||||
background: linear-gradient(90deg, transparent, var(--accent), var(--spark-500), transparent);
|
||||
}
|
||||
.hero-top {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: flex-start;
|
||||
gap: 20px;
|
||||
gap: 24px;
|
||||
}
|
||||
.name-row { display: flex; align-items: center; gap: 12px; min-width: 0; }
|
||||
.name-row { display: flex; align-items: center; gap: 14px; min-width: 0; }
|
||||
h1 {
|
||||
margin: 0;
|
||||
font-family: var(--font-display);
|
||||
font-size: 28px;
|
||||
font-size: var(--text-2xl);
|
||||
letter-spacing: 1.5px;
|
||||
color: var(--cream);
|
||||
line-height: 1;
|
||||
line-height: var(--leading-tight);
|
||||
}
|
||||
.player-block { text-align: right; }
|
||||
.player-count {
|
||||
font-family: var(--font-mono);
|
||||
font-size: 40px;
|
||||
font-size: 48px;
|
||||
font-weight: 500;
|
||||
color: var(--ink-500);
|
||||
line-height: 1;
|
||||
@@ -498,25 +498,25 @@
|
||||
}
|
||||
.player-label {
|
||||
font-family: var(--font-body);
|
||||
font-size: 10px;
|
||||
font-size: var(--text-xs);
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 1.5px;
|
||||
color: var(--ink-500);
|
||||
margin-top: 4px;
|
||||
margin-top: 6px;
|
||||
}
|
||||
.hero-meta {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
gap: 20px;
|
||||
margin-top: 18px;
|
||||
padding-top: 14px;
|
||||
border-top: 1px solid var(--cherry-700);
|
||||
font-size: 13px;
|
||||
gap: 24px;
|
||||
margin-top: 22px;
|
||||
padding-top: 18px;
|
||||
border-top: 1px solid var(--border);
|
||||
font-size: var(--text-base);
|
||||
}
|
||||
.pair { display: flex; align-items: baseline; gap: 6px; font-family: var(--font-mono); }
|
||||
.pair { display: flex; align-items: baseline; gap: 8px; font-family: var(--font-mono); }
|
||||
.pair .k {
|
||||
color: var(--ink-500);
|
||||
font-size: 10px;
|
||||
font-size: var(--text-xs);
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 1px;
|
||||
}
|
||||
@@ -526,19 +526,19 @@
|
||||
.v.health-offline { color: var(--danger-500); }
|
||||
|
||||
.panel {
|
||||
background: var(--cherry-925);
|
||||
border: 1px solid var(--cherry-700);
|
||||
background: var(--bg-nav);
|
||||
border: 1px solid var(--border);
|
||||
border-radius: var(--r-md);
|
||||
padding: 18px 20px;
|
||||
margin-bottom: 16px;
|
||||
padding: var(--pad-card);
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
.diag { border-color: rgba(255, 48, 80, 0.35); }
|
||||
.diag h2 { color: var(--danger-500); }
|
||||
|
||||
h2 {
|
||||
margin: 0 0 12px;
|
||||
margin: 0 0 14px;
|
||||
font-family: var(--font-body);
|
||||
font-size: 11px;
|
||||
font-size: var(--text-xs);
|
||||
font-weight: 700;
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 1.5px;
|
||||
@@ -546,22 +546,22 @@
|
||||
}
|
||||
.stats, .diag-grid {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
|
||||
gap: 10px;
|
||||
grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
|
||||
gap: 12px;
|
||||
}
|
||||
.stat {
|
||||
background: var(--cherry-875);
|
||||
border: 1px solid var(--cherry-700);
|
||||
background: var(--bg-card);
|
||||
border: 1px solid var(--border);
|
||||
border-radius: var(--r-sm);
|
||||
padding: 10px 12px;
|
||||
padding: 12px 14px;
|
||||
}
|
||||
.stat .k {
|
||||
color: var(--ink-500);
|
||||
font-size: 10px;
|
||||
font-size: var(--text-xs);
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 1px;
|
||||
}
|
||||
.stat .v { color: var(--ink-100); margin-top: 4px; font-size: 13px; word-break: break-word; }
|
||||
.stat .v { color: var(--ink-100); margin-top: 6px; font-size: var(--text-base); word-break: break-word; }
|
||||
.mono { font-family: var(--font-mono); }
|
||||
.flag-ok { color: var(--spark-500); }
|
||||
.flag-bad { color: var(--danger-500); }
|
||||
@@ -569,18 +569,18 @@
|
||||
.reason-row {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 10px;
|
||||
margin-top: 14px;
|
||||
padding: 10px 14px;
|
||||
gap: 12px;
|
||||
margin-top: 16px;
|
||||
padding: 12px 16px;
|
||||
background: rgba(255, 48, 80, 0.08);
|
||||
border: 1px solid rgba(255, 48, 80, 0.25);
|
||||
border-radius: var(--r-sm);
|
||||
}
|
||||
.reason-tag {
|
||||
padding: 2px 8px;
|
||||
padding: 3px 10px;
|
||||
border-radius: var(--r-sm);
|
||||
font-family: var(--font-mono);
|
||||
font-size: 10px;
|
||||
font-size: var(--text-xs);
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 1px;
|
||||
border: 1px solid transparent;
|
||||
@@ -590,86 +590,86 @@
|
||||
.reason-no-port { background: rgba(255, 176, 32, 0.15); border-color: rgba(255, 176, 32, 0.4); color: var(--amber-500); }
|
||||
.reason-timeout { background: rgba(255, 48, 80, 0.15); border-color: rgba(255, 48, 80, 0.4); color: var(--danger-500); }
|
||||
.reason-send-error { background: rgba(255, 48, 80, 0.15); border-color: rgba(255, 48, 80, 0.4); color: var(--danger-500); }
|
||||
.reason-bad-reply { background: rgba(242, 230, 200, 0.1); border-color: rgba(242, 230, 200, 0.3); color: var(--cream); }
|
||||
.reason-no-players { background: rgba(242, 230, 200, 0.1); border-color: rgba(242, 230, 200, 0.3); color: var(--cream); }
|
||||
.reason-legacy { background: var(--cherry-875); border-color: var(--cherry-700); color: var(--ink-300); }
|
||||
.reason-bad-reply { background: rgba(124, 192, 245, 0.10); border-color: rgba(124, 192, 245, 0.28); color: var(--cream); }
|
||||
.reason-no-players { background: rgba(124, 192, 245, 0.10); border-color: rgba(124, 192, 245, 0.28); color: var(--cream); }
|
||||
.reason-legacy { background: var(--bg-card); border-color: var(--border); color: var(--ink-300); }
|
||||
|
||||
.reason-detail {
|
||||
color: var(--ink-100);
|
||||
font-family: var(--font-mono);
|
||||
font-size: 12px;
|
||||
font-size: var(--text-mono);
|
||||
}
|
||||
.hint {
|
||||
margin-top: 10px;
|
||||
padding: 8px 14px;
|
||||
margin-top: 12px;
|
||||
padding: 10px 16px;
|
||||
font-family: var(--font-body);
|
||||
font-size: 12px;
|
||||
font-size: var(--text-sm);
|
||||
color: var(--cream-dim);
|
||||
background: var(--cherry-875);
|
||||
border-left: 3px solid var(--spark-500);
|
||||
background: var(--bg-card);
|
||||
border-left: 3px solid var(--accent);
|
||||
border-radius: var(--r-sm);
|
||||
}
|
||||
|
||||
.probe-row {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 12px;
|
||||
margin-top: 14px;
|
||||
gap: 14px;
|
||||
margin-top: 16px;
|
||||
}
|
||||
.probe-btn {
|
||||
background: var(--cherry-875);
|
||||
background: var(--bg-card);
|
||||
color: var(--cream);
|
||||
border: 1px solid var(--spark-500);
|
||||
border: 1px solid var(--accent);
|
||||
border-radius: var(--r-sm);
|
||||
padding: 7px 14px;
|
||||
padding: 10px 18px;
|
||||
font-family: var(--font-body);
|
||||
font-size: 12px;
|
||||
font-size: var(--text-sm);
|
||||
font-weight: 600;
|
||||
letter-spacing: 0.3px;
|
||||
cursor: pointer;
|
||||
transition: box-shadow 0.15s, background 0.15s;
|
||||
}
|
||||
.probe-btn:hover:not(:disabled) {
|
||||
box-shadow: var(--spark-glow);
|
||||
background: var(--cherry-825);
|
||||
box-shadow: var(--accent-glow);
|
||||
background: var(--bg-card-hi);
|
||||
}
|
||||
.probe-btn:disabled { opacity: 0.5; cursor: default; }
|
||||
.probe-hint {
|
||||
color: var(--ink-500);
|
||||
font-family: var(--font-mono);
|
||||
font-size: 11px;
|
||||
font-size: var(--text-mono-sm);
|
||||
}
|
||||
|
||||
.probe-result {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 10px;
|
||||
margin-top: 12px;
|
||||
padding: 10px 14px;
|
||||
gap: 12px;
|
||||
margin-top: 14px;
|
||||
padding: 12px 16px;
|
||||
border-radius: var(--r-sm);
|
||||
border: 1px solid transparent;
|
||||
}
|
||||
.probe-ok {
|
||||
background: rgba(34, 224, 255, 0.08);
|
||||
border-color: rgba(34, 224, 255, 0.3);
|
||||
background: rgba(124, 212, 255, 0.08);
|
||||
border-color: rgba(124, 212, 255, 0.3);
|
||||
}
|
||||
.probe-bad {
|
||||
background: rgba(255, 48, 80, 0.08);
|
||||
border-color: rgba(255, 48, 80, 0.25);
|
||||
}
|
||||
.probe-tag {
|
||||
padding: 2px 8px;
|
||||
padding: 3px 10px;
|
||||
border-radius: var(--r-sm);
|
||||
font-family: var(--font-mono);
|
||||
font-size: 10px;
|
||||
font-size: var(--text-xs);
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 1px;
|
||||
border: 1px solid transparent;
|
||||
flex-shrink: 0;
|
||||
}
|
||||
.probe-tag.ok {
|
||||
background: rgba(34, 224, 255, 0.15);
|
||||
border-color: rgba(34, 224, 255, 0.4);
|
||||
background: rgba(124, 212, 255, 0.15);
|
||||
border-color: rgba(124, 212, 255, 0.4);
|
||||
color: var(--spark-500);
|
||||
}
|
||||
.probe-tag.bad {
|
||||
@@ -680,25 +680,25 @@
|
||||
.probe-detail {
|
||||
color: var(--ink-100);
|
||||
font-family: var(--font-mono);
|
||||
font-size: 12px;
|
||||
font-size: var(--text-mono);
|
||||
}
|
||||
.probe-detail strong { color: var(--spark-500); }
|
||||
|
||||
.probe-url {
|
||||
display: flex;
|
||||
align-items: baseline;
|
||||
gap: 8px;
|
||||
margin-top: 8px;
|
||||
padding: 6px 12px;
|
||||
background: var(--cherry-875);
|
||||
gap: 10px;
|
||||
margin-top: 10px;
|
||||
padding: 8px 14px;
|
||||
background: var(--bg-card);
|
||||
border-radius: var(--r-sm);
|
||||
border: 1px solid var(--cherry-700);
|
||||
font-size: 11px;
|
||||
border: 1px solid var(--border);
|
||||
font-size: var(--text-mono-sm);
|
||||
}
|
||||
.probe-url .k {
|
||||
color: var(--ink-500);
|
||||
font-family: var(--font-body);
|
||||
font-size: 10px;
|
||||
font-size: var(--text-xs);
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 1px;
|
||||
}
|
||||
@@ -710,30 +710,30 @@
|
||||
|
||||
.net-table {
|
||||
width: 100%;
|
||||
margin-top: 14px;
|
||||
margin-top: 16px;
|
||||
border-collapse: separate;
|
||||
border-spacing: 0;
|
||||
background: var(--cherry-975);
|
||||
border: 1px solid var(--cherry-700);
|
||||
background: var(--bg-page);
|
||||
border: 1px solid var(--border);
|
||||
border-radius: var(--r-sm);
|
||||
overflow: hidden;
|
||||
font-size: 12px;
|
||||
font-size: var(--text-mono);
|
||||
}
|
||||
.net-table thead th {
|
||||
text-align: left;
|
||||
padding: 8px 12px;
|
||||
padding: 10px 14px;
|
||||
font-family: var(--font-body);
|
||||
font-size: 10px;
|
||||
font-size: var(--text-xs);
|
||||
font-weight: 600;
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 1px;
|
||||
color: var(--ink-500);
|
||||
border-bottom: 1px solid var(--cherry-700);
|
||||
background: var(--cherry-925);
|
||||
border-bottom: 1px solid var(--border);
|
||||
background: var(--bg-nav);
|
||||
}
|
||||
.net-table tbody td {
|
||||
padding: 8px 12px;
|
||||
border-bottom: 1px solid rgba(74, 15, 30, 0.4);
|
||||
padding: 10px 14px;
|
||||
border-bottom: 1px solid rgba(30, 50, 96, 0.5);
|
||||
color: var(--ink-100);
|
||||
vertical-align: top;
|
||||
}
|
||||
@@ -742,24 +742,24 @@
|
||||
.net-table .num { text-align: right; }
|
||||
.net-table .detail-cell {
|
||||
color: var(--ink-300);
|
||||
font-size: 11px;
|
||||
font-size: var(--text-mono-sm);
|
||||
word-break: break-word;
|
||||
max-width: 320px;
|
||||
}
|
||||
|
||||
.net-tag {
|
||||
display: inline-block;
|
||||
padding: 2px 8px;
|
||||
padding: 3px 10px;
|
||||
border-radius: var(--r-sm);
|
||||
font-family: var(--font-mono);
|
||||
font-size: 10px;
|
||||
font-size: var(--text-xs);
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 1px;
|
||||
border: 1px solid transparent;
|
||||
}
|
||||
.net-connected {
|
||||
background: rgba(34, 224, 255, 0.15);
|
||||
border-color: rgba(34, 224, 255, 0.4);
|
||||
background: rgba(124, 212, 255, 0.15);
|
||||
border-color: rgba(124, 212, 255, 0.4);
|
||||
color: var(--spark-500);
|
||||
}
|
||||
.net-refused {
|
||||
@@ -774,40 +774,40 @@
|
||||
}
|
||||
|
||||
.net-meta {
|
||||
margin-top: 10px;
|
||||
margin-top: 12px;
|
||||
font-family: var(--font-mono);
|
||||
font-size: 11px;
|
||||
font-size: var(--text-mono-sm);
|
||||
color: var(--ink-500);
|
||||
}
|
||||
.net-meta code {
|
||||
color: var(--cream);
|
||||
background: var(--cherry-875);
|
||||
padding: 1px 6px;
|
||||
background: var(--bg-card);
|
||||
padding: 2px 8px;
|
||||
border-radius: var(--r-sm);
|
||||
}
|
||||
|
||||
.snippet-details {
|
||||
margin-top: 10px;
|
||||
margin-top: 12px;
|
||||
font-family: var(--font-mono);
|
||||
font-size: 11px;
|
||||
font-size: var(--text-mono-sm);
|
||||
}
|
||||
.snippet-details summary {
|
||||
color: var(--ink-500);
|
||||
cursor: pointer;
|
||||
padding: 4px 0;
|
||||
padding: 6px 0;
|
||||
}
|
||||
.snippet-details summary:hover { color: var(--ink-100); }
|
||||
.snippet {
|
||||
margin: 10px 0 0;
|
||||
padding: 12px 14px;
|
||||
background: var(--cherry-975);
|
||||
border: 1px solid var(--cherry-700);
|
||||
margin: 12px 0 0;
|
||||
padding: 14px 16px;
|
||||
background: var(--bg-page);
|
||||
border: 1px solid var(--border);
|
||||
border-radius: var(--r-sm);
|
||||
color: var(--ink-300);
|
||||
font-family: var(--font-mono);
|
||||
font-size: 11px;
|
||||
line-height: 1.5;
|
||||
max-height: 400px;
|
||||
font-size: var(--text-mono-sm);
|
||||
line-height: var(--leading-mono);
|
||||
max-height: 440px;
|
||||
overflow: auto;
|
||||
white-space: pre-wrap;
|
||||
word-break: break-all;
|
||||
@@ -815,19 +815,19 @@
|
||||
|
||||
.row {
|
||||
display: grid;
|
||||
grid-template-columns: 200px 160px 100px 120px 1fr;
|
||||
gap: 12px;
|
||||
padding: 10px 14px;
|
||||
background: var(--cherry-875);
|
||||
border: 1px solid var(--cherry-700);
|
||||
grid-template-columns: 220px 180px 110px 130px 1fr;
|
||||
gap: 14px;
|
||||
padding: 12px 16px;
|
||||
background: var(--bg-card);
|
||||
border: 1px solid var(--border);
|
||||
border-radius: var(--r-sm);
|
||||
margin: 4px 0;
|
||||
margin: 6px 0;
|
||||
color: var(--ink-100);
|
||||
text-decoration: none;
|
||||
font-size: 12px;
|
||||
font-size: var(--text-mono);
|
||||
font-family: var(--font-mono);
|
||||
}
|
||||
.row:hover { border-color: var(--spark-500); box-shadow: var(--spark-glow); }
|
||||
.row:hover { border-color: var(--accent); box-shadow: var(--accent-glow); }
|
||||
.row-done { border-left: 3px solid var(--spark-500); }
|
||||
.row-failed { border-left: 3px solid var(--danger-500); }
|
||||
.row-pending { border-left: 3px solid var(--amber-500); }
|
||||
@@ -841,6 +841,6 @@
|
||||
.empty {
|
||||
color: var(--ink-500);
|
||||
font-family: var(--font-mono);
|
||||
font-size: 13px;
|
||||
font-size: var(--text-base);
|
||||
}
|
||||
</style>
|
||||
|
||||
Reference in New Issue
Block a user