:root { --cl-black: hsl(140, 1%, 6%); --cl-gray-0: hsl(140, 2%, 8%); --cl-gray-1: hsl(140, 2%, 12%); --cl-gray-2: hsl(140, 4%, 16%); --cl-gray-3: hsl(140, 4%, 24%); --cl-gray-4: hsl(140, 4%, 36%); --cl-gray-5: hsl(140, 4%, 44%); --cl-gray-6: hsl(80, 8%, 52%); --cl-gray-7: hsl(70, 8%, 58%); --cl-gray-8: hsl(60, 16%, 66%); --cl-gray-9: hsl(40, 32%, 78%); --cl-gray-10: hsl(30, 32%, 84%); --cl-white: hsl(26, 64%, 88%); --cl-red-6: hsl(4, 83%, 67%); --cl-red-7: hsl(4, 75%, 75%); --cl-orange-6: hsl(26, 84%, 62%); --cl-orange-7: hsl(26, 84%, 74%); --cl-yellow: hsl(37, 80%, 69%); --cl-green-6: hsl(120, 41%, 64%); --cl-green-7: hsl(120, 42%, 75%); --cl-cyan-6: hsl(160, 41%, 64%); --cl-cyan-7: hsl(160, 32%, 75%); --cl-blue-6: hsl(200, 55%, 64%); --cl-blue-8: hsl(201, 55%, 80%); --cl-magenta-7: hsl(320, 59%, 72%); --cl-magenta-8: hsl(320, 61%, 80%); } * { box-sizing: border-box; border-radius: 0px !important; } body { min-height: 100vh; margin: 5vh 10vw; display: flex; justify-content: center; font-family: "Iosevka", "Roboto Mono", monospace; background-color: var(--cl-black); color: var(--cl-white); } .app-container { position: relative; width: 100%; max-width: 760px; height: fit-content; background-color: var(--cl-gray-0); border: 2px solid var(--cl-gray-2); } .app-container::before { display: none; } .banner { width: 100%; height: auto; display: block; border-bottom: 2px solid var(--cl-gray-2); } .content-wrapper { position: relative; padding: 2rem; } .progress-bar { position: absolute; top: 0; left: 0; z-index: 10; width: 100%; height: 4px; background-color: var(--cl-orange-6); } .header { margin-bottom: 1.75rem; text-align: left; } .eyebrow { display: block; margin-bottom: 0.65rem; color: var(--cl-gray-6); font-size: 0.85rem; font-weight: bold; text-transform: uppercase; } .eyebrow::before, .eyebrow::after { display: none; } .header h1 { margin: 0 0 0.5rem; color: var(--cl-white); font-size: 2.2rem; font-weight: bold; margin-top: 25px } .header p { max-width: 100%; margin: 0; color: var(--cl-gray-7); font-size: 1rem; line-height: 1.6; } .status-badge { display: inline-flex; align-items: center; margin-top: 1rem; padding: 4px 12px; font-size: 0.85rem; font-weight: bold; text-transform: uppercase; border: 2px solid; } .status-online { color: var(--cl-green-6); border-color: var(--cl-green-6); background-color: transparent; } .status-offline { color: var(--cl-red-6); border-color: var(--cl-red-6); background-color: transparent; } .pulse-dot { width: 10px; height: 10px; margin-right: 0.75rem; background-color: currentColor; } .server-stats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; } .stat-item { display: flex; flex-direction: column; align-items: flex-start; margin-bottom: 10px; padding: 0.75rem; border: 2px solid var(--cl-gray-2); background-color: var(--cl-gray-0); } .stat-label { margin-bottom: 0.5rem; color: var(--cl-gray-6); font-size: 0.75rem; font-weight: bold; text-transform: uppercase; } .stat-value { color: var(--cl-white); font-size: 1.25rem; font-weight: bold; } .btn-primary { display: block; width: 100%; margin-bottom: 1rem; padding: 12px; color: var(--cl-orange-6); text-align: center; text-decoration: none; text-transform: uppercase; font-size: 1rem; font-weight: bold; border: 2px solid var(--cl-orange-6); background-color: transparent; } .btn-primary::before { content: "[ "; } .btn-primary::after { content: " ]"; } .btn-primary:hover { color: var(--cl-black); background-color: var(--cl-magenta-7); border-color: transparent; } .help-text { margin: 1rem 0 2rem; color: var(--cl-gray-6); text-align: left; font-size: 0.9rem; } .help-text a { color: var(--cl-orange-6); text-decoration: none; border-bottom: 2px solid var(--cl-orange-6); } .help-text a:hover { color: var(--cl-black); background-color: var(--cl-magenta-7); border-color: transparent; } .channel-list { display: flex; flex-direction: column; gap: 1rem; } .channel { border: 2px solid var(--cl-gray-2); background-color: var(--cl-gray-1); } .channel-header { padding: 0.75rem 1rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; color: var(--cl-white); border-bottom: 2px solid var(--cl-gray-2); background-color: var(--cl-gray-2); } .channel-title-group { display: flex; align-items: center; margin: 0; } .channel-title-group::before { content: ">"; margin-right: 0.75rem; color: var(--cl-orange-6); font-weight: bold; } .channel-title-group h2 { margin: 0; font-size: 1rem; font-weight: bold; } .channel-icon { display: none; } .channel-meta { padding: 4px 8px; color: var(--cl-cyan-6); font-size: 0.85rem; font-weight: bold; border: 2px solid var(--cl-cyan-6); } .client-list { margin: 0; padding: 0.5rem; list-style: none; } .client { padding: 0.5rem 1rem; display: flex; align-items: center; color: var(--cl-gray-8); font-size: 0.95rem; border: 2px solid transparent; } .client::before { content: "-"; margin-right: 1rem; color: var(--cl-gray-5); } .client:hover { color: var(--cl-white); background-color: var(--cl-gray-2); border-color: var(--cl-gray-4); } .role-icon, .client-no-role-icon { display: none; } .empty-server { padding: 2rem 1rem; color: var(--cl-gray-6); text-align: center; font-size: 1rem; border: 2px dashed var(--cl-gray-4); background-color: var(--cl-gray-1); } .footer-links { margin-top: 2.5rem; padding-top: 1.5rem; display: flex; flex-wrap: wrap; justify-content: flex-start; gap: 1rem; border-top: 2px solid var(--cl-gray-2); } .footer-links a { color: var(--cl-orange-6); font-size: 0.9rem; font-weight: bold; text-decoration: none; border: 2px solid transparent; padding: 2px 4px; } .footer-links a:hover { color: var(--cl-black); background-color: var(--cl-magenta-7); } .credits { margin-top: 1.5rem; color: var(--cl-gray-6); text-align: left; font-size: 0.85rem; } .credits a { color: var(--cl-orange-6); text-decoration: none; border-bottom: 2px solid var(--cl-orange-6); } .credits a:hover { color: var(--cl-black); background-color: var(--cl-magenta-7); border-color: transparent; } #ajax-container { transition: none; } @media (max-width: 640px) { body { margin: 2vh 4vw; } .content-wrapper { padding: 1.25rem; } .server-stats { grid-template-columns: 1fr; } .channel-header { align-items: flex-start; flex-direction: column; gap: 0.75rem; } }