:root { --bg: #0f120d; --bg-deep: #090b08; --bg-elevated: rgba(27, 33, 24, 0.92); --panel: rgba(21, 26, 19, 0.94); --panel-soft: rgba(30, 36, 27, 0.7); --border: rgba(159, 168, 141, 0.24); --border-strong: rgba(183, 201, 125, 0.2); --text: #e7e0cf; --muted: #a9ad9a; --text-soft: #c8ccb8; --accent: #8ea062; --accent-strong: #b7c97d; --accent-warm: #d2b676; --shadow: 0 28px 72px rgba(0, 0, 0, 0.42); --shadow-soft: 0 18px 40px rgba(0, 0, 0, 0.24); --page-shell-width: 1600px; --page-shell-gutter: 32px; --panel-content-width: 1120px; --font-main: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif; } * { box-sizing: border-box; } html { font-size: 16px; } body { margin: 0; min-height: 100vh; font-family: var(--font-main); color: var(--text); background-color: var(--bg); background: linear-gradient(rgba(9, 11, 8, 0.56), rgba(9, 11, 8, 0.97)), radial-gradient(circle at 18% 12%, rgba(108, 124, 75, 0.2), transparent 28%), radial-gradient(circle at top, rgba(84, 96, 59, 0.22), transparent 34%), radial-gradient(circle at 85% 10%, rgba(210, 182, 118, 0.1), transparent 24%), radial-gradient(circle at 78% 65%, rgba(54, 65, 42, 0.2), transparent 30%), radial-gradient(circle at bottom, rgba(210, 182, 118, 0.08), transparent 28%), linear-gradient(145deg, #171d15 0%, var(--bg-deep) 100%); } img { display: block; max-width: 100%; } a { color: inherit; text-decoration: none; } .page-shell { position: relative; isolation: isolate; width: 100%; padding: 30px 20px 72px; } .page-shell::before { content: ""; position: absolute; inset: 0; z-index: -2; background: radial-gradient(circle at 12% 18%, rgba(210, 182, 118, 0.07), transparent 18%), radial-gradient(circle at 82% 9%, rgba(142, 160, 98, 0.14), transparent 24%), linear-gradient(180deg, rgba(255, 255, 255, 0.012), transparent 24%); pointer-events: none; } .page-shell::after { content: ""; position: absolute; inset: 18px 4% auto; z-index: -1; height: 220px; border-radius: 999px; background: radial-gradient(circle, rgba(0, 0, 0, 0.36), transparent 72%); filter: blur(18px); pointer-events: none; } .hero { position: relative; overflow: hidden; width: min(var(--page-shell-width), calc(100vw - (var(--page-shell-gutter) * 2))); margin: 0 auto; border: 1px solid var(--border); border-radius: 24px; background: linear-gradient(180deg, rgba(26, 33, 21, 0.86), rgba(10, 13, 9, 0.98)), radial-gradient(circle at top center, rgba(183, 201, 125, 0.08), transparent 32%), radial-gradient(circle at 82% 22%, rgba(210, 182, 118, 0.08), transparent 24%), repeating-linear-gradient( 90deg, rgba(255, 255, 255, 0.015) 0, rgba(255, 255, 255, 0.015) 1px, transparent 1px, transparent 24px ); box-shadow: var(--shadow); } .hero::before { content: ""; position: absolute; inset: 18px; border: 1px solid rgba(210, 182, 118, 0.1); border-radius: 18px; pointer-events: none; } .hero::after { content: ""; position: absolute; inset: auto 32px 0; height: 1px; background: linear-gradient( 90deg, transparent, rgba(183, 201, 125, 0.2), transparent ); pointer-events: none; } .hero__overlay { position: absolute; inset: 0; background: radial-gradient(circle at top right, rgba(142, 160, 98, 0.18), transparent 28%), radial-gradient(circle at left center, rgba(210, 182, 118, 0.1), transparent 26%), radial-gradient(circle at 50% 115%, rgba(0, 0, 0, 0.42), transparent 34%), linear-gradient(135deg, transparent 0%, rgba(0, 0, 0, 0.2) 100%), linear-gradient(180deg, rgba(0, 0, 0, 0) 48%, rgba(0, 0, 0, 0.34) 100%); pointer-events: none; } .hero__content { position: relative; z-index: 1; width: 100%; max-width: none; margin: 0 auto; padding: 58px 52px 64px; } .hero__brand { position: relative; display: grid; grid-template-columns: minmax(240px, 340px) minmax(0, 1fr); align-items: center; gap: 36px; } .hero__copy { display: grid; justify-items: start; text-align: left; gap: 18px; max-width: 660px; } .hero__content::before { content: ""; position: absolute; inset: 28px 80px auto; height: 140px; border-radius: 999px; background: radial-gradient( circle, rgba(210, 182, 118, 0.16) 0%, rgba(142, 160, 98, 0.08) 42%, transparent 78% ); filter: blur(14px); pointer-events: none; } .logo-frame { width: min(340px, 100%); min-height: 248px; padding: 24px 28px; display: grid; place-items: center; border: 1px dashed rgba(183, 201, 125, 0.45); border-radius: 18px; background: linear-gradient(180deg, rgba(19, 24, 16, 0.9), rgba(10, 13, 9, 0.72)); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04), 0 18px 40px rgba(0, 0, 0, 0.24); position: relative; isolation: isolate; } .logo-frame::before { content: ""; position: absolute; inset: 10px; border: 1px solid rgba(210, 182, 118, 0.14); border-radius: 12px; pointer-events: none; } .logo-frame::after { content: ""; position: absolute; inset: auto 18% -24px; height: 48px; background: radial-gradient(circle, rgba(0, 0, 0, 0.42), transparent 72%); filter: blur(8px); z-index: -1; pointer-events: none; } .logo-frame__image { width: auto; height: auto; max-width: 100%; max-height: 246px; object-fit: contain; filter: drop-shadow(0 10px 20px rgba(0, 0, 0, 0.28)) drop-shadow(0 0 18px rgba(210, 182, 118, 0.08)); } .eyebrow { margin: 0; padding: 0.35rem 0.75rem; border: 1px solid rgba(183, 201, 125, 0.22); border-radius: 999px; background: rgba(142, 160, 98, 0.08); font-size: 0.76rem; letter-spacing: 0.2em; text-transform: uppercase; color: var(--accent-strong); } .eyebrow--section { margin-bottom: 0.85rem; } h1, h2 { margin: 0; line-height: 1.1; } h1 { max-width: 10ch; font-size: clamp(2.6rem, 5vw, 4.9rem); letter-spacing: 0.02em; text-shadow: 0 10px 28px rgba(0, 0, 0, 0.32); } h2 { font-size: clamp(1.5rem, 2.8vw, 2.2rem); } .hero__title-accent { display: block; color: var(--accent-warm); } .hero__text { margin: 0; max-width: 56ch; color: var(--text-soft); font-size: 1.03rem; line-height: 1.75; } .hero__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 16px; margin-top: 2px; } .status-chip { margin: 0; padding: 0.5rem 0.9rem; border: 1px solid rgba(159, 168, 141, 0.22); border-radius: 999px; background: linear-gradient(180deg, rgba(28, 34, 26, 0.82), rgba(14, 18, 13, 0.86)); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04), 0 10px 24px rgba(0, 0, 0, 0.18); font-size: 0.76rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--muted); } .status-chip--ok { border-color: rgba(183, 201, 125, 0.34); background: rgba(142, 160, 98, 0.12); color: var(--accent-strong); } .status-chip--fallback { border-color: rgba(210, 182, 118, 0.24); background: rgba(210, 182, 118, 0.08); color: var(--accent-warm); } .servers-loading, .servers-empty { display: grid; justify-items: center; gap: 14px; width: 100%; padding: 36px 24px; border: 1px dashed rgba(183, 201, 125, 0.24); border-radius: 18px; background: linear-gradient(180deg, rgba(19, 24, 16, 0.72), rgba(10, 13, 9, 0.84)); color: var(--text-soft); text-align: center; } .servers-loading__pulse { width: 14px; height: 14px; border-radius: 999px; background: var(--accent-warm); box-shadow: 0 0 0 rgba(210, 182, 118, 0.34); animation: servers-loading-pulse 1.6s ease-in-out infinite; } @keyframes servers-loading-pulse { 0% { transform: scale(0.9); box-shadow: 0 0 0 0 rgba(210, 182, 118, 0.26); opacity: 0.78; } 70% { transform: scale(1); box-shadow: 0 0 0 16px rgba(210, 182, 118, 0); opacity: 1; } 100% { transform: scale(0.92); box-shadow: 0 0 0 0 rgba(210, 182, 118, 0); opacity: 0.82; } } .discord-button { display: inline-flex; align-items: center; justify-content: center; min-height: 52px; min-width: 220px; padding: 0 28px; border: 1px solid rgba(183, 201, 125, 0.45); border-radius: 999px; background: linear-gradient(180deg, #8ea062 0%, #6e7f48 100%); color: #11150f; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; transition: transform 160ms ease, box-shadow 160ms ease, filter 160ms ease; box-shadow: 0 12px 30px rgba(110, 127, 72, 0.35); } .secondary-button { display: inline-flex; align-items: center; justify-content: center; min-height: 52px; min-width: 220px; padding: 0 24px; border: 1px solid rgba(210, 182, 118, 0.32); border-radius: 999px; background: linear-gradient(180deg, rgba(28, 34, 25, 0.9), rgba(12, 15, 11, 0.96)); color: var(--text); font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; transition: transform 160ms ease, border-color 160ms ease, background 160ms ease; } .secondary-button:hover, .secondary-button:focus-visible { transform: translateY(-1px); border-color: rgba(210, 182, 118, 0.5); background: linear-gradient(180deg, rgba(43, 50, 36, 0.94), rgba(16, 20, 14, 0.98)); } .secondary-button--ghost { min-width: 0; min-height: 42px; padding: 0 18px; font-size: 0.76rem; } .secondary-button--compact { min-height: 44px; min-width: 0; padding: 0 18px; font-size: 0.76rem; } .discord-button:hover, .discord-button:focus-visible { transform: translateY(-1px); filter: brightness(1.04); box-shadow: 0 18px 36px rgba(110, 127, 72, 0.45); } .content { width: 100%; margin-top: -28px; position: relative; z-index: 2; display: grid; gap: 30px; } .panel { position: relative; width: min(var(--page-shell-width), calc(100vw - (var(--page-shell-gutter) * 2))); margin: 0 auto; padding: 34px 40px 38px; border: 1px solid var(--border); border-radius: 24px; background: linear-gradient(180deg, rgba(25, 31, 23, 0.96), rgba(12, 15, 11, 0.995)); box-shadow: 0 34px 82px rgba(0, 0, 0, 0.34), inset 0 1px 0 rgba(255, 255, 255, 0.03); } .panel::before { content: ""; position: absolute; inset: 0 auto auto 32px; width: 120px; height: 1px; background: linear-gradient(90deg, rgba(210, 182, 118, 0.7), transparent); } .panel::after { content: ""; position: absolute; inset: 0; border-radius: inherit; background: radial-gradient(circle at top center, rgba(183, 201, 125, 0.07), transparent 30%), linear-gradient(180deg, rgba(255, 255, 255, 0.015), transparent 18%); pointer-events: none; } .panel__header { margin-bottom: 22px; } .panel__shell { width: 100%; margin: 0 auto; } .panel__header--servers { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; } .panel__intro { margin: 0 0 20px; max-width: 70ch; color: var(--text-soft); line-height: 1.75; } .panel__intro--tight { margin-bottom: 0; max-width: 58ch; } .panel__actions { margin-top: 18px; margin-bottom: 20px; } .panel__actions--compact { display: flex; flex-wrap: wrap; gap: 12px; } .panel--video { position: relative; backdrop-filter: blur(4px); } .video-wrapper { position: relative; width: 100%; overflow: hidden; padding: 12px; border: 1px solid rgba(159, 168, 141, 0.2); border-radius: 20px; background: linear-gradient(180deg, rgba(29, 35, 26, 0.95), rgba(10, 12, 9, 0.98)); aspect-ratio: 16 / 9; box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04), 0 24px 44px rgba(0, 0, 0, 0.3); } .video-wrapper::before { content: ""; position: absolute; inset: 0; border-radius: 20px; border: 1px solid rgba(210, 182, 118, 0.12); pointer-events: none; } .video-wrapper::after { content: ""; position: absolute; inset: 12px auto auto 12px; width: 132px; height: 28px; border-radius: 999px; background: linear-gradient(90deg, rgba(12, 16, 10, 0.88), rgba(12, 16, 10, 0.24)); pointer-events: none; } .video-wrapper iframe { width: 100%; height: 100%; border: 0; border-radius: 10px; } .servers-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 360px), 1fr)); gap: 24px; } .servers-grid--section { grid-template-columns: repeat(auto-fit, minmax(min(100%, 360px), 1fr)); align-items: stretch; } .server-card { position: relative; overflow: hidden; min-width: 0; padding: 22px; border: 1px solid rgba(159, 168, 141, 0.18); border-radius: 22px; background: linear-gradient(180deg, rgba(28, 34, 25, 0.94), rgba(15, 18, 13, 0.98)); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03), var(--shadow-soft); } .server-card::before { content: ""; position: absolute; inset: 0 0 auto; height: 1px; background: linear-gradient(90deg, rgba(210, 182, 118, 0.4), transparent 68%); pointer-events: none; } .server-card::after { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at top right, rgba(183, 201, 125, 0.06), transparent 28%); pointer-events: none; } .server-card--real { border-color: rgba(183, 201, 125, 0.24); background: linear-gradient(180deg, rgba(32, 40, 28, 0.96), rgba(14, 18, 13, 0.98)); } .server-card--reference { border-color: rgba(210, 182, 118, 0.18); background: linear-gradient(180deg, rgba(31, 28, 22, 0.94), rgba(16, 14, 11, 0.98)); } .server-card__top { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin-bottom: 14px; } .server-card__top--stats { align-items: flex-start; gap: 18px; } .server-card__identity { min-width: 0; display: grid; gap: 6px; } .server-card__eyebrow { margin: 0; color: var(--accent-warm); font-size: 0.68rem; letter-spacing: 0.14em; text-transform: uppercase; } .server-card h3 { margin: 0; font-size: 1.08rem; line-height: 1.4; max-width: none; overflow-wrap: anywhere; } .server-card__status-column { display: grid; align-content: start; justify-items: end; gap: 10px; min-width: 150px; } .server-card__population { margin: 0; padding: 10px 12px; max-width: 100%; min-width: 120px; border: 1px solid rgba(159, 168, 141, 0.18); border-radius: 14px; background: linear-gradient(180deg, rgba(12, 15, 10, 0.54), rgba(9, 11, 8, 0.34)); color: var(--accent-strong); font-size: 1rem; font-weight: 700; letter-spacing: 0.04em; text-align: center; box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03); } .server-card__actions { margin: 0; display: flex; align-items: flex-end; align-self: end; flex-wrap: wrap; gap: 8px; justify-content: flex-end; } .server-action-link { display: inline-flex; align-items: center; justify-content: center; width: auto; max-width: 100%; min-height: 42px; min-width: 136px; padding: 0 16px; border: 1px solid rgba(183, 201, 125, 0.38); border-radius: 999px; background: linear-gradient(180deg, rgba(183, 201, 125, 0.18), rgba(110, 127, 72, 0.24)); color: var(--accent-strong); font-size: 0.76rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; cursor: pointer; transition: transform 160ms ease, border-color 160ms ease, background 160ms ease, opacity 160ms ease; } .server-action-link:hover, .server-action-link:focus-visible { transform: translateY(-1px); border-color: rgba(210, 182, 118, 0.52); background: linear-gradient(180deg, rgba(210, 182, 118, 0.2), rgba(142, 160, 98, 0.26)); } .server-state { display: inline-flex; align-items: center; justify-content: center; min-width: 88px; padding: 0.38rem 0.72rem; border: 1px solid rgba(159, 168, 141, 0.22); border-radius: 999px; font-size: 0.72rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03); } .server-state--online { border-color: rgba(183, 201, 125, 0.34); background: rgba(142, 160, 98, 0.12); color: var(--accent-strong); } .server-state--offline { border-color: rgba(210, 182, 118, 0.24); background: rgba(210, 182, 118, 0.08); color: var(--accent-warm); } .server-card__quickfacts { margin-bottom: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 12px; } .server-card__bottom { display: grid; grid-template-columns: minmax(0, 280px) minmax(272px, 1fr); align-items: end; justify-content: space-between; gap: 16px; } .server-card__quickfact { min-width: 0; padding: 12px 14px; border: 1px solid rgba(159, 168, 141, 0.14); border-radius: 14px; background: linear-gradient(180deg, rgba(12, 15, 11, 0.34), rgba(8, 10, 7, 0.2)); } .server-card__quickfact p, .server-card__quickfact strong { margin: 0; } .server-card__quickfact p { margin-bottom: 6px; color: var(--muted); font-size: 0.72rem; letter-spacing: 0.08em; text-transform: uppercase; } .server-card__quickfact strong { display: block; color: var(--text); font-size: 0.92rem; line-height: 1.45; overflow-wrap: anywhere; } .server-card__quickfact-value--map { font-size: 0.98rem; line-height: 1.5; overflow-wrap: break-word; word-break: normal; hyphens: auto; } .servers-empty { margin: 0; padding: 18px; border: 1px dashed rgba(159, 168, 141, 0.24); border-radius: 18px; color: var(--muted); text-align: center; } .clans-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); gap: 20px; } .clan-card { position: relative; overflow: hidden; display: grid; gap: 18px; padding: 22px; border: 1px solid rgba(159, 168, 141, 0.18); border-radius: 22px; background: linear-gradient(180deg, rgba(28, 34, 25, 0.94), rgba(15, 18, 13, 0.98)); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03), var(--shadow-soft); } .clan-card::before { content: ""; position: absolute; inset: 0 0 auto; height: 1px; background: linear-gradient(90deg, rgba(210, 182, 118, 0.4), transparent 68%); pointer-events: none; } .clan-card__brand { display: grid; grid-template-columns: minmax(92px, 112px) minmax(0, 1fr); align-items: center; gap: 18px; } .clan-card__logo { min-height: 92px; padding: 12px; display: grid; place-items: center; border: 1px dashed rgba(183, 201, 125, 0.3); border-radius: 18px; background: linear-gradient(180deg, rgba(19, 24, 16, 0.82), rgba(10, 13, 9, 0.66)); } .clan-card__logo--wide { padding-inline: 8px; } .clan-card__logo--shield { padding-inline: 18px; } .clan-card__logo img { width: auto; height: auto; max-width: 100%; max-height: 84px; object-fit: contain; } .clan-card__logo-placeholder { width: 100%; min-height: 84px; display: grid; place-items: center; border: 1px dashed rgba(210, 182, 118, 0.22); border-radius: 14px; background: linear-gradient(180deg, rgba(28, 32, 24, 0.88), rgba(12, 15, 11, 0.7)), repeating-linear-gradient( 135deg, rgba(255, 255, 255, 0.02) 0, rgba(255, 255, 255, 0.02) 10px, transparent 10px, transparent 20px ); color: var(--accent-warm); font-size: 0.88rem; font-weight: 700; letter-spacing: 0.18em; text-transform: uppercase; } .clan-card__copy { display: grid; gap: 8px; } .clan-card__eyebrow { margin: 0; color: var(--accent-warm); font-size: 0.68rem; letter-spacing: 0.14em; text-transform: uppercase; } .clan-card__copy h3, .clan-card__copy p { margin: 0; } .clan-card__copy h3 { font-size: 1.08rem; line-height: 1.4; } .clan-card__copy p:last-child { color: var(--text-soft); line-height: 1.65; } .clan-card__link { width: fit-content; min-width: 180px; } .server-action-link--disabled { border-color: rgba(159, 168, 141, 0.18); background: linear-gradient(180deg, rgba(42, 46, 39, 0.5), rgba(19, 22, 17, 0.7)); color: var(--muted); cursor: default; pointer-events: none; } @media (max-width: 1120px) { .hero__brand { grid-template-columns: 1fr; justify-items: center; gap: 24px; } .hero__copy { justify-items: center; text-align: center; } .hero__actions { justify-content: center; } .servers-grid--section { grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); } } @media (max-width: 760px) { .servers-grid, .servers-grid--section, .clans-grid { grid-template-columns: 1fr; } } @media (max-width: 640px) { .page-shell { padding: 18px 14px 40px; } .hero__content { padding: 42px 18px 48px; } .panel { padding: 24px 16px; } .hero__content::before { inset: 24px 24px auto; height: 110px; } .hero__text { font-size: 0.98rem; } .logo-frame { min-height: 180px; padding: 16px 18px; } .logo-frame__image { max-height: 180px; } h1 { max-width: 11ch; font-size: clamp(2.2rem, 10vw, 3.2rem); } .hero__actions { width: 100%; justify-content: center; } .discord-button { width: 100%; } .secondary-button { width: 100%; } .content { margin-top: 18px; gap: 18px; } .panel__header--servers, .server-card__top { flex-direction: column; align-items: flex-start; } .server-state { min-width: 0; } .server-card__status-column { width: 100%; justify-items: start; min-width: 0; } .server-card__population { min-width: 0; } .server-card__actions { justify-content: flex-start; } .server-card__quickfacts { grid-template-columns: 1fr; } .server-card__bottom { grid-template-columns: 1fr; } .clan-card__brand { grid-template-columns: 1fr; justify-items: start; } .clan-card__logo { width: 100%; } .clan-card__link { width: 100%; } .panel::before { left: 16px; } .video-wrapper { padding: 6px; } .servers-grid { grid-template-columns: 1fr; } }