:root {
  --red: #ed1c2a;
  --red2: #ff4050;
  --red-dark: #8f0712;
  --ink: #090808;
  --panel: #111010;
  --panel2: #181515;
  --line: rgba(255,255,255,.1);
  --muted: #a39a9b;
}

html { scroll-behavior: smooth; max-width:100%; overflow-x:clip; }
body { background:#080707; color:#f7f3f3; max-width:100%; overflow-x:clip; }
body::before {
  content:""; position:fixed; inset:0; pointer-events:none; z-index:-1;
  background-image:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);
  background-size:32px 32px;
}
.aurora { background:radial-gradient(circle at 15% 20%,rgba(237,28,42,.14),transparent 35%),radial-gradient(circle at 85% 65%,rgba(127,4,14,.12),transparent 36%) !important; }
.hidden { display:none !important; }

#navbar { background:rgba(8,7,7,.86); border-bottom:1px solid rgba(255,255,255,.08); backdrop-filter:blur(18px); }
.nav-inner { max-width:1280px; }
.infinity-wordmark { display:flex; align-items:center; gap:10px; color:#fff; font-family:'Space Mono',monospace; font-size:14px; font-weight:700; letter-spacing:.08em; }
.infinity-wordmark b { color:var(--red2); }
.pixel-mark { width:34px; height:34px; display:grid; place-items:center; color:#fff; background:var(--red); box-shadow:4px 4px 0 #66050c; font-family:Arial,sans-serif; font-size:27px; line-height:1; }
.nav-logo.infinity-wordmark::after { display:none; }
.nav-links { align-items:center; }
.nav-links a { font-size:11px; letter-spacing:.08em; }
.discord-auth-link { color:#fff !important; border-left:1px solid var(--line); padding-left:18px !important; }
.discord-user { border:1px solid rgba(255,255,255,.15); background:#171414; color:#fff; font:700 10px 'Space Mono',monospace; padding:9px 12px; cursor:pointer; max-width:150px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.nav-toggle { display:none; border:1px solid var(--line); background:transparent; color:#fff; padding:9px 12px; font:700 10px 'Space Mono',monospace; }

.infinity-home { overflow-x:hidden; }
.infinity-hero { min-height:780px; padding:160px max(6vw,40px) 110px; max-width:1500px; margin:0 auto; display:grid; grid-template-columns:minmax(0,.9fr) minmax(460px,1.1fr); gap:64px; align-items:center; position:relative; }
.hero-grid-floor { position:absolute; left:-15vw; right:-15vw; bottom:-10px; height:45%; z-index:-1; opacity:.22; transform:perspective(500px) rotateX(62deg); transform-origin:bottom; background-image:linear-gradient(var(--red) 1px,transparent 1px),linear-gradient(90deg,var(--red) 1px,transparent 1px); background-size:56px 56px; mask-image:linear-gradient(to bottom,transparent,#000); }
.hero-copy { position:relative; z-index:2; }
.hero-tag { color:#d7cfd0; font:700 11px 'Space Mono',monospace; letter-spacing:.16em; text-transform:uppercase; display:flex; align-items:center; gap:12px; }
.hero-tag .line { width:34px; height:2px; background:var(--red); box-shadow:6px 0 0 rgba(237,28,42,.3); }
.infinity-hero h1 { margin:24px 0 22px; font:400 clamp(66px,7vw,112px)/.82 'Bebas Neue',sans-serif; letter-spacing:-.025em; text-transform:uppercase; text-shadow:0 5px 0 #000; }
.infinity-hero h1 span { color:#fff; }
.infinity-hero h1 em { color:var(--red); font-style:normal; -webkit-text-stroke:1px #ff4d59; }
.hero-lead { max-width:670px; color:#b9b0b1; font-size:17px; line-height:1.75; }
.infinity-actions { margin:34px 0 28px; justify-content:flex-start; }
.btn-primary,.btn-ghost { border-radius:0 !important; font-family:'Space Mono',monospace !important; text-transform:uppercase; letter-spacing:.08em; font-size:11px !important; font-weight:700 !important; }
.btn-primary { box-shadow:5px 5px 0 #69060d; }
.hero-status { display:inline-grid; grid-template-columns:auto auto; column-gap:10px; row-gap:2px; align-items:center; border:1px solid var(--line); background:rgba(12,10,10,.78); padding:12px 16px; }
.hero-status strong { font:700 10px 'Space Mono',monospace; text-transform:uppercase; letter-spacing:.1em; }
.hero-status > span:last-child { grid-column:2; color:var(--muted); font-size:11px; }
.status-lamp { width:9px; height:9px; border-radius:50%; background:#777; grid-row:1/3; box-shadow:0 0 12px currentColor; }
.hero-status.online .status-lamp { background:#49e58d; color:#49e58d; }

.hero-logo-card { position:relative; isolation:isolate; border:1px solid rgba(255,255,255,.13); background:#090707; box-shadow:12px 14px 0 rgba(76,5,10,.55),0 0 90px rgba(237,28,42,.18); transform:rotate(1deg); }
.hero-logo-card::before { content:""; position:absolute; inset:10px; z-index:2; pointer-events:none; border:1px solid rgba(255,255,255,.08); }
.hero-logo-card img { position:relative; z-index:1; display:block; width:100%; aspect-ratio:3/2; object-fit:cover; }
.hero-logo-glow { position:absolute; z-index:-1; inset:12% 5% -6%; background:rgba(237,28,42,.45); filter:blur(70px); opacity:.55; }
.hero-logo-meta { position:absolute; z-index:3; left:24px; right:24px; bottom:22px; display:flex; justify-content:space-between; align-items:center; gap:20px; padding:12px 14px; border:1px solid rgba(255,255,255,.1); background:rgba(7,5,5,.78); backdrop-filter:blur(12px); text-transform:uppercase; }
.hero-logo-meta span { color:#fff; font:700 10px 'Space Mono',monospace; letter-spacing:.13em; }
.hero-logo-meta strong { color:var(--red2); font:700 9px 'Space Mono',monospace; letter-spacing:.13em; }

.server-strip,.community-section,.portal-section { max-width:1280px; margin:0 auto; padding:100px 32px; }
.section-kicker { color:var(--red2); font:700 10px 'Space Mono',monospace; letter-spacing:.2em; text-transform:uppercase; margin-bottom:15px; }
.server-card { display:grid; grid-template-columns:1.25fr 1fr auto; align-items:center; gap:45px; padding:48px; border:1px solid var(--line); background:linear-gradient(110deg,rgba(237,28,42,.12),rgba(20,17,17,.92) 32%,#0f0d0d); box-shadow:8px 8px 0 rgba(96,7,14,.35); }
.server-label { color:var(--red2); font:700 10px 'Space Mono',monospace; letter-spacing:.16em; text-transform:uppercase; }
.server-card h2,.section-heading h2,.portal-callout h2,.discord-section h2 { margin:8px 0 12px; font:400 clamp(40px,5vw,68px)/1 'Bebas Neue',sans-serif; letter-spacing:.01em; }
.server-card p,.section-heading p,.portal-callout p,.discord-section p { color:var(--muted); line-height:1.7; }
.server-readout { display:grid; grid-template-columns:repeat(3,1fr); border-left:1px solid var(--line); }
.server-readout div { padding:8px 22px; border-right:1px solid var(--line); }
.server-readout strong { display:block; color:#fff; font:400 28px 'Bebas Neue',sans-serif; }
.server-readout span { display:block; color:#8f8788; font:9px 'Space Mono',monospace; text-transform:uppercase; white-space:nowrap; }
.join-steps { display:grid; grid-template-columns:repeat(3,1fr); margin-top:18px; border:1px solid var(--line); background:#0e0c0c; }
.join-steps article { min-height:120px; display:flex; align-items:flex-start; gap:18px; padding:27px 28px; border-right:1px solid var(--line); }
.join-steps article:last-child { border-right:0; }
.join-steps article > span { flex:0 0 auto; color:var(--red2); font:700 10px 'Space Mono',monospace; }
.join-steps strong { display:block; margin-bottom:7px; color:#fff; font:400 22px 'Bebas Neue',sans-serif; letter-spacing:.04em; }
.join-steps p { color:var(--muted); font-size:12px; line-height:1.55; }
.section-heading { max-width:680px; margin-bottom:45px; }
.feature-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.feature-card { position:relative; min-height:310px; padding:36px; overflow:hidden; border:1px solid var(--line); background:linear-gradient(150deg,#171414,#0d0c0c); transition:.25s transform,.25s border-color; }
.feature-card:hover { transform:translateY(-6px); border-color:rgba(237,28,42,.55); }
.feature-number { position:absolute; top:20px; right:22px; color:#5f5556; font:700 10px 'Space Mono',monospace; }
.feature-icon { width:58px; height:58px; display:grid; place-items:center; margin-bottom:65px; background:#290d10; border:1px solid #5d171d; color:var(--red2); font-size:25px; box-shadow:5px 5px 0 #060505; }
.feature-card h3 { margin:0 0 13px; font:400 28px 'Bebas Neue',sans-serif; letter-spacing:.04em; }
.feature-card p { color:var(--muted); line-height:1.7; font-size:13px; }
.portal-callout { display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:center; padding:65px; border:1px solid var(--line); background:#100e0e; position:relative; }
.portal-callout::before { content:""; position:absolute; top:0; left:0; width:120px; height:4px; background:var(--red); }
.portal-links { border-top:1px solid var(--line); }
.portal-links a { display:flex; justify-content:space-between; padding:20px 5px; border-bottom:1px solid var(--line); color:#c9c1c2; font:12px 'Space Mono',monospace; transition:.2s color,.2s padding; }
.portal-links a:hover { color:#fff; padding-left:12px; }
.portal-links b { color:var(--red2); font-size:10px; text-transform:uppercase; }
.discord-section { position:relative; overflow:hidden; text-align:center; padding:130px 24px 145px; border-top:1px solid var(--line); background:linear-gradient(#0b0909,rgba(72,6,12,.38)); }
.discord-section p { max-width:580px; margin:0 auto 30px; }
.discord-glow { position:absolute; width:500px;height:240px;left:50%;bottom:-180px;transform:translateX(-50%);background:var(--red);filter:blur(100px);opacity:.2; }
.infinity-footer { min-height:90px; display:flex; align-items:center; justify-content:space-between; gap:22px; padding:22px max(5vw,28px); border-top:1px solid var(--line); color:#70696a; font:9px 'Space Mono',monospace; text-transform:uppercase; letter-spacing:.08em; }
.infinity-footer a:last-child { color:#9a9091; }

.auth-popover { position:fixed; z-index:9000; top:76px; right:max(5vw,24px); width:245px; display:flex; flex-direction:column; gap:5px; padding:18px; border:1px solid var(--line); background:#141111; box-shadow:0 16px 40px #000; }
.auth-popover strong { font:700 12px 'Space Mono',monospace; }.auth-popover span { color:var(--muted); font-size:11px; }.auth-popover button { margin-top:10px; padding:8px; border:1px solid var(--line); background:#21191a;color:#fff;font:700 9px 'Space Mono',monospace;text-transform:uppercase;cursor:pointer; }
.identity-card { display:flex; align-items:center; gap:15px; margin:0 0 22px; padding:18px; border:1px solid rgba(237,28,42,.32); background:rgba(237,28,42,.07); }
.identity-card.connected { border-color:rgba(73,229,141,.35); background:rgba(73,229,141,.06); }
.identity-icon { flex:0 0 40px; width:40px;height:40px;display:grid;place-items:center;background:var(--red);color:#fff;font-size:21px;box-shadow:4px 4px 0 #63070e; }
.identity-card.connected .identity-icon { background:#208e56;box-shadow:4px 4px 0 #0c3f25; }
.identity-card div { min-width:0;flex:1; }.identity-card strong,.identity-card span { display:block; }.identity-card strong { font:700 12px 'Space Mono',monospace; }.identity-card div span { margin-top:5px;color:var(--muted);font-size:11px;line-height:1.5; }
.identity-card a,.identity-card button { border:0;background:var(--red);color:#fff;padding:10px 13px;font:700 9px 'Space Mono',monospace;text-transform:uppercase;white-space:nowrap;cursor:pointer; }
.identity-card.connected button { background:#262021; }
[data-discord-field][readonly] { color:#aef0ca; border-color:rgba(73,229,141,.35); cursor:not-allowed; }
[data-auth-required]:disabled { opacity:.45; cursor:not-allowed; filter:grayscale(.5); }

/* Re-skin every copied portal without changing its layout or logic. */
.portal-wrap,.apply-wrap { padding-top:130px; }
.glow-panel,.app-card,.ticket-card,.panel-shell .stile { border-radius:0 !important; }
.portal-title,.apply-title { text-transform:uppercase; text-shadow:4px 4px 0 #1e0508; }
.portal-eyebrow,.q-num,.red { color:var(--red2) !important; }
.q-input,.q-textarea,.q-select { border-radius:0 !important; background:#0d0b0b !important; }
.form-btn,.back-btn,.ptab,.chat-send { border-radius:0 !important; }
.live-pill { border-radius:0 !important; }

@media (max-width:1000px) {
  .infinity-hero { grid-template-columns:1fr; padding-top:145px; }
  .hero-logo-card { width:min(100%,760px); margin:0 auto; order:-1; }
  .server-card { grid-template-columns:1fr; }.server-readout { border-left:0;border-top:1px solid var(--line);padding-top:18px; }
  .portal-callout { grid-template-columns:1fr;gap:35px; }
}
@media (max-width:760px) {
  .nav-toggle { display:block; }.nav-links { display:none;position:absolute;top:68px;left:0;right:0;flex-direction:column;align-items:stretch;background:#0d0b0b;border-bottom:1px solid var(--line);padding:16px 22px; }.nav-links.open { display:flex; }.nav-links a,.discord-user { max-width:none;padding:13px !important;text-align:left; }.discord-auth-link { border-left:0; }
  .infinity-hero { padding:110px 22px 80px; min-height:0;gap:42px; }.hero-logo-card { transform:none; }.hero-logo-meta { left:12px;right:12px;bottom:11px;padding:9px 10px; }.hero-logo-meta strong { display:none; }.infinity-hero h1 { font-size:clamp(56px,19vw,84px); }.hero-lead { font-size:14px; }.infinity-actions { flex-direction:column;align-items:stretch; }.infinity-actions a { text-align:center; }
  .server-strip,.community-section,.portal-section { padding:75px 20px; }.server-card,.portal-callout { padding:28px 22px; }.server-readout div { padding:8px 10px; }.server-readout span { font-size:7px; }.feature-grid { grid-template-columns:1fr; }.feature-card { min-height:240px; }.feature-icon { margin-bottom:36px; }
  .join-steps { grid-template-columns:1fr; }.join-steps article { min-height:0;border-right:0;border-bottom:1px solid var(--line); }.join-steps article:last-child { border-bottom:0; }
  .identity-card { align-items:flex-start;flex-wrap:wrap; }.identity-card a,.identity-card button { margin-left:55px; }
  .infinity-footer { flex-direction:column;text-align:center;padding:32px 20px; }
}
@media (prefers-reduced-motion:reduce) { html{scroll-behavior:auto}.feature-card{transition:none} }
