Files
Minecraft-BungeeCord-Status/BungeeCord-Chrome/popup.css
2026-05-22 11:16:13 +02:00

436 lines
8.4 KiB
CSS
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
:root {
--bg: #0d1117;
--panel: #161b27;
--panel2: #111620;
--text: #e6eef8;
--muted: #5a6a7a;
--muted2: #8899aa;
--accent: #3b82f6;
--radius: 9px;
--online: #22c55e;
--offline: #ef4444;
--border: rgba(255,255,255,0.07);
}
* { box-sizing: border-box; }
html, body {
margin: 0; padding: 0;
font-family: Inter, Arial, sans-serif;
background: var(--bg);
color: var(--text);
overflow-x: hidden;
}
.root {
width: 560px;
display: flex;
flex-direction: column;
}
/* ── Header ── */
header {
background: var(--panel);
display: flex;
align-items: center;
justify-content: space-between;
padding: 13px 20px;
border-bottom: 1px solid var(--border);
}
header h1 {
font-size: 14px;
font-weight: 700;
margin: 0;
letter-spacing: 0.03em;
color: #fff;
}
header .actions { display: flex; gap: 7px; }
header .actions button {
background: rgba(255,255,255,0.07);
border: 1px solid rgba(255,255,255,0.1);
color: var(--muted2);
border-radius: 7px;
width: 32px; height: 32px;
cursor: pointer;
font-size: 16px;
display: flex; align-items: center; justify-content: center;
transition: background 0.15s, color 0.15s;
}
header .actions button:hover {
background: rgba(255,255,255,0.12);
color: #fff;
}
/* ── Main layout ── */
.main {
display: flex;
flex-direction: column;
}
/* ── Settings / add-form panel ── */
.settings-panel {
background: var(--panel2);
border-bottom: 1px solid var(--border);
padding: 14px 20px;
display: flex;
flex-direction: column;
gap: 8px;
}
.settings-panel input {
padding: 8px 12px;
border-radius: 7px;
border: 1px solid rgba(255,255,255,0.09);
background: rgba(0,0,0,0.3);
color: var(--text);
font-size: 13px;
outline: none;
}
.settings-panel input:focus {
border-color: var(--accent);
}
.settings-panel button {
padding: 8px 12px;
border-radius: 7px;
border: none;
background: var(--accent);
color: white;
font-size: 13px;
font-weight: 600;
cursor: pointer;
}
/* ── Server list ── */
.server-list-panel {
background: var(--panel2);
border-bottom: 1px solid var(--border);
padding: 10px 12px;
}
#serversContainer {
list-style: none;
margin: 0; padding: 0;
display: flex;
flex-direction: column;
gap: 4px;
}
.server-item {
display: flex;
align-items: center;
justify-content: space-between;
padding: 9px 12px;
border-radius: 8px;
cursor: pointer;
background: transparent;
border: 1px solid transparent;
transition: background 0.15s, border-color 0.15s;
}
.server-item:hover { background: rgba(255,255,255,0.04); }
.server-item.selected { background: rgba(59,130,246,0.08); border-color: rgba(59,130,246,0.25); }
.server-item .meta { display: flex; flex-direction: column; gap: 2px; }
.server-item .meta .name { font-size: 13px; font-weight: 600; color: #fff; }
.server-item .meta .url { font-size: 11px; color: var(--muted); }
.status-bubble {
font-size: 11px;
font-weight: 600;
padding: 3px 10px;
border-radius: 999px;
color: #fff;
background: transparent;
}
/* ── Detail panel ── */
.detail-panel {
padding: 18px 20px;
display: flex;
flex-direction: column;
gap: 16px;
min-height: 200px;
}
.placeholder {
color: var(--muted);
font-size: 13px;
padding: 24px 0;
text-align: center;
}
/* Server identity + online badge */
.srv-identity {
display: flex;
justify-content: space-between;
align-items: flex-start;
}
.srv-name { font-size: 20px; font-weight: 700; color: #fff; margin: 0 0 4px; }
.srv-url { font-size: 12px; color: var(--muted); }
.online-badge {
display: flex;
align-items: center;
gap: 7px;
border-radius: 999px;
padding: 5px 14px;
font-size: 13px;
font-weight: 600;
}
.online-badge.online {
background: rgba(34,197,94,0.12);
border: 1px solid rgba(34,197,94,0.25);
color: #4ade80;
}
.online-badge.offline {
background: rgba(239,68,68,0.1);
border: 1px solid rgba(239,68,68,0.2);
color: #f87171;
}
.pulsing-dot {
width: 7px; height: 7px;
border-radius: 50%;
flex-shrink: 0;
}
.pulsing-dot.online {
background: var(--online);
animation: pulse-green 2s infinite;
}
.pulsing-dot.offline {
background: var(--offline);
animation: pulse-red 2s infinite;
}
@keyframes pulse-green {
0%,100% { box-shadow: 0 0 0 0 rgba(34,197,94,0.5); }
50% { box-shadow: 0 0 0 5px rgba(34,197,94,0); }
}
@keyframes pulse-red {
0%,100% { box-shadow: 0 0 0 0 rgba(239,68,68,0.5); }
50% { box-shadow: 0 0 0 5px rgba(239,68,68,0); }
}
/* MOTD */
.motd-bar {
font-size: 12px;
color: var(--muted2);
background: rgba(255,255,255,0.03);
border-radius: 8px;
padding: 8px 14px;
border-left: 2px solid rgba(59,130,246,0.35);
font-style: italic;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
margin-top: 4px;
}
/* Stats row 3 gleich breite Karten */
.stats-row {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
gap: 10px;
margin-top: 4px;
}
.stat-card {
background: var(--panel);
border: 1px solid var(--border);
border-radius: var(--radius);
padding: 12px 16px;
}
.stat-label {
font-size: 10px;
color: var(--muted);
text-transform: uppercase;
letter-spacing: 0.08em;
margin-bottom: 5px;
}
.stat-val {
font-size: 18px;
font-weight: 700;
color: #fff;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.stat-val.small {
font-size: 12px;
padding-top: 4px;
font-weight: 500;
color: var(--muted2);
}
/* Section label */
.section-label {
font-size: 11px;
font-weight: 700;
color: var(--muted);
text-transform: uppercase;
letter-spacing: 0.1em;
margin-bottom: 9px;
padding-top: 6px;
border-top: 1px solid var(--border);
}
/* Sub-server chips immer 3 pro Zeile */
.sub-servers {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 8px;
}
.sub-chip {
display: flex;
align-items: center;
gap: 7px;
border-radius: 8px;
padding: 8px 12px;
font-size: 13px;
font-weight: 600;
border: 1px solid var(--border);
background: var(--panel);
color: var(--muted2);
cursor: default;
transition: background 0.15s;
min-width: 0;
}
.sub-chip.active {
background: rgba(59,130,246,0.1);
border-color: rgba(59,130,246,0.3);
color: #93c5fd;
}
.sub-chip-dot {
width: 7px; height: 7px;
border-radius: 50%;
background: #2a3040;
flex-shrink: 0;
}
.sub-chip.active .sub-chip-dot {
background: var(--accent);
}
.sub-chip-name {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
flex: 1;
min-width: 0;
}
.sub-chip-count {
font-size: 11px;
font-weight: 500;
opacity: 0.65;
flex-shrink: 0;
margin-left: auto;
padding-left: 4px;
}
/* Players grid 2 Spalten */
.players-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 8px;
}
.player-card {
display: flex;
align-items: center;
gap: 12px;
background: var(--panel);
border: 1px solid var(--border);
border-radius: var(--radius);
padding: 10px 14px;
transition: background 0.15s;
min-width: 0;
}
.player-card:hover {
background: rgba(255,255,255,0.05);
}
.player-avatar {
width: 40px; height: 40px;
border-radius: 7px;
border: 1px solid rgba(255,255,255,0.1);
flex-shrink: 0;
image-rendering: pixelated;
}
.player-info { flex: 1; min-width: 0; }
.player-name {
font-size: 14px;
font-weight: 700;
color: var(--text);
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.player-prefix {
font-size: 11px;
color: var(--muted2);
margin-bottom: 2px;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.player-server-tag {
display: inline-block;
margin-top: 3px;
font-size: 11px;
font-weight: 600;
background: rgba(59,130,246,0.18);
color: #93c5fd;
border-radius: 5px;
padding: 2px 7px;
}
/* Edit/Delete buttons */
.detail-buttons {
display: flex;
gap: 10px;
padding-top: 10px;
border-top: 1px solid var(--border);
}
.detail-buttons button {
padding: 7px 16px;
border-radius: 7px;
border: none;
cursor: pointer;
font-size: 13px;
font-weight: 600;
}
#btnEdit { background: rgba(245,158,11,0.15); color: #fbbf24; border: 1px solid rgba(245,158,11,0.25); }
#btnDelete { background: rgba(239,68,68,0.12); color: #f87171; border: 1px solid rgba(239,68,68,0.2); }
.hidden { display: none !important; }
::-webkit-scrollbar { width: 5px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: rgba(255,255,255,0.08); border-radius: 10px; }
::-webkit-scrollbar-thumb:hover { background: var(--accent); }