/* =========================================================================
   FinalBreach – Theme
   Farben aus dem Logo: Glut-Orange, Feuerrot, Rost, verbrannter Stahl,
   rissiger Beton, Creme-Schrift des Slogans.
   ========================================================================= */
:root {
  --bg: #0a0908;
  --bg2: #100e0c;
  --panel: #171311;
  --panel2: #1f1a16;
  --line: #2d2520;
  --line2: #44372d;
  --text: #f1e8dc;
  --muted: #a8998a;
  --dim: #6f6358;

  --fire: #ff5b1f;
  --fire2: #ff9a3c;
  --ember: #e0301a;
  --blood: #8f1610;
  --rust: #a8471f;
  --cream: #f3d3a4;
  --steel: #7d7670;

  --ok: #3ddc84;
  --warn: #ffb020;
  --bad: #ff4433;

  --grad-fire: linear-gradient(135deg, color-mix(in srgb, var(--fire2) 80%, #fff) 0%, var(--fire) 40%, var(--ember) 80%, color-mix(in srgb, var(--ember) 75%, #000) 100%);
  --grad-panel: linear-gradient(180deg, rgba(255, 255, 255, .025), rgba(255, 255, 255, 0) 60%), var(--panel);
  --glow: 0 0 0 1px color-mix(in srgb, var(--fire) 45%, transparent), 0 10px 40px -10px color-mix(in srgb, var(--fire) 45%, transparent);

  --f-display: 'Black Ops One', Impact, 'Arial Black', sans-serif;
  --f-ui: 'Rajdhani', 'Arial Narrow', sans-serif;
  --f-body: 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;

  --cut: 12px;
  --chamfer: polygon(var(--cut) 0, 100% 0, 100% calc(100% - var(--cut)), calc(100% - var(--cut)) 100%, 0 100%, 0 var(--cut));
  --hdr: 74px;
  --maxw: 1240px;
  --ease: cubic-bezier(.2, .7, .2, 1);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  background: var(--bg);
  color: var(--text);
  font: 400 16px/1.65 var(--f-body);
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
/* Körnung über allem */
body::before {
  content: ''; position: fixed; inset: 0; pointer-events: none; z-index: 100; opacity: .06; mix-blend-mode: overlay;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
img { max-width: 100%; display: block; }
a { color: var(--fire2); text-decoration: none; transition: color .2s; }
a:hover { color: var(--cream); }
button { font: inherit; color: inherit; background: none; border: 0; cursor: pointer; }
code { font-family: ui-monospace, 'Cascadia Code', Consolas, monospace; font-size: .9em; background: rgba(255, 255, 255, .06); padding: .1em .4em; border-radius: 3px; }
:focus-visible { outline: 2px solid var(--fire2); outline-offset: 3px; }
::selection { background: var(--fire); color: #140a05; }
[hidden] { display: none !important; }
.ico { width: 1.15em; height: 1.15em; flex: none; }

.skip { position: absolute; left: 12px; top: -60px; z-index: 300; background: var(--fire); color: #140a05; padding: 10px 16px; font-weight: 700; }
.skip:focus { top: 12px; }

.wrap { width: 100%; max-width: var(--maxw); margin: 0 auto; padding: 0 24px; }
.wrap.narrow { max-width: 900px; }
.center { text-align: center; justify-content: center; }
.muted { color: var(--muted); }
.fire { background: var(--grad-fire); -webkit-background-clip: text; background-clip: text; color: transparent; }
.row { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }

/* ---------- Typo ---------- */
.h-display, h1, h2 { font-family: var(--f-display); font-weight: 400; letter-spacing: .02em; line-height: 1.05; margin: 0; text-transform: uppercase; }
h3, h4 { font-family: var(--f-ui); font-weight: 700; letter-spacing: .02em; margin: 0; line-height: 1.2; }
h3 { font-size: 1.35rem; }
.eyebrow {
  display: inline-flex; align-items: center; gap: 8px; font: 700 .82rem/1 var(--f-ui); letter-spacing: .22em; text-transform: uppercase; color: var(--fire2);
}
.eyebrow::before { content: ''; width: 28px; height: 2px; background: var(--grad-fire); }
.lead { font-size: 1.12rem; color: #d6cabb; max-width: 60ch; }

/* ---------- Buttons ---------- */
.btn {
  --bh: 44px;
  display: inline-flex; align-items: center; justify-content: center; gap: 8px; height: var(--bh); padding: 0 20px;
  font: 700 .95rem/1 var(--f-ui); letter-spacing: .12em; text-transform: uppercase; color: var(--text);
  clip-path: var(--chamfer); --cut: 9px; position: relative; white-space: nowrap;
  transition: transform .2s var(--ease), filter .2s, background .2s, color .2s; isolation: isolate;
}
.btn:hover { transform: translateY(-2px); color: var(--text); }
.btn:active { transform: translateY(0); }
.btn-sm { --bh: 36px; padding: 0 14px; font-size: .85rem; }
.btn-lg { --bh: 54px; padding: 0 28px; font-size: 1.05rem; }
.btn-fire { background: var(--grad-fire); color: #1a0a04; text-shadow: 0 1px 0 rgba(255, 255, 255, .25); }
.btn-fire:hover { color: #1a0a04; filter: brightness(1.12) saturate(1.1); box-shadow: 0 0 30px color-mix(in srgb, var(--fire) 50%, transparent); }
.btn-fire::after { content: ''; position: absolute; inset: 0; background: linear-gradient(110deg, transparent 30%, rgba(255, 255, 255, .45) 50%, transparent 70%); transform: translateX(-120%); transition: transform .6s var(--ease); z-index: -1; }
.btn-fire:hover::after { transform: translateX(120%); }
.btn-ghost { background: rgba(255, 255, 255, .04); box-shadow: inset 0 0 0 1px var(--line2); }
.btn-ghost:hover { background: color-mix(in srgb, var(--fire) 10%, transparent); box-shadow: inset 0 0 0 1px var(--fire); }
.btn-danger { background: rgba(255, 68, 51, .12); box-shadow: inset 0 0 0 1px rgba(255, 68, 51, .5); color: #ffb4aa; }
.btn-discord { background: #5865f2; color: #fff; }
.btn-discord:hover { background: #4752c4; }
.btn[aria-disabled="true"], .btn:disabled { opacity: .45; pointer-events: none; }
.btn-icon {
  display: inline-grid; place-items: center; width: 40px; height: 40px; border-radius: 6px; color: var(--muted);
  background: rgba(255, 255, 255, .03); box-shadow: inset 0 0 0 1px var(--line); transition: .2s;
}
.btn-icon:hover, .btn-icon.active { color: var(--fire2); box-shadow: inset 0 0 0 1px var(--fire); background: color-mix(in srgb, var(--fire) 8%, transparent); }
.btn-icon.danger:hover { color: var(--bad); box-shadow: inset 0 0 0 1px var(--bad); }
.btn-icon .ico { width: 18px; height: 18px; }
.link { display: inline-flex; align-items: center; gap: 6px; font: 700 .9rem var(--f-ui); letter-spacing: .1em; text-transform: uppercase; }
.linklike { color: var(--fire2); text-decoration: underline; padding: 0; }

/* ---------- Status ---------- */
.status-pill {
  display: inline-flex; align-items: center; gap: 8px; height: 32px; padding: 0 12px; border-radius: 99px;
  font: 700 .8rem/1 var(--f-ui); letter-spacing: .1em; text-transform: uppercase; white-space: nowrap;
  background: rgba(61, 220, 132, .08); box-shadow: inset 0 0 0 1px rgba(61, 220, 132, .35); color: #a8f5c8;
}
.status-pill .dot { width: 8px; height: 8px; border-radius: 50%; background: var(--ok); box-shadow: 0 0 0 0 rgba(61, 220, 132, .7); animation: pulse 1.8s infinite; }
.status-pill[data-state="offline"] { background: rgba(255, 68, 51, .08); box-shadow: inset 0 0 0 1px rgba(255, 68, 51, .35); color: #ffb4aa; }
.status-pill[data-state="offline"] .dot { background: var(--bad); animation: none; }
.status-pill[data-state="maintenance"], .status-pill[data-state="unknown"] { background: rgba(255, 176, 32, .08); box-shadow: inset 0 0 0 1px rgba(255, 176, 32, .35); color: #ffd98a; }
.status-pill[data-state="maintenance"] .dot, .status-pill[data-state="unknown"] .dot { background: var(--warn); animation: none; }
@keyframes pulse { 70% { box-shadow: 0 0 0 8px rgba(61, 220, 132, 0); } 100% { box-shadow: 0 0 0 0 rgba(61, 220, 132, 0); } }

/* ---------- Header ---------- */
#site-header { position: fixed; inset: 0 0 auto; z-index: 50; height: var(--hdr); transition: background .3s, box-shadow .3s, backdrop-filter .3s; }
body.scrolled #site-header, body:not(:has(.hero)) #site-header {
  background: rgba(10, 9, 8, .82); backdrop-filter: blur(14px) saturate(1.3); -webkit-backdrop-filter: blur(14px) saturate(1.3);
  box-shadow: 0 1px 0 var(--line), 0 10px 30px -10px rgba(0, 0, 0, .6);
}
.hdr-inner { height: 100%; display: flex; align-items: center; gap: 24px; }
.brand { display: flex; align-items: center; gap: 12px; color: var(--text); flex: none; }
.brand:hover { color: var(--text); }
.brand img { width: 44px; height: 44px; border-radius: 8px; object-fit: cover; object-position: 50% 30%; box-shadow: 0 0 0 1px var(--line2), 0 0 18px color-mix(in srgb, var(--fire) 35%, transparent); transition: transform .3s var(--ease); }
.brand:hover img { transform: rotate(-4deg) scale(1.05); }
.brand-name { font: 400 1.35rem/1 var(--f-display); letter-spacing: .04em; text-transform: uppercase; }
.brand-name b { font-weight: 400; margin-left: .25em; background: var(--grad-fire); -webkit-background-clip: text; background-clip: text; color: transparent; }
.nav { display: flex; align-items: center; gap: 2px; margin-right: auto; }
.nav > a {
  position: relative; display: flex; align-items: center; gap: 6px; padding: 10px 14px;
  font: 700 .95rem/1 var(--f-ui); letter-spacing: .12em; text-transform: uppercase; color: var(--muted);
}
.nav > a .nav-ico { display: none; }
.nav > a::after { content: ''; position: absolute; left: 14px; right: 14px; bottom: 2px; height: 2px; background: var(--grad-fire); transform: scaleX(0); transform-origin: left; transition: transform .3s var(--ease); }
.nav > a:hover, .nav > a.active { color: var(--text); }
.nav > a:hover::after, .nav > a.active::after { transform: scaleX(1); }
.nav-mobile-extra { display: none; }
.hdr-actions { display: flex; align-items: center; gap: 10px; }
.hdr-ava { width: 26px; height: 26px; border-radius: 50%; }
.burger { display: none; }

/* ---------- Hero ---------- */
.hero { position: relative; min-height: 100vh; min-height: 100svh; display: flex; align-items: center; padding: calc(var(--hdr) + 40px) 0 120px; overflow: hidden; isolation: isolate; }
.hero-bg { position: absolute; inset: 0; z-index: -5; background-size: cover; background-position: center;
  background-color: #0d0a08;
  background-image: radial-gradient(ellipse 80% 60% at 70% 30%, rgba(170, 50, 20, .45), transparent 60%),
    radial-gradient(ellipse 60% 50% at 10% 90%, rgba(120, 30, 15, .35), transparent 60%),
    linear-gradient(180deg, #1a0e09 0%, #0d0a08 70%);
}
.hero-bg[style] { filter: saturate(1.1) contrast(1.05); }
.hero-bg[style]::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(10, 9, 8, .94) 0%, rgba(10, 9, 8, .65) 50%, rgba(10, 9, 8, .3) 100%), linear-gradient(0deg, var(--bg) 0%, transparent 40%); }
.hero-sun { position: absolute; z-index: -4; right: 12%; top: 14%; width: min(46vw, 560px); aspect-ratio: 1; border-radius: 50%;
  background: radial-gradient(circle, rgba(255, 140, 50, .55) 0%, rgba(255, 70, 20, .25) 35%, transparent 70%); filter: blur(10px); animation: breathe 7s ease-in-out infinite; }
@keyframes breathe { 50% { transform: scale(1.08); opacity: .8; } }
.hero-skyline { position: absolute; z-index: -3; left: 0; right: 0; bottom: 0; width: 100%; height: 34%; fill: #080706; filter: drop-shadow(0 -6px 24px rgba(255, 80, 30, .35)); }
.embers { position: absolute; inset: 0; width: 100%; height: 100%; z-index: -2; pointer-events: none; }
.hero-fog { position: absolute; inset: auto 0 0; height: 45%; z-index: -1; pointer-events: none;
  background: linear-gradient(0deg, var(--bg) 8%, transparent), radial-gradient(ellipse 60% 40% at 30% 100%, rgba(255, 255, 255, .05), transparent 70%);
}
.hero-grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: 48px; align-items: center; }
.hero-eyebrow { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; font: 700 .85rem/1 var(--f-ui); letter-spacing: .2em; text-transform: uppercase; color: var(--cream); margin-bottom: 22px; }
.hero-title { font-size: clamp(2.3rem, 5vw, 4.3rem); text-shadow: 0 4px 0 rgba(0, 0, 0, .5), 0 0 60px color-mix(in srgb, var(--fire) 20%, transparent); }
.hero-title span { display: block; text-shadow: none; background: var(--grad-fire); -webkit-background-clip: text; background-clip: text; color: transparent; filter: drop-shadow(0 0 22px color-mix(in srgb, var(--fire) 45%, transparent)); }
.hero .lead { margin: 22px 0 18px; }
.hero-points { list-style: none; padding: 0; margin: 0 0 30px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 20px; }
.hero-points li { display: flex; align-items: center; gap: 8px; font: 600 1.05rem var(--f-ui); color: #e9dccb; }
.hero-points .ico { color: var(--fire); }
.connect { display: flex; flex-direction: column; gap: 16px; align-items: flex-start; }
.connect-ctas { display: flex; flex-wrap: wrap; gap: 12px; }
.connect-box {
  display: flex; align-items: center; gap: 12px; padding: 8px 8px 8px 16px; max-width: 100%;
  background: rgba(10, 9, 8, .7); box-shadow: inset 0 0 0 1px var(--line2); border-left: 3px solid var(--fire); backdrop-filter: blur(6px);
}
.connect-label { display: flex; align-items: center; gap: 6px; font: 700 .72rem var(--f-ui); letter-spacing: .16em; text-transform: uppercase; color: var(--muted); white-space: nowrap; }
.connect-box code { background: none; padding: 0; color: var(--cream); font-size: .98rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; }
.connect-sm { margin-top: 14px; padding-left: 12px; }
.connect-sm code { font-size: .85rem; }
.hero-art { position: relative; display: grid; place-items: center; }
.hero-logo { position: relative; width: min(100%, 500px); border-radius: 18px; animation: float 6s ease-in-out infinite;
  -webkit-mask-image: radial-gradient(ellipse 62% 62% at 50% 50%, #000 62%, transparent 100%); mask-image: radial-gradient(ellipse 62% 62% at 50% 50%, #000 62%, transparent 100%); }
.logo-glow { position: absolute; inset: 12%; border-radius: 50%; background: radial-gradient(circle, color-mix(in srgb, var(--fire) 55%, transparent), transparent 65%); filter: blur(40px); animation: breathe 5s ease-in-out infinite; }
@keyframes float { 50% { transform: translateY(-14px) rotate(.5deg); } }
.scroll-hint { position: absolute; left: 50%; bottom: 26px; transform: translateX(-50%); color: var(--muted); animation: bob 2s ease-in-out infinite; }
.scroll-hint .ico { width: 30px; height: 30px; }
@keyframes bob { 50% { transform: translate(-50%, 8px); } }

/* Hero-Einblendung */
.ready .hero-copy > * { animation: rise .9s var(--ease) both; }
.ready .hero-copy > *:nth-child(2) { animation-delay: .08s; }
.ready .hero-copy > *:nth-child(3) { animation-delay: .16s; }
.ready .hero-copy > *:nth-child(4) { animation-delay: .24s; }
.ready .hero-copy > *:nth-child(5) { animation-delay: .32s; }
.ready .hero-art { animation: rise 1.2s .2s var(--ease) both; }
@keyframes rise { from { opacity: 0; transform: translateY(26px); } }

/* ---------- Stats ---------- */
.stats-band { position: relative; margin-top: -70px; z-index: 2; padding-bottom: 30px; }
.stats-grid { display: grid; grid-template-columns: 1.4fr repeat(4, 1fr); gap: 14px; }
.stat {
  position: relative; padding: 20px 22px; background: var(--grad-panel); clip-path: var(--chamfer);
  box-shadow: inset 0 0 0 1px var(--line); transition: transform .3s var(--ease), box-shadow .3s;
}
.stat:hover { transform: translateY(-4px); box-shadow: inset 0 0 0 1px var(--fire); }
.stat::before { content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 3px; background: var(--grad-fire); }
.stat-top { display: flex; align-items: center; gap: 8px; font: 700 .78rem var(--f-ui); letter-spacing: .16em; text-transform: uppercase; color: var(--muted); }
.stat-top .ico { color: var(--fire); }
.stat-val { margin-top: 8px; display: flex; align-items: baseline; gap: 6px; }
.stat-val b { font: 400 clamp(1.6rem, 2.6vw, 2.2rem)/1 var(--f-display); letter-spacing: .02em; font-variant-numeric: tabular-nums; }
.stat-main .stat-val b { font-size: clamp(2.2rem, 3.6vw, 3rem); color: var(--cream); text-shadow: 0 0 24px color-mix(in srgb, var(--fire) 50%, transparent); }
.stat-val small { color: var(--muted); font: 600 1.1rem var(--f-ui); }
.live { margin-left: auto; padding: 3px 8px; font-size: .68rem; color: #1a0a04; background: var(--fire); letter-spacing: .14em; animation: blink 2s infinite; }
@keyframes blink { 50% { opacity: .55; } }
.bar { margin-top: 12px; height: 6px; background: rgba(255, 255, 255, .06); overflow: hidden; }
.bar span { display: block; height: 100%; width: 0; background: var(--grad-fire); box-shadow: 0 0 12px var(--fire); transition: width 1.2s var(--ease); }

/* ---------- Sections ---------- */
.section { padding: 90px 0; position: relative; }
.section-dark { background: linear-gradient(180deg, var(--bg) 0%, var(--bg2) 15%, var(--bg2) 85%, var(--bg) 100%); }
.section-dark::before { content: ''; position: absolute; inset: 0; pointer-events: none; opacity: .5;
  background: radial-gradient(ellipse 50% 40% at 85% 20%, color-mix(in srgb, var(--fire) 8%, transparent), transparent), radial-gradient(ellipse 40% 40% at 10% 80%, color-mix(in srgb, var(--blood) 12%, transparent), transparent); }
.section-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 40px; flex-wrap: wrap; position: relative; }
.section-head h2 { font-size: clamp(2rem, 4.2vw, 3.2rem); margin-top: 12px; }
.section-head p { margin: 10px 0 0; max-width: 60ch; }

[data-reveal][data-reveal] { opacity: 0; transform: translateY(30px); transition: opacity .8s var(--ease) var(--d, 0ms), transform .8s var(--ease) var(--d, 0ms); }
[data-reveal][data-reveal].in { opacity: 1; transform: none; }

/* ---------- Cards ---------- */
.card {
  position: relative; display: block; color: var(--text); background: var(--grad-panel);
  box-shadow: inset 0 0 0 1px var(--line); clip-path: var(--chamfer); overflow: hidden;
  transition: transform .35s var(--ease), box-shadow .35s, background .35s;
}
a.card:hover, .card.feature:hover, .card.pkg:hover { color: var(--text); transform: translateY(-6px); box-shadow: inset 0 0 0 1px var(--fire), 0 20px 50px -20px color-mix(in srgb, var(--fire) 50%, transparent); }
.card-media { position: relative; aspect-ratio: 16/9; overflow: hidden; background: #0f0c0a; }
.card-media .media { width: 100%; height: 100%; object-fit: cover; transition: transform .7s var(--ease), filter .5s; filter: saturate(.9); }
a.card:hover .card-media .media, .card:hover .card-media .media { transform: scale(1.06); filter: saturate(1.15); }
.card-media::after { content: ''; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(10, 9, 8, .85), transparent 55%); pointer-events: none; }
.card-body { padding: 20px 22px 24px; display: flex; flex-direction: column; gap: 10px; }
.card-body p { margin: 0; }

.media.ph {
  width: 100%; height: 100%; min-height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px;
  color: var(--dim); font: 700 .72rem var(--f-ui); letter-spacing: .2em; text-transform: uppercase;
  background:
    repeating-linear-gradient(135deg, rgba(255, 255, 255, .025) 0 12px, transparent 12px 24px),
    radial-gradient(ellipse at 70% 20%, color-mix(in srgb, var(--fire) 18%, transparent), transparent 60%),
    linear-gradient(180deg, #1c1410, #0e0b09);
}
.media.ph .ico { width: 34px; height: 34px; color: var(--rust); opacity: .8; }

.feature-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.feature { padding: 30px 28px; }
.feature::after { content: ''; position: absolute; right: -40px; top: -40px; width: 140px; height: 140px; border-radius: 50%; background: radial-gradient(circle, color-mix(in srgb, var(--fire) 18%, transparent), transparent 70%); transition: transform .5s var(--ease); }
.feature:hover::after { transform: scale(1.8); }
.feature-img { margin: -30px -28px 22px; aspect-ratio: 16/8; overflow: hidden; }
.feature-img .media { width: 100%; height: 100%; object-fit: cover; }
.feature-ico { display: grid; place-items: center; width: 56px; height: 56px; margin-bottom: 18px; color: var(--fire2); clip-path: var(--chamfer); --cut: 10px;
  background: linear-gradient(135deg, color-mix(in srgb, var(--fire) 20%, transparent), color-mix(in srgb, var(--blood) 15%, transparent)); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--fire) 40%, transparent); transition: transform .4s var(--ease); }
.feature:hover .feature-ico { transform: rotate(-8deg) scale(1.08); }
.feature-ico .ico { width: 26px; height: 26px; }
.feature h3 { margin-bottom: 8px; }
.feature p { margin: 0; }

.threat-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; position: relative; }
.threat .card-media { aspect-ratio: 4/3; }
.threat-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.danger { display: inline-flex; gap: 3px; }
.danger i { width: 10px; height: 14px; background: rgba(255, 255, 255, .1); transform: skewX(-15deg); }
.danger i.on { background: var(--grad-fire); box-shadow: 0 0 8px color-mix(in srgb, var(--fire) 60%, transparent); }
.danger-row { display: flex; align-items: center; gap: 12px; margin-bottom: 18px; font: 700 .85rem var(--f-ui); letter-spacing: .14em; text-transform: uppercase; color: var(--muted); }

.news-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.news-big { grid-column: span 2; grid-row: span 2; }
.news-big .card-media { aspect-ratio: 16/8; }
.news-big h3 { font-size: 1.9rem; }
.news-grid-full { margin-top: 28px; }
.meta { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; font: 600 .82rem var(--f-ui); letter-spacing: .1em; text-transform: uppercase; color: var(--muted); }
.pin { display: inline-flex; align-items: center; gap: 4px; color: var(--fire2); margin-left: 8px; }
.badge { display: inline-flex; align-items: center; gap: 6px; padding: 5px 10px; font: 700 .72rem/1 var(--f-ui); letter-spacing: .14em; text-transform: uppercase; background: color-mix(in srgb, var(--fire) 15%, transparent); color: var(--fire2); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--fire) 40%, transparent); }
.badge-type { position: absolute; left: 14px; top: 14px; z-index: 2; background: rgba(10, 9, 8, .8); backdrop-filter: blur(6px); }
.badge-ok { background: rgba(61, 220, 132, .12); color: #a8f5c8; box-shadow: inset 0 0 0 1px rgba(61, 220, 132, .4); }
.tags { display: flex; flex-wrap: wrap; gap: 6px; }
.tag { padding: 4px 10px; font: 600 .78rem var(--f-ui); letter-spacing: .06em; color: var(--muted); background: rgba(255, 255, 255, .04); box-shadow: inset 0 0 0 1px var(--line); }
.tag-ach { display: inline-flex; align-items: center; gap: 6px; color: var(--cream); padding: 8px 12px; }
.tag-ach .ico { color: var(--fire2); }

/* Galerie */
.gallery { display: grid; grid-template-columns: repeat(4, 1fr); grid-auto-rows: 200px; gap: 12px; position: relative; }
.gal-item { position: relative; overflow: hidden; padding: 0; clip-path: var(--chamfer); box-shadow: inset 0 0 0 1px var(--line); }
.gal-item:nth-child(6n+1) { grid-column: span 2; grid-row: span 2; }
.gal-item:nth-child(6n+4) { grid-column: span 2; }
.gal-item .media { width: 100%; height: 100%; object-fit: cover; transition: transform .7s var(--ease); }
.gal-item:hover .media { transform: scale(1.07); }
.gal-cap { position: absolute; inset: auto 0 0; padding: 30px 16px 12px; text-align: left; font: 600 .9rem var(--f-ui); letter-spacing: .04em; color: var(--cream);
  background: linear-gradient(0deg, rgba(10, 9, 8, .9), transparent); transform: translateY(100%); transition: transform .4s var(--ease); }
.gal-item:hover .gal-cap, .gal-item:focus-visible .gal-cap { transform: none; }
.lightbox { position: fixed; inset: 0; z-index: 200; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 16px; padding: 24px; background: rgba(5, 4, 4, .92); backdrop-filter: blur(8px); animation: fade .25s; }
.lightbox figure { margin: 0; display: flex; flex-direction: column; align-items: center; gap: 12px; max-height: 100%; }
.lightbox .media { max-width: 100%; max-height: 80vh; width: auto; height: auto; object-fit: contain; }
.lightbox .media.ph { width: min(80vw, 900px); height: 60vh; }
.lightbox figcaption { color: var(--cream); font: 600 1rem var(--f-ui); }
.lightbox figcaption small { color: var(--muted); margin-left: 8px; }
.lb-close { position: absolute; top: 18px; right: 18px; }
@keyframes fade { from { opacity: 0; } }

/* Store */
.pkg-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin-top: 24px; }
.section .pkg-grid:first-child { margin-top: 0; }
.pkg { display: flex; flex-direction: column; }
.pkg .card-body { flex: 1; }
.pkg-featured { box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--fire) 55%, transparent); }
.pkg-cat { font: 700 .74rem var(--f-ui); letter-spacing: .18em; text-transform: uppercase; color: var(--fire2); }
.ribbon { position: absolute; z-index: 3; top: 16px; right: 16px; padding: 6px 12px; font: 700 .72rem/1 var(--f-ui); letter-spacing: .14em; text-transform: uppercase; color: #1a0a04; background: var(--grad-fire); clip-path: var(--chamfer); --cut: 6px; }
.checklist { list-style: none; margin: 4px 0 0; padding: 0; display: grid; gap: 6px; }
.checklist li { display: flex; gap: 8px; align-items: flex-start; font-size: .94rem; color: #ddd0c1; }
.checklist .ico { color: var(--fire); margin-top: 3px; width: 16px; height: 16px; }
.pkg-foot { margin-top: auto; padding-top: 14px; border-top: 1px dashed var(--line2); display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.price { font: 400 1.6rem/1 var(--f-display); color: var(--cream); }
.trust { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 40px; }
.trust > div { display: flex; align-items: center; gap: 12px; padding: 18px; background: rgba(255, 255, 255, .02); box-shadow: inset 0 0 0 1px var(--line); font: 600 1rem var(--f-ui); letter-spacing: .04em; }
.trust .ico { color: var(--fire); width: 24px; height: 24px; }

/* CTA / Steps */
.cta { position: relative; padding: 100px 0; background-size: cover; background-position: center; isolation: isolate; overflow: hidden;
  background-color: #120b08; background-image: radial-gradient(ellipse 70% 80% at 50% 120%, color-mix(in srgb, var(--fire) 35%, transparent), transparent 60%), linear-gradient(180deg, var(--bg), #160c08); }
.cta[style]::before { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, var(--bg), rgba(10, 9, 8, .7) 40%, rgba(10, 9, 8, .85)); }
.steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(var(--cols, 3), minmax(0, 1fr)); gap: 18px; }
.steps li { position: relative; padding: 30px 26px; background: rgba(10, 9, 8, .6); box-shadow: inset 0 0 0 1px var(--line2); clip-path: var(--chamfer); backdrop-filter: blur(6px); display: flex; flex-direction: column; gap: 10px; }
.steps li > .ico { width: 30px; height: 30px; color: var(--fire2); }
.steps p { margin: 0; flex: 1; }
.step-n { position: absolute; right: 20px; top: 12px; font: 400 3.4rem/1 var(--f-display); color: color-mix(in srgb, var(--fire) 12%, transparent); }

/* ---------- Unterseiten ---------- */
.page-hero { position: relative; padding: calc(var(--hdr) + 70px) 0 60px; overflow: hidden; isolation: isolate; background-size: cover; background-position: center;
  background-color: #110b08; border-bottom: 1px solid var(--line); }
.page-hero[style]::before { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(10, 9, 8, .95), rgba(10, 9, 8, .6)), linear-gradient(0deg, var(--bg), transparent 60%); }
.page-hero-glow { position: absolute; z-index: -2; inset: 0; background: radial-gradient(ellipse 50% 90% at 85% 0%, color-mix(in srgb, var(--fire) 30%, transparent), transparent 60%), radial-gradient(ellipse 40% 60% at 0% 100%, color-mix(in srgb, var(--blood) 25%, transparent), transparent 60%); }
.page-hero h1 { font-size: clamp(2.2rem, 5vw, 4rem); margin: 14px 0 12px; }
.page-hero .lead { margin: 0 0 20px; }
.page-hero .btn { margin-top: 6px; }

.toolbar { display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap; margin-bottom: 26px; }
.toolbar-btns { display: flex; gap: 8px; }
.search { position: relative; display: flex; align-items: center; flex: 1 1 260px; max-width: 380px; }
.search .ico { position: absolute; left: 14px; color: var(--muted); pointer-events: none; }
.search input { width: 100%; height: 44px; padding: 0 14px 0 42px; }
.search-lg { max-width: none; margin-bottom: 18px; }
.search-lg input { height: 56px; font-size: 1.05rem; }
.search-sm input { height: 36px; }
.chips { display: flex; flex-wrap: wrap; gap: 8px; }
.chips.center { justify-content: center; margin-bottom: 26px; }
.chip { display: inline-flex; align-items: center; gap: 6px; height: 36px; padding: 0 16px; font: 700 .85rem/1 var(--f-ui); letter-spacing: .1em; text-transform: uppercase; color: var(--muted); background: rgba(255, 255, 255, .03); box-shadow: inset 0 0 0 1px var(--line); clip-path: var(--chamfer); --cut: 7px; transition: .2s; }
.chip:hover { color: var(--text); box-shadow: inset 0 0 0 1px var(--line2); }
.chip.active { color: #1a0a04; background: var(--grad-fire); box-shadow: none; }
.empty { color: var(--muted); text-align: center; padding: 40px 0; grid-column: 1/-1; }

input, textarea, select {
  font: inherit; color: var(--text); background: #0f0d0b; border: 1px solid var(--line2); border-radius: 4px; padding: 10px 12px; width: 100%;
  transition: border-color .2s, box-shadow .2s;
}
input:focus, textarea:focus, select:focus { outline: none; border-color: var(--fire); box-shadow: 0 0 0 3px color-mix(in srgb, var(--fire) 18%, transparent); }
textarea { resize: vertical; line-height: 1.5; }
textarea.mono { font-family: ui-monospace, Consolas, monospace; font-size: .88rem; }
select { appearance: none; background-image: linear-gradient(45deg, transparent 50%, var(--muted) 50%), linear-gradient(135deg, var(--muted) 50%, transparent 50%); background-position: calc(100% - 18px) 50%, calc(100% - 13px) 50%; background-size: 5px 5px; background-repeat: no-repeat; padding-right: 34px; }
input[type="checkbox"] { width: 18px; height: 18px; accent-color: var(--fire); }

/* Accordion */
.accordion { display: grid; gap: 10px; }
.acc { background: var(--grad-panel); box-shadow: inset 0 0 0 1px var(--line); transition: box-shadow .3s; }
.acc[open] { box-shadow: inset 0 0 0 1px var(--line2), inset 3px 0 0 var(--fire); }
.acc summary { display: flex; align-items: center; gap: 14px; padding: 18px 20px; cursor: pointer; list-style: none; }
.acc summary::-webkit-details-marker { display: none; }
.acc summary:hover .acc-title { color: var(--cream); }
.acc-ico { display: grid; place-items: center; width: 40px; height: 40px; flex: none; color: var(--fire2); background: color-mix(in srgb, var(--fire) 10%, transparent); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--fire) 30%, transparent); }
.acc-title { flex: 1; font: 700 1.2rem/1.25 var(--f-ui); letter-spacing: .03em; transition: color .2s; }
.acc-title small { display: block; font-size: .72rem; letter-spacing: .2em; text-transform: uppercase; color: var(--fire2); margin-bottom: 2px; }
.acc-count { min-width: 30px; height: 26px; padding: 0 8px; display: grid; place-items: center; font: 700 .8rem var(--f-ui); color: var(--muted); background: rgba(255, 255, 255, .05); }
.acc-chev { color: var(--muted); transition: transform .3s var(--ease); }
.acc[open] .acc-chev { transform: rotate(180deg); color: var(--fire2); }
.acc-faq[open] .acc-chev { transform: rotate(45deg); }
.acc[open] > :not(summary) { animation: rise .4s var(--ease); }
.rule-list { list-style: none; margin: 0; padding: 0 20px 18px; display: grid; gap: 4px; }
.rule-list li { display: flex; gap: 14px; padding: 10px 12px; border-top: 1px solid var(--line); color: #ddd0c1; }
.rule-n { flex: none; min-width: 52px; font: 700 .9rem var(--f-ui); color: var(--fire2); letter-spacing: .06em; }
.acc-body { padding: 0 20px 18px; color: #ddd0c1; }
.help-card { display: flex; align-items: center; gap: 18px; padding: 24px; margin-top: 30px; flex-wrap: wrap; }
.help-card > .ico { width: 40px; height: 40px; color: var(--fire2); }
.help-card > div { flex: 1 1 240px; }
.help-card p { margin: 4px 0 0; }

/* Wiki */
.wiki-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.wiki-card { display: flex; gap: 16px; padding: 22px; }
.wiki-card h3 { margin: 4px 0 6px; font-size: 1.2rem; }
.wiki-card p { margin: 0 0 8px; font-size: .94rem; }
.wiki-ico { flex: none; display: grid; place-items: center; width: 46px; height: 46px; color: var(--fire2); background: color-mix(in srgb, var(--fire) 10%, transparent); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--fire) 30%, transparent); }
.wiki-go { position: absolute; right: 16px; top: 16px; color: var(--dim); transition: .3s var(--ease); }
.wiki-card:hover .wiki-go { color: var(--fire2); transform: translate(3px, -3px); }

.article-layout { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 40px; align-items: start; }
.article-img { margin-bottom: 28px; aspect-ratio: 16/8; overflow: hidden; clip-path: var(--chamfer); }
.article-img .media { width: 100%; height: 100%; object-fit: cover; }
.back { display: inline-flex; align-items: center; gap: 6px; margin-bottom: 22px; font: 700 .85rem var(--f-ui); letter-spacing: .14em; text-transform: uppercase; }
.sidebar { position: sticky; top: calc(var(--hdr) + 20px); }
.side-card { padding: 22px; }
.side-card h4 { display: flex; align-items: center; gap: 8px; font-size: .9rem; letter-spacing: .16em; text-transform: uppercase; color: var(--fire2); margin-bottom: 12px; }
.side-links { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; }
.side-links a { display: flex; align-items: center; gap: 10px; padding: 8px 10px; color: #ddd0c1; transition: .2s; }
.side-links a:hover { background: color-mix(in srgb, var(--fire) 8%, transparent); color: var(--cream); padding-left: 14px; }
.side-links .ico { color: var(--fire); }

/* Prose */
.prose { color: #ddd0c1; font-size: 1.03rem; }
.prose h2, .prose h3, .prose h4, .prose h5 { font-family: var(--f-ui); font-weight: 700; text-transform: none; color: var(--text); margin: 1.8em 0 .6em; letter-spacing: .02em; }
.prose h2 { font-size: 1.7rem; }
.prose h3 { font-size: 1.45rem; padding-left: 14px; border-left: 3px solid var(--fire); }
.prose > :first-child { margin-top: 0; }
.prose p { margin: 0 0 1em; }
.prose ul, .prose ol { padding-left: 1.3em; margin: 0 0 1.2em; }
.prose li { margin: .3em 0; }
.prose li::marker { color: var(--fire); }
.prose strong { color: var(--cream); }
.prose blockquote { margin: 1.4em 0; padding: 16px 20px; background: color-mix(in srgb, var(--fire) 7%, transparent); border-left: 3px solid var(--fire); color: var(--cream); }
.prose hr { border: 0; height: 1px; background: var(--line2); margin: 2em 0; }
.table-wrap { overflow-x: auto; margin: 1.2em 0 1.6em; box-shadow: inset 0 0 0 1px var(--line); }
.prose table { width: 100%; border-collapse: collapse; font-size: .95rem; }
.prose th { text-align: left; padding: 12px 14px; font: 700 .8rem var(--f-ui); letter-spacing: .14em; text-transform: uppercase; color: var(--fire2); background: color-mix(in srgb, var(--fire) 8%, transparent); }
.prose td { padding: 11px 14px; border-top: 1px solid var(--line); }
.prose tr:hover td { background: rgba(255, 255, 255, .02); }

/* News-Post */
.post-hero { position: relative; min-height: 520px; display: flex; align-items: flex-end; padding: calc(var(--hdr) + 40px) 0 50px; isolation: isolate; overflow: hidden; }
.post-hero-media { position: absolute; inset: 0; z-index: -2; }
.post-hero-media .media { width: 100%; height: 100%; object-fit: cover; }
.post-hero-shade { position: absolute; inset: 0; z-index: -1; background: linear-gradient(0deg, var(--bg) 5%, rgba(10, 9, 8, .6) 60%, rgba(10, 9, 8, .8)); }
.post-hero h1 { font-size: clamp(2rem, 4.5vw, 3.6rem); margin: 14px 0; }
.post-hero .badge-type { position: static; }

/* Account */
.login-card { max-width: 520px; margin: 0 auto; padding: 40px 34px; text-align: center; display: flex; flex-direction: column; align-items: center; gap: 16px; }
.login-card h1, .login-card h2 { font-size: 2rem; }
.login-card p { margin: 0; }
.login-card .fld { width: 100%; text-align: left; }
.login-ico { display: grid; place-items: center; width: 72px; height: 72px; color: var(--fire2); background: color-mix(in srgb, var(--fire) 10%, transparent); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--fire) 40%, transparent); clip-path: var(--chamfer); }
.login-ico .ico { width: 34px; height: 34px; }
.notice { display: flex; gap: 10px; align-items: flex-start; padding: 12px 16px; margin: 0 0 16px; text-align: left; font-size: .93rem; color: #e6d7c4; background: rgba(255, 176, 32, .06); box-shadow: inset 0 0 0 1px rgba(255, 176, 32, .25); }
.notice .ico { color: var(--warn); margin-top: 3px; }
.notice-warn { background: rgba(255, 68, 51, .08); box-shadow: inset 0 0 0 1px rgba(255, 68, 51, .35); }
.notice-warn .ico { color: var(--bad); }
.dash { display: grid; grid-template-columns: 280px minmax(0, 1fr); gap: 24px; align-items: start; }
.profile { padding: 30px 24px; display: flex; flex-direction: column; align-items: center; gap: 8px; text-align: center; position: sticky; top: calc(var(--hdr) + 20px); }
.profile p { margin: 0 0 8px; }
.profile .btn { margin-top: 14px; }
.avatar { width: 96px; height: 96px; border-radius: 50%; overflow: hidden; display: grid; place-items: center; background: var(--panel2); box-shadow: 0 0 0 3px var(--bg), 0 0 0 5px var(--fire), 0 0 30px color-mix(in srgb, var(--fire) 40%, transparent); margin-bottom: 8px; }
.avatar img { width: 100%; height: 100%; object-fit: cover; }
.avatar .ico { width: 44px; height: 44px; color: var(--muted); }
.mini-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.mini { padding: 18px; display: flex; flex-direction: column; gap: 4px; }
.mini .ico { color: var(--fire); }
.mini b { font: 400 1.6rem/1.1 var(--f-display); }
.mini span { font: 600 .78rem var(--f-ui); letter-spacing: .14em; text-transform: uppercase; color: var(--muted); }
.sub-h { display: flex; align-items: center; gap: 8px; margin: 32px 0 14px; font-size: 1rem; letter-spacing: .18em; text-transform: uppercase; color: var(--fire2); }
.char-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.char { padding: 20px; }
.char-head { display: flex; align-items: center; gap: 12px; margin-bottom: 14px; }
.char-head > div:nth-child(2) { flex: 1; }
.char-ava { display: grid; place-items: center; width: 46px; height: 46px; background: var(--panel2); box-shadow: inset 0 0 0 1px var(--line2); color: var(--muted); }
.lvl { font: 400 1rem var(--f-display); color: var(--cream); padding: 6px 10px; background: color-mix(in srgb, var(--fire) 12%, transparent); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--fire) 40%, transparent); }
.char dl { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin: 0; }
.char dt { font: 600 .7rem var(--f-ui); letter-spacing: .14em; text-transform: uppercase; color: var(--muted); }
.char dd { margin: 0; font: 700 1.1rem var(--f-ui); }
.loader { display: flex; align-items: center; gap: 12px; padding: 40px 0; color: var(--muted); justify-content: center; }
.loader span { width: 20px; height: 20px; border-radius: 50%; border: 2px solid var(--line2); border-top-color: var(--fire); animation: spin .8s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }

/* ---------- Footer ---------- */
#site-footer { position: relative; border-top: 1px solid var(--line); background: linear-gradient(180deg, #0c0a09, #070605); margin-top: 0; }
#site-footer::before { content: ''; position: absolute; left: 0; right: 0; top: -1px; height: 1px; background: linear-gradient(90deg, transparent, var(--fire), transparent); }
.footer-top { display: grid; grid-template-columns: 1.6fr 1fr 1fr 1fr; gap: 36px; padding-top: 60px; padding-bottom: 40px; }
.footer-top h4 { font-size: .85rem; letter-spacing: .2em; text-transform: uppercase; color: var(--fire2); margin-bottom: 14px; }
.footer-top ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.footer-top ul a { color: var(--muted); }
.footer-top ul a:hover { color: var(--cream); }
.footer-brand p { margin: 12px 0 0; }
.footer-bottom { display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; padding-top: 20px; padding-bottom: 28px; border-top: 1px solid var(--line); font-size: .85rem; color: var(--dim); }
.admin-link { display: inline-flex; align-items: center; gap: 6px; color: var(--dim); }

/* ---------- Toasts ---------- */
#toasts { position: fixed; right: 20px; bottom: 20px; z-index: 300; display: grid; gap: 10px; max-width: min(380px, calc(100vw - 40px)); }
.toast { display: flex; align-items: flex-start; gap: 10px; padding: 14px 16px; background: rgba(23, 19, 17, .96); backdrop-filter: blur(10px); box-shadow: inset 0 0 0 1px var(--line2), 0 20px 40px rgba(0, 0, 0, .5); border-left: 3px solid var(--fire); animation: toastIn .35s var(--ease); font-size: .94rem; }
.toast .ico { margin-top: 2px; color: var(--fire2); }
.toast-success { border-left-color: var(--ok); }
.toast-success .ico { color: var(--ok); }
.toast-error { border-left-color: var(--bad); }
.toast-error .ico { color: var(--bad); }
.toast.out { opacity: 0; transform: translateX(30px); transition: .35s; }
@keyframes toastIn { from { opacity: 0; transform: translateX(30px); } }

/* =========================================================================
   Admin
   ========================================================================= */
.admin { padding-top: var(--hdr); min-height: 100vh; }
.admin-lock { padding-top: calc(var(--hdr) + 60px); min-height: 80vh; }
.admin-bar { position: sticky; top: var(--hdr); z-index: 20; background: rgba(16, 13, 11, .95); backdrop-filter: blur(10px); border-bottom: 1px solid var(--line); }
.admin-bar-inner { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding-top: 12px; padding-bottom: 12px; flex-wrap: wrap; }
.admin-title { display: flex; align-items: center; gap: 10px; font: 700 1.05rem var(--f-ui); letter-spacing: .08em; text-transform: uppercase; flex-wrap: wrap; }
.admin-title .ico { color: var(--fire); }
.admin-title .muted { font: 500 .85rem var(--f-body); text-transform: none; letter-spacing: 0; }
.admin-layout { display: grid; grid-template-columns: 230px minmax(0, 1fr); gap: 26px; padding-top: 26px; padding-bottom: 80px; align-items: start; }
.admin-nav { position: sticky; top: calc(var(--hdr) + 80px); display: grid; gap: 2px; }
.a-tab { display: flex; align-items: center; gap: 10px; padding: 10px 12px; text-align: left; font: 600 .98rem var(--f-ui); letter-spacing: .04em; color: var(--muted); border-left: 2px solid transparent; transition: .2s; }
.a-tab:hover { color: var(--text); background: rgba(255, 255, 255, .03); }
.a-tab.active { color: var(--cream); border-left-color: var(--fire); background: linear-gradient(90deg, color-mix(in srgb, var(--fire) 14%, transparent), transparent); }
.a-tab.active .ico { color: var(--fire); }
.admin-main { display: grid; gap: 20px; min-width: 0; }
.a-panel { background: var(--grad-panel); box-shadow: inset 0 0 0 1px var(--line); padding: 24px; }
.a-panel-head { margin-bottom: 18px; }
.a-panel-head h3 { font-size: 1.15rem; letter-spacing: .1em; text-transform: uppercase; }
.a-panel-head p { margin: 6px 0 0; font-size: .9rem; }
.a-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.a-card { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; padding: 18px; text-align: left; background: var(--grad-panel); box-shadow: inset 0 0 0 1px var(--line); transition: .25s; }
.a-card:hover { box-shadow: inset 0 0 0 1px var(--fire); transform: translateY(-2px); }
.a-card .ico { color: var(--fire); }
.a-card b { font: 400 1.9rem/1.1 var(--f-display); }
.a-card span { font: 600 .8rem var(--f-ui); letter-spacing: .12em; text-transform: uppercase; color: var(--muted); }
.kv { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; margin: 0; }
.kv dt { font: 600 .74rem var(--f-ui); letter-spacing: .14em; text-transform: uppercase; color: var(--muted); margin-bottom: 4px; }
.kv dd { margin: 0; }
.howto { margin: 0; padding-left: 1.2em; display: grid; gap: 8px; color: #ddd0c1; }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 18px; margin-bottom: 16px; }
.fld { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.fld-wide { grid-column: 1/-1; }
.fld > label { font: 700 .8rem var(--f-ui); letter-spacing: .12em; text-transform: uppercase; color: var(--muted); }
.hint { font-size: .8rem; color: var(--dim); }
.chk { display: flex; align-items: center; gap: 10px; cursor: pointer; padding-top: 22px; font-weight: 500; }
.icon-input { display: flex; gap: 8px; }
.icon-prev { display: grid; place-items: center; width: 44px; flex: none; color: var(--fire2); background: color-mix(in srgb, var(--fire) 8%, transparent); box-shadow: inset 0 0 0 1px var(--line2); border-radius: 4px; }
.img-field { display: grid; grid-template-columns: 180px minmax(0, 1fr); gap: 14px; align-items: start; }
.img-prev { aspect-ratio: 16/10; display: grid; place-items: center; overflow: hidden; color: var(--dim); background: repeating-linear-gradient(135deg, rgba(255, 255, 255, .03) 0 10px, transparent 10px 20px), #0f0d0b; box-shadow: inset 0 0 0 1px var(--line2); }
.img-prev img { width: 100%; height: 100%; object-fit: cover; }
.img-ctrl { display: grid; gap: 8px; }
.md-prev { margin-top: 6px; }
.md-prev summary { cursor: pointer; display: inline-flex; align-items: center; gap: 6px; font: 700 .8rem var(--f-ui); letter-spacing: .12em; text-transform: uppercase; color: var(--fire2); }
.md-prev .prose { margin-top: 10px; padding: 18px; background: #0f0d0b; box-shadow: inset 0 0 0 1px var(--line); font-size: .95rem; }
.code { margin: 12px 0 0; padding: 14px; overflow-x: auto; background: #0b0908; box-shadow: inset 0 0 0 1px var(--line); font: .82rem/1.5 ui-monospace, Consolas, monospace; color: var(--cream); white-space: pre; }
.wrap-row { flex-wrap: wrap; }

.col-editor { display: grid; grid-template-columns: 280px minmax(0, 1fr); gap: 20px; align-items: start; }
.col-list { background: #0f0d0b; box-shadow: inset 0 0 0 1px var(--line); position: sticky; top: calc(var(--hdr) + 80px); max-height: calc(100vh - var(--hdr) - 110px); display: flex; flex-direction: column; }
.col-head { display: flex; gap: 8px; padding: 10px; border-bottom: 1px solid var(--line); }
.col-head .search { flex: 1; max-width: none; }
.col-list ul { list-style: none; margin: 0; padding: 6px; overflow-y: auto; }
.col-list .pad { padding: 14px; }
.col-item { width: 100%; display: flex; flex-direction: column; align-items: flex-start; gap: 2px; padding: 10px 12px; text-align: left; border-left: 2px solid transparent; transition: .15s; }
.col-item span { font-weight: 600; font-size: .94rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 100%; }
.col-item small { color: var(--dim); font-size: .78rem; }
.col-item:hover { background: rgba(255, 255, 255, .03); }
.col-item.active { background: color-mix(in srgb, var(--fire) 10%, transparent); border-left-color: var(--fire); }
.col-form { min-width: 0; }
.col-form-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 18px; flex-wrap: wrap; }
.col-form-head h3 { display: flex; align-items: center; gap: 8px; font-size: 1.05rem; letter-spacing: .1em; text-transform: uppercase; }
.col-form-head h3 .ico { color: var(--fire); }
.empty-state { display: flex; flex-direction: column; align-items: center; gap: 12px; padding: 50px 20px; color: var(--muted); text-align: center; }
.empty-state > .ico { width: 40px; height: 40px; color: var(--dim); }
.preview-link { margin-top: 4px; }

/* =========================================================================
   Responsive
   ========================================================================= */
@media (max-width: 1180px) {
  .stats-grid { grid-template-columns: repeat(3, 1fr); }
  .stat-main { grid-column: span 3; }
  .threat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .nav > a { padding: 10px 10px; letter-spacing: .08em; }
}

@media (max-width: 1020px) {
  .burger { display: inline-grid; place-items: center; width: 42px; height: 42px; color: var(--text); box-shadow: inset 0 0 0 1px var(--line2); border-radius: 6px; }
  .nav {
    position: fixed; inset: var(--hdr) 0 0 auto; width: min(360px, 100vw); flex-direction: column; align-items: stretch; gap: 4px; padding: 20px;
    background: rgba(12, 10, 9, .98); backdrop-filter: blur(14px); box-shadow: -1px 0 0 var(--line), -30px 0 60px rgba(0, 0, 0, .6);
    transform: translateX(100%); visibility: hidden; transition: transform .35s var(--ease), visibility .35s; overflow-y: auto; margin: 0;
  }
  body.menu-open .nav { transform: none; visibility: visible; }
  body.menu-open { overflow: hidden; }
  body.menu-open #site-header { background: rgba(10, 9, 8, .98); }
  .nav > a { padding: 14px 12px; font-size: 1.1rem; border-bottom: 1px solid var(--line); }
  .nav > a .nav-ico { display: block; color: var(--fire); }
  .nav > a::after { display: none; }
  .nav > a.active { background: color-mix(in srgb, var(--fire) 10%, transparent); }
  .nav-mobile-extra { display: flex; flex-direction: column; gap: 10px; margin-top: 18px; }
  .nav-mobile-extra .status-pill { align-self: flex-start; }
  .hdr-inner { gap: 12px; justify-content: space-between; }
  .hide-sm { display: none !important; }

  .hero { min-height: auto; padding-bottom: 110px; }
  .hero-grid { grid-template-columns: 1fr; gap: 20px; }
  .hero-art { order: -1; }
  .hero-logo { width: min(64vw, 340px); }
  .feature-grid, .pkg-grid, .wiki-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .news-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .news-big { grid-column: span 2; grid-row: auto; }
  .gallery { grid-template-columns: repeat(2, 1fr); grid-auto-rows: 170px; }
  .gal-item:nth-child(6n+4) { grid-column: auto; }
  .steps { grid-template-columns: 1fr; }
  .article-layout, .dash { grid-template-columns: 1fr; }
  .sidebar, .profile { position: static; }
  .footer-top { grid-template-columns: 1fr 1fr; }
  .footer-brand { grid-column: 1/-1; }
  .mini-stats { grid-template-columns: repeat(2, 1fr); }

  .admin-layout { grid-template-columns: 1fr; }
  .admin-nav { position: static; display: flex; overflow-x: auto; gap: 4px; padding-bottom: 6px; scrollbar-width: thin; }
  .a-tab { flex: none; border-left: 0; border-bottom: 2px solid transparent; }
  .a-tab.active { border-bottom-color: var(--fire); }
  .col-editor { grid-template-columns: 1fr; }
  .col-list { position: static; max-height: 300px; }
}

@media (max-width: 680px) {
  :root { --hdr: 64px; }
  .wrap { padding: 0 16px; }
  .brand img { width: 38px; height: 38px; }
  .brand-name { font-size: 1.1rem; }
  .hide-xs { display: none !important; }
  .section { padding: 64px 0; }
  .hero-points { grid-template-columns: 1fr; }
  .connect, .connect-ctas, .connect-box { width: 100%; }
  .connect-ctas .btn { flex: 1 1 100%; }
  .connect-label { display: none; }
  .connect-box code { flex: 1; }
  .stats-grid { grid-template-columns: 1fr 1fr; }
  .stat-main { grid-column: span 2; }
  .feature-grid, .pkg-grid, .wiki-grid, .news-grid, .threat-grid, .char-grid, .trust { grid-template-columns: 1fr; }
  .news-big { grid-column: auto; }
  .news-big h3 { font-size: 1.4rem; }
  .gallery { grid-template-columns: 1fr 1fr; grid-auto-rows: 130px; }
  .footer-top { grid-template-columns: 1fr; }
  .char dl { grid-template-columns: 1fr 1fr; }
  .toolbar { flex-direction: column; align-items: stretch; }
  .search { max-width: none; }
  .form-grid, .kv, .a-cards { grid-template-columns: 1fr; }
  .img-field { grid-template-columns: 1fr; }
  .img-prev { max-width: 240px; }
  .lightbox { grid-template-columns: 1fr; padding: 60px 12px 12px; }
  .lb-nav { display: none; }
  .a-panel { padding: 18px; }
  .rule-list { padding: 0 10px 12px; }
  .acc summary { padding: 14px; gap: 10px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
  [data-reveal] { opacity: 1; transform: none; }
}

/* ---------- Admin: Backend-Erweiterungen ---------- */
.admin-state { display: inline-flex; align-items: center; gap: 8px; font: 500 .85rem var(--f-body); text-transform: none; letter-spacing: 0; color: var(--muted); }
.dot-ok, .dot-warn { width: 8px; height: 8px; border-radius: 50%; background: var(--ok); flex: none; }
.dot-warn { background: var(--warn); box-shadow: 0 0 0 0 rgba(255, 176, 32, .6); animation: pulseWarn 1.8s infinite; }
@keyframes pulseWarn { 70% { box-shadow: 0 0 0 7px rgba(255, 176, 32, 0); } 100% { box-shadow: 0 0 0 0 rgba(255, 176, 32, 0); } }
.btn.pulse { animation: glowPulse 2s ease-in-out infinite; }
@keyframes glowPulse { 50% { box-shadow: 0 0 24px color-mix(in srgb, var(--fire) 60%, transparent); } }
.color-input { display: flex; gap: 8px; }
.color-input input[type="color"] { width: 48px; height: 44px; padding: 3px; flex: none; cursor: pointer; }
.img-prev.busy { position: relative; }
.img-prev.busy::after { content: ''; position: absolute; inset: 0; background: rgba(10, 9, 8, .7) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 24 24' fill='none' stroke='%23ff9a3c' stroke-width='2.5'%3E%3Cpath d='M21 12a9 9 0 1 1-6.2-8.6'/%3E%3C/svg%3E") center/28px no-repeat; animation: spin .8s linear infinite; }
.notice > span { flex: 1; }
.modal { position: fixed; inset: 0; z-index: 250; display: grid; place-items: center; padding: 20px; background: rgba(5, 4, 4, .85); backdrop-filter: blur(6px); animation: fade .2s; }
.modal-card { width: min(980px, 100%); max-height: calc(100vh - 40px); overflow: auto; padding: 24px; background: var(--panel); box-shadow: inset 0 0 0 1px var(--line2), 0 30px 80px rgba(0, 0, 0, .6); }
.modal-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 6px; flex-wrap: wrap; }
.modal-head h3 { display: flex; align-items: center; gap: 8px; letter-spacing: .1em; text-transform: uppercase; }
.modal-head h3 .ico { color: var(--fire); }
.lib-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 12px; margin-top: 16px; }
.lib-item { margin: 0; background: #0f0d0b; box-shadow: inset 0 0 0 1px var(--line); display: flex; flex-direction: column; }
.lib-thumb { display: block; aspect-ratio: 16/10; overflow: hidden; padding: 0; }
.lib-thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s var(--ease); }
.lib-thumb:hover img { transform: scale(1.06); }
.lib-thumb:hover { box-shadow: inset 0 0 0 2px var(--fire); }
.lib-item figcaption { display: flex; justify-content: space-between; gap: 6px; padding: 8px 10px 0; font-size: .78rem; }
.lib-item figcaption span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lib-item figcaption small { color: var(--dim); flex: none; }
.lib-item .row { padding: 8px 10px 10px; gap: 6px; }
.lib-item .btn-icon { width: 32px; height: 32px; }

/* ---------- Admin: Radio Management Admin (js/radio-admin.js) ---------- */
.ra-table { width: 100%; border-collapse: collapse; font-size: .92rem; }
.ra-table th { text-align: left; padding: 10px 12px; font: 700 .72rem/1 var(--f-ui); letter-spacing: .14em; text-transform: uppercase; color: var(--muted); border-bottom: 1px solid var(--line); }
.ra-table td { padding: 10px 12px; border-bottom: 1px solid color-mix(in srgb, var(--line) 60%, transparent); vertical-align: top; }
.ra-table td .badge { margin: 0 4px 4px 0; }
.ra-actions { white-space: nowrap; text-align: right; }
