:root {
  --bg: #070710;
  --bg-2: #0b0a17;
  --surface: rgba(18, 18, 32, .74);
  --surface-2: rgba(28, 26, 47, .82);
  --border: rgba(255,255,255,.10);
  --text: #fbfbff;
  --muted: #b5b6c9;
  --accent: #a855f7;
  --accent-2: #5de0c0;
  --pink: #ff4fb7;
  --cyan: #57dcff;
  --blue: #6d7dff;
  --yellow: #ffc85a;
  --danger: #ff6b7a;
  --shadow: 0 24px 80px rgba(0,0,0,.42);
  --pride-gradient: linear-gradient(90deg,#ff4c8b 0%,#ff8d5b 18%,#ffd45e 33%,#63e38c 50%,#54d7ff 67%,#7278ff 83%,#d36eff 100%);
  --neon-gradient: linear-gradient(135deg,#ff49bc 0%,#9f7cff 45%,#54d8ff 100%);
}
* { box-sizing: border-box; }
html { scroll-behavior:smooth; }
body {
  margin:0;
  min-height:100vh;
  overflow-x:hidden;
  background:
    radial-gradient(circle at 8% 10%, rgba(255,77,181,.12), transparent 25%),
    radial-gradient(circle at 88% 12%, rgba(82,216,255,.12), transparent 22%),
    radial-gradient(circle at 50% 40%, rgba(160,110,255,.10), transparent 28%),
    linear-gradient(180deg,#070710 0%,#090914 50%,#06070d 100%);
  color:var(--text);
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height:1.6;
}
body::before {
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  background-image:radial-gradient(rgba(255,255,255,.08) .55px,transparent .55px);
  background-size:28px 28px;
  opacity:.06;
  z-index:-2;
}
body::after {
  content:"";
  position:fixed;
  left:50%;
  top:0;
  width:1100px;
  height:240px;
  transform:translateX(-50%);
  background:linear-gradient(90deg,rgba(255,79,183,.12),rgba(117,119,255,.10),rgba(87,220,255,.12));
  filter:blur(70px);
  pointer-events:none;
  z-index:-1;
}
img { max-width:100%; }
a { color:inherit; text-decoration:none; }
.ambient-glow { position:fixed; border-radius:999px; filter:blur(90px); opacity:.26; pointer-events:none; z-index:-1; }
.ambient-glow-a { width:380px; height:380px; background:#ff4fb7; left:-160px; top:300px; }
.ambient-glow-b { width:420px; height:420px; background:#6c63ff; right:-180px; top:100px; }
.ambient-glow-c { width:320px; height:320px; background:#57dcff; right:14%; bottom:-180px; }
.site-header {
  position:sticky;
  top:0;
  z-index:20;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  padding:11px 4vw;
  background:rgba(8,8,18,.78);
  backdrop-filter:blur(22px);
  border-bottom:1px solid rgba(255,255,255,.08);
  box-shadow:0 10px 30px rgba(0,0,0,.22);
}
.site-header::after { content:""; position:absolute; left:0; right:0; bottom:-1px; height:2px; background:var(--pride-gradient); opacity:.65; }
.brand { display:flex; align-items:center; gap:12px; min-width:220px; }
.brand-logo { width:190px; height:auto; display:block; filter:drop-shadow(0 0 16px rgba(255,79,183,.24)); transition:transform .2s ease, filter .2s ease; }
.brand-logo:hover { transform:translateY(-1px) scale(1.01); filter:drop-shadow(0 0 22px rgba(87,220,255,.30)); }
.pride-strip { position:absolute; inset:0 0 auto 0; height:3px; display:flex; z-index:3; }
.pride-strip span { flex:1; background:var(--pride-gradient); }
nav { display:flex; flex-wrap:wrap; gap:7px; align-items:center; justify-content:flex-end; }
nav a { padding:9px 12px; border-radius:11px; color:#d9d8e8; font-size:14px; border:1px solid transparent; transition:all .2s ease; }
nav a:hover, nav a.active { background:rgba(255,255,255,.06); color:#fff; border-color:rgba(255,255,255,.08); box-shadow:0 0 18px rgba(168,85,247,.12); }
nav a.cta { background:var(--neon-gradient); color:#fff; box-shadow:0 0 25px rgba(255,79,183,.24),0 0 50px rgba(84,216,255,.10); }
.page-shell { width:min(1180px,92vw); margin:0 auto; padding:56px 0 72px; }
.hero { display:grid; grid-template-columns:1.34fr .86fr; gap:30px; align-items:stretch; padding:24px 0 54px; position:relative; }
.hero-main { position:relative; padding:16px 0 10px; }
.hero-main::before { content:""; position:absolute; inset:-40px auto auto -80px; width:520px; height:340px; background:radial-gradient(circle at 40% 45%,rgba(255,79,183,.18),transparent 68%); filter:blur(15px); pointer-events:none; }
.hero-logo-wrap { position:relative; z-index:1; margin-bottom:10px; }
.hero-logo { width:min(430px,86%); filter:drop-shadow(0 0 24px rgba(255,79,183,.22)) drop-shadow(0 0 30px rgba(87,220,255,.14)); }
.eyebrow { color:#d8c9ff; font-size:12px; font-weight:900; letter-spacing:.15em; text-transform:uppercase; text-shadow:0 0 22px rgba(255,79,183,.18); }
.hero h1 { margin:10px 0 16px; font-size:clamp(48px,7vw,86px); line-height:.95; letter-spacing:-.05em; position:relative; z-index:1; }
.hero h1 span { background:var(--pride-gradient); -webkit-background-clip:text; background-clip:text; color:transparent; text-shadow:0 0 36px rgba(114,120,255,.12); }
.hero p { max-width:650px; color:var(--muted); font-size:18px; position:relative; z-index:1; }
.hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:26px; position:relative; z-index:1; }
.button { border:1px solid transparent; cursor:pointer; display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:12px 16px; border-radius:13px; font-weight:800; font-size:14px; transition:transform .18s ease,box-shadow .18s ease,background .18s ease; }
.button:hover { transform:translateY(-1px); }
.button.primary { background:var(--neon-gradient); color:#fff; }
.neon-button { box-shadow:0 0 22px rgba(255,79,183,.22),0 0 36px rgba(87,220,255,.10); }
.neon-button:hover { box-shadow:0 0 30px rgba(255,79,183,.34),0 0 50px rgba(87,220,255,.18); }
.button.ghost { background:rgba(255,255,255,.035); color:#fff; border-color:rgba(255,255,255,.11); }
.neon-ghost:hover { border-color:rgba(87,220,255,.32); box-shadow:0 0 24px rgba(87,220,255,.10); }
.hero-tags { display:flex; flex-wrap:wrap; gap:8px; margin-top:18px; position:relative; z-index:1; }
.hero-tags span { display:inline-flex; align-items:center; gap:6px; padding:7px 10px; border-radius:999px; color:#e9e9f8; font-size:12px; border:1px solid rgba(255,255,255,.08); background:linear-gradient(135deg,rgba(255,79,183,.08),rgba(87,220,255,.05)); box-shadow:0 0 18px rgba(132,112,255,.06); }
.hero-card { padding:26px; border:1px solid rgba(255,255,255,.11); background:linear-gradient(160deg,rgba(255,255,255,.07),rgba(20,18,38,.48)); border-radius:26px; box-shadow:var(--shadow); align-self:end; position:relative; overflow:hidden; }
.hero-card::before { content:""; position:absolute; inset:0; background:linear-gradient(120deg,rgba(255,79,183,.07),transparent 38%,rgba(87,220,255,.08)); pointer-events:none; }
.hero-card-glow { position:absolute; width:220px; height:220px; right:-70px; top:-80px; border-radius:50%; background:#8e6cff; filter:blur(70px); opacity:.20; }
.hero-card-top { display:flex; gap:14px; align-items:center; position:relative; z-index:1; }
.status-dot { width:11px; height:11px; border-radius:999px; background:var(--accent-2); box-shadow:0 0 20px rgba(93,224,192,.65),0 0 32px rgba(93,224,192,.28); }
.hero-card strong,.hero-card span { display:block; }.hero-card span { color:var(--muted); font-size:13px; }
.hero-mini-brand { margin-top:18px; color:#d6d4eb; font-size:11px; letter-spacing:.16em; font-weight:800; opacity:.84; position:relative; z-index:1; }
.hero-stats { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:18px; position:relative; z-index:1; }
.hero-stats>div { padding:16px; background:rgba(255,255,255,.045); border:1px solid rgba(255,255,255,.07); border-radius:17px; position:relative; overflow:hidden; }
.hero-stats>div::before { content:""; position:absolute; inset:0 auto auto 0; width:100%; height:3px; background:var(--neon-gradient); opacity:.9; }
.hero-stats strong { font-size:25px; }.hero-stats span,.hero-stats small { display:block; }.hero-stats span { margin-top:2px; color:#eeeffa; }.hero-stats small { color:#9598ad; font-size:11px; margin-top:5px; }
.stat-blue::after,.stat-pink::after,.stat-cyan::after,.stat-rainbow::after { content:""; position:absolute; width:100px; height:100px; border-radius:999px; filter:blur(42px); right:-45px; bottom:-55px; opacity:.24; pointer-events:none; }
.stat-blue::after { background:#5e8dff; }.stat-pink::after { background:#ff4fb7; }.stat-cyan::after { background:#57dcff; }.stat-rainbow::after { background:linear-gradient(135deg,#ff4fb7,#57dcff,#7d78ff); }
.pride-banner { display:flex; align-items:center; justify-content:space-between; gap:24px; margin:10px 0 18px; padding:24px 26px; border:1px solid rgba(255,255,255,.10); border-radius:22px; background:linear-gradient(135deg,rgba(255,77,103,.10),rgba(83,181,255,.06),rgba(140,108,255,.12)); box-shadow:var(--shadow); position:relative; overflow:hidden; }
.pride-banner::before { content:""; position:absolute; inset:0 0 auto 0; height:4px; background:var(--pride-gradient); }
.pride-banner::after { content:""; position:absolute; width:280px; height:160px; right:-80px; top:-60px; border-radius:50%; background:rgba(255,79,183,.14); filter:blur(45px); }
.pride-banner h2 { margin:5px 0 8px; font-size:30px; }.pride-banner p { margin:0; color:var(--muted); max-width:760px; }.neon-panel { box-shadow:0 0 0 1px rgba(255,255,255,.01),0 18px 60px rgba(0,0,0,.3),0 0 60px rgba(112,104,255,.06); }
.section-head { display:flex; justify-content:space-between; align-items:end; gap:20px; margin:34px 0 18px; }.section-head h2,.page-intro h1,.admin-head h1 { margin:5px 0 0; font-size:40px; letter-spacing:-.03em; }.section-head>a { color:#cbb6ff; }
.news-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }.news-card,.empty-card,.person-card,.person-large,.form-card,.server-status-card,.rule-card,.auth-card,.admin-card,.news-row { border:1px solid rgba(255,255,255,.09); background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.02)); border-radius:20px; box-shadow:var(--shadow); }.news-card { padding:20px; position:relative; overflow:hidden; }.news-card::before { content:""; position:absolute; top:0; left:0; right:0; height:3px; background:var(--pride-gradient); }.news-card h3 { margin:12px 0 8px; font-size:19px; }.news-card p,.person-card p,.person-large p { color:var(--muted); }.news-card>a { color:#c5bcff; font-weight:650; }.news-meta { display:flex; justify-content:space-between; gap:14px; color:var(--muted); font-size:12px; }
.team-mini-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }.person-card { display:flex; gap:14px; padding:18px; align-items:center; position:relative; overflow:hidden; }.person-card::before { content:""; position:absolute; inset:auto auto 0 0; width:100%; height:2px; background:var(--pride-gradient); opacity:.5; }.person-card img,.avatar-placeholder { width:52px; height:52px; border-radius:16px; object-fit:cover; }.avatar-placeholder,.avatar-large { display:grid; place-items:center; background:linear-gradient(135deg,#2b2e3b,#1a1d27); font-weight:850; }.person-card h3 { margin:2px 0; }.person-card .role,.person-large .role { color:#c7aaff; font-size:12px; font-weight:750; text-transform:uppercase; letter-spacing:.08em; }
.page-intro { max-width:750px; margin-bottom:36px; }.page-intro h1 { font-size:56px; }.page-intro p { color:var(--muted); font-size:17px; }
.news-list { display:grid; gap:14px; }.news-row { display:grid; grid-template-columns:90px 1fr 220px; gap:20px; padding:18px; align-items:center; }.news-date { text-align:center; padding:12px; border-radius:15px; background:rgba(255,255,255,.03); }.news-date strong,.news-date span { display:block; }.news-date strong { font-size:22px; }.news-date span { color:var(--muted); font-size:12px; }.news-body p { margin:10px 0; color:#d5d8df; white-space:pre-wrap; }.news-body a { color:#c5bcff; }.news-image { width:100%; max-height:150px; object-fit:cover; border-radius:14px; }
.team-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }.person-large { padding:24px; }.person-large img,.avatar-large { width:88px; height:88px; border-radius:24px; object-fit:cover; margin-bottom:18px; }.person-large h2 { margin:6px 0; }
.form-card { padding:26px; display:grid; gap:20px; }.form-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:16px; }label { display:grid; gap:7px; color:#dfe2e8; font-weight:650; font-size:14px; }input,textarea,select { width:100%; background:#0c0e13; color:#fff; border:1px solid rgba(255,255,255,.10); border-radius:11px; padding:12px; font:inherit; outline:none; }input:focus,textarea:focus,select:focus { border-color:rgba(168,85,247,.72); box-shadow:0 0 0 3px rgba(168,85,247,.10),0 0 20px rgba(87,220,255,.05); }.alert { padding:14px 16px; border-radius:14px; margin-bottom:18px; }.alert.success { background:rgba(93,224,192,.12); border:1px solid rgba(93,224,192,.25); }.alert.error { background:rgba(255,107,122,.1); border:1px solid rgba(255,107,122,.25); }
.status-overview { display:grid; grid-template-columns:repeat(2,1fr); gap:16px; }.server-status-card { padding:20px; }.status-line { display:flex; gap:10px; align-items:center; }.status-pill { width:10px; height:10px; border-radius:99px; background:var(--danger); }.status-pill.online { background:var(--accent-2); box-shadow:0 0 15px rgba(93,224,192,.55); }.muted { color:var(--muted); }.metric-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin-top:18px; }.metric-grid>div { padding:13px; border-radius:13px; background:rgba(255,255,255,.03); }.metric-grid span,.metric-grid strong { display:block; }.metric-grid span { color:var(--muted); font-size:12px; }.status-note { margin-top:14px; color:var(--muted); font-size:12px; }
.rules-list { display:grid; gap:14px; }.rule-card { display:grid; grid-template-columns:70px 1fr; gap:20px; padding:22px; }.rule-number { font-size:30px; font-weight:900; color:#c09cff; text-shadow:0 0 24px rgba(168,85,247,.20); }.rule-card h2 { margin:0 0 8px; }.rule-card p { margin:0; color:var(--muted); white-space:pre-wrap; }
.auth-wrap { min-height:55vh; display:grid; place-items:center; }.auth-card { width:min(460px,100%); padding:26px; display:grid; gap:16px; }.auth-card h1 { margin:0; font-size:34px; }
.admin-head { display:flex; justify-content:space-between; align-items:flex-end; gap:20px; margin-bottom:24px; }.admin-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:16px; }.admin-card { padding:20px; }.admin-card-wide { grid-column:1/-1; }.admin-card-head { margin-bottom:14px; }.admin-card-head h2 { margin:0; }.stack-actions,.compact-form { display:grid; gap:10px; }.compact-form textarea { resize:vertical; }.admin-list { margin-top:16px; display:grid; gap:9px; }.admin-list-row { display:flex; justify-content:space-between; gap:12px; padding:10px 0; border-top:1px solid rgba(255,255,255,.09); }.danger-link { border:0; background:none; color:var(--danger); cursor:pointer; }.application-list { display:grid; gap:12px; }.application-row { display:grid; grid-template-columns:1fr auto; gap:18px; padding:15px; border-top:1px solid rgba(255,255,255,.09); }.application-row strong,.application-row span { display:block; }.application-row p { margin:8px 0 0; color:#d4d7de; white-space:pre-wrap; }
.empty-card { padding:22px; }.empty-card p { color:var(--muted); }.footer { width:min(1180px,92vw); margin:0 auto; padding:24px 0 40px; border-top:1px solid rgba(255,255,255,.09); display:flex; justify-content:space-between; gap:20px; color:var(--muted); }.footer p { margin:5px 0 0; }.footer-links { display:flex; gap:16px; flex-wrap:wrap; align-content:flex-start; }
code { background:rgba(255,255,255,.06); padding:2px 6px; border-radius:7px; }
.admin-actions-inline { display:flex; flex-wrap:wrap; gap:10px; align-items:center; }
.admin-edit-block { display:grid; gap:10px; padding:12px 0; border-top:1px solid rgba(255,255,255,.09); }
.admin-edit-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:10px; }
.admin-list-row small { display:block; margin-top:3px; color:var(--muted); }
.checkline { display:flex; align-items:center; gap:8px; font-weight:500; }.checkline input { width:auto; }
.badge { display:inline-flex; align-items:center; gap:5px; padding:7px 9px; background:rgba(93,224,192,.1); color:var(--accent-2); border-radius:999px; font-size:12px; font-weight:800; }
.application-area-hints { display:grid; gap:8px; }.application-area-hints>div { padding:12px; border:1px solid rgba(255,255,255,.09); border-radius:12px; background:rgba(255,255,255,.02); }.application-area-hints strong, .application-area-hints span { display:block; }.application-area-hints span { color:var(--muted); font-size:13px; margin-top:2px; }
.news-card .news-image { margin-top:10px; width:100%; max-height:200px; object-fit:cover; border-radius:14px; }
.csd-source-note { min-width:210px; text-align:right; color:#d7d9df; font-size:13px; }.csd-source-note span { color:var(--muted); }
.csd-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }.csd-grid-wide { grid-template-columns:repeat(3,1fr); }
.csd-card { position:relative; overflow:hidden; padding:20px; border:1px solid rgba(255,255,255,.09); background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.02)); border-radius:20px; box-shadow:var(--shadow); }.csd-card::before { content:""; position:absolute; top:0; left:0; right:0; height:4px; background:var(--pride-gradient); opacity:.9; }.csd-card.featured { background:linear-gradient(145deg,rgba(255,79,183,.12),rgba(83,181,255,.08),rgba(140,108,255,.12)); }.csd-card-top { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:14px; }.csd-card-top time { color:var(--muted); font-size:12px; text-align:right; }.csd-badge { display:inline-flex; align-items:center; gap:6px; padding:7px 9px; border-radius:999px; background:rgba(255,255,255,.06); color:#fff; font-size:11px; font-weight:850; letter-spacing:.06em; }.csd-card h3 { margin:4px 0 8px; font-size:20px; }.csd-city { margin:0 0 12px; color:var(--muted); }.csd-card a { color:#c5bcff; font-weight:750; }.csd-intro a, .pride-banner a { color:#d2cbff; }
@media (max-width: 1100px) { .csd-grid { grid-template-columns:repeat(2,1fr); } .csd-grid-wide { grid-template-columns:repeat(2,1fr); } }
@media (max-width: 950px) { .hero,.news-grid,.team-mini-grid,.team-grid,.status-overview,.admin-grid { grid-template-columns:1fr 1fr; }.news-row { grid-template-columns:72px 1fr; }.news-image { grid-column:1/-1; max-height:240px; }.hero { grid-template-columns:1fr; }.admin-card-wide { grid-column:auto; } }
@media (max-width: 720px) {
  .site-header { align-items:flex-start; flex-direction:column; }
  .brand { width:100%; min-width:0; justify-content:center; }.brand-logo { width:min(220px,72vw); }
  .page-shell { padding-top:30px; }
  .page-intro h1,.section-head h2,.admin-head h1 { font-size:38px; }
  .news-grid,.team-mini-grid,.team-grid,.status-overview,.admin-grid,.form-grid { grid-template-columns:1fr; }
  .metric-grid { grid-template-columns:1fr 1fr; }
  .application-row,.footer,.admin-head { grid-template-columns:1fr; display:grid; }
  .footer { justify-content:initial; }
  .hero-logo { width:min(360px,100%); }
  .hero h1 { font-size:52px; }
  .pride-banner { display:grid; }
  .csd-source-note { text-align:left; min-width:0; }
  .csd-grid,.csd-grid-wide { grid-template-columns:1fr; }
  nav { width:100%; justify-content:center; }
}
