/* SuperHero-Bereich – Grundstil wie fps-planet.de, Akzent Gold/Rot wie die Hero-Karte */
:root{
  --bg-base:#0a0c0f;--bg-panel:#0f1318;--bg-card:#141920;--bg-row-alt:#111620;
  --border:#1e2a35;--border-hi:#2a3f50;
  --accent:#00ccff;--accent-dim:#0099cc;--accent-glow:#00ccff18;
  --success:#00e676;--danger:#ff4444;--warn:#ff9900;
  --text-hi:#f0f4f8;--text-mid:#b8c8d8;--text-dim:#8899aa;
  --hg:#ffc400;--hr:#ff3d5a;
  --font-mono:'JetBrains Mono',monospace;--font-ui:'Rajdhani',sans-serif;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--bg-base);background-image:radial-gradient(ellipse 80% 50% at 50% -5%,#ffc4000a 0%,transparent 65%),repeating-linear-gradient(0deg,transparent,transparent 39px,#ffffff03 40px),repeating-linear-gradient(90deg,transparent,transparent 39px,#ffffff02 40px);color:var(--text-hi);font-family:var(--font-mono);font-size:13px;line-height:1.6;min-height:100vh}
a{color:var(--accent);text-decoration:none;transition:color .2s}
a:hover{color:#fff}
::-webkit-scrollbar{width:6px;height:6px}
::-webkit-scrollbar-track{background:var(--bg-base)}
::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}
.page{max-width:1400px;margin:0 auto;padding:0 20px 50px}

/* Kopf */
.site-header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:22px 0 14px;border-bottom:1px solid var(--border);margin-bottom:16px}
.site-logo{font-family:var(--font-ui);font-size:30px;font-weight:700;color:var(--accent);letter-spacing:3px;text-transform:uppercase;text-shadow:0 0 18px var(--accent),0 0 36px #00ccff44}
.site-logo a{color:inherit}
.site-logo span{color:var(--hg);font-weight:600;font-size:15px;letter-spacing:2px;margin-left:10px;text-shadow:0 0 12px #ffc40066}

/* Navigation */
.nav-bar{background:var(--bg-panel);border:1px solid var(--border);border-radius:4px;padding:8px 12px;margin-bottom:16px;display:flex;flex-wrap:wrap;align-items:center;gap:2px 4px;font-family:var(--font-ui);font-size:13px;font-weight:600}
.nav-bar a{color:var(--text-mid);padding:5px 12px;border-radius:3px;transition:background .2s,color .2s;text-transform:uppercase;letter-spacing:1.5px}
.nav-bar a:hover{background:#ffc40012;color:var(--text-hi)}
.nav-bar a.active{background:#ffc4001c;color:var(--hg)}
.nav-bar .sep{color:var(--border-hi);padding:0 2px;user-select:none}

/* Hinweise */
.sh-gold{color:var(--hg)}
.sh-flash{border:1px solid var(--border-hi);background:var(--bg-panel);border-radius:4px;padding:10px 16px;margin-bottom:16px}
.sh-flash.ok{border-color:#00e67655;color:var(--success)}
.sh-flash.err{border-color:#ff444466;color:var(--danger)}
.sh-note{background:var(--bg-panel);border:1px dashed var(--border-hi);border-radius:4px;padding:12px 16px;color:var(--text-mid);font-size:12px}
.sh-note b{color:var(--text-hi)}

/* Abschnitte & Karten */
.section-label{font-family:var(--font-ui);font-size:11px;font-weight:600;letter-spacing:3px;text-transform:uppercase;color:#ffc400cc;margin:22px 0 10px;display:flex;align-items:center;gap:10px}
.section-label::after{content:'';flex:1;height:1px;background:var(--border)}
.section-label .dot{width:6px;height:6px;background:var(--hg);border-radius:50%;box-shadow:0 0 6px var(--hg)}
.card{background:var(--bg-card);border:1px solid var(--border);border-radius:4px;overflow:hidden;min-width:0}
.card-header{background:var(--bg-panel);border-bottom:1px solid var(--border);padding:9px 16px;font-family:var(--font-ui);font-size:12px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--hg);display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}
.card-header small{color:var(--text-dim);font-size:11px;letter-spacing:1px;font-weight:600}
.card-body{padding:16px}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:14px}
.grid-main{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:14px;margin-bottom:14px}
.mb{margin-bottom:14px}

/* Hero-Banner (Seitenkopf) */
.sh-banner{position:relative;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;padding:22px 24px;border:1px solid #ffc40040;border-radius:4px;overflow:hidden;margin-bottom:14px;background:radial-gradient(circle at 1px 1px,#ffc40014 1px,transparent 1.6px) 0 0/9px 9px,repeating-linear-gradient(115deg,transparent 0 22px,#ff3d5a08 22px 24px),linear-gradient(120deg,#22111a 0%,#161b24 55%,#141920 100%)}
.sh-banner::after{content:'⚡';position:absolute;right:-10px;top:-40px;font-size:180px;opacity:.06;transform:rotate(14deg);pointer-events:none}
.sh-kicker{font-family:var(--font-ui);font-size:11px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--hr)}
.sh-title{font-family:var(--font-ui);font-size:34px;font-weight:700;line-height:1.1;letter-spacing:1px;margin:4px 0 10px;background:linear-gradient(90deg,#fff3c4,var(--hg) 45%,#ff8a3d);-webkit-background-clip:text;background-clip:text;color:transparent;overflow-wrap:anywhere}
.sh-meta{display:flex;flex-wrap:wrap;gap:8px 10px;align-items:center;position:relative;z-index:1}
.sh-chip{font-size:12px;color:var(--text-mid);background:#0a0c0f99;border:1px solid var(--border);border-radius:3px;padding:3px 9px;white-space:nowrap}
.sh-chip strong{color:var(--text-hi)}
.sh-banner-right{position:relative;z-index:1;display:flex;gap:8px;flex-wrap:wrap}
.btn-hero{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:linear-gradient(90deg,var(--hr),#ff7a2f);color:#fff;font-family:var(--font-ui);font-size:14px;font-weight:700;letter-spacing:2px;text-transform:uppercase;padding:10px 16px;border-radius:3px;border:0;cursor:pointer;transition:box-shadow .2s,transform .2s;white-space:nowrap}
.btn-hero:hover{color:#fff;box-shadow:0 0 22px #ff3d5a77;transform:translateY(-1px)}
.btn-hero.disabled,.btn-hero:disabled{opacity:.35;pointer-events:none}
.btn-ghost{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:transparent;color:var(--text-mid);font-family:var(--font-ui);font-size:13px;font-weight:600;letter-spacing:2px;text-transform:uppercase;padding:9px 14px;border:1px solid var(--border-hi);border-radius:3px;cursor:pointer;transition:border-color .2s,color .2s;white-space:nowrap}
.btn-ghost:hover{border-color:var(--hg);color:var(--hg)}
.btn-ghost.sm{font-size:11px;padding:4px 10px;letter-spacing:1px}
.btn-danger:hover{border-color:var(--danger);color:var(--danger)}
.gs-status{display:inline-flex;align-items:center;gap:7px;font-family:var(--font-ui);font-size:12px;font-weight:700;letter-spacing:1px;text-transform:uppercase}
.gs-status .s-dot{width:8px;height:8px;border-radius:50%}
.gs-status.online{color:var(--success)}.gs-status.online .s-dot{background:var(--success);box-shadow:0 0 7px var(--success);animation:blink 2s ease-in-out infinite}
.gs-status.offline{color:var(--danger)}.gs-status.offline .s-dot{background:var(--danger)}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.3}}

/* Kennzahlen */
.sh-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:1px;background:var(--border);border:1px solid var(--border);border-radius:4px;overflow:hidden;margin-bottom:14px}
.sh-stat{background:var(--bg-card);padding:14px 16px;min-width:0}
.sh-stat-l{font-family:var(--font-ui);font-size:10px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--text-dim)}
.sh-stat-v{font-family:var(--font-ui);font-size:26px;font-weight:700;color:var(--text-hi);line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sh-stat-s{font-size:11px;color:var(--text-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* Avatare, Level, Balken */
.sh-ava{width:32px;height:32px;border-radius:50%;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-ui);font-weight:700;font-size:13px;color:#fff;background:linear-gradient(135deg,hsl(var(--h) 75% 48%),hsl(calc(var(--h) + 40) 80% 32%));box-shadow:0 0 0 2px #0a0c0f,0 0 0 3px hsl(var(--h) 70% 50% / .5);object-fit:cover}
img.sh-ava{box-shadow:0 0 0 2px #0a0c0f,0 0 0 3px #ffc40066}
.sh-ava.xl{width:96px;height:96px;font-size:36px}
.sh-ava.sm{width:24px;height:24px;font-size:10px}
.sh-lv{display:inline-block;font-family:var(--font-ui);font-size:13px;font-weight:700;letter-spacing:1px;color:#0a0c0f;background:linear-gradient(90deg,var(--hg),#ff9d2f);padding:0 7px;border-radius:3px;white-space:nowrap}
.sh-lv.max{background:linear-gradient(90deg,#ff3d5a,#ffc400,#00ccff);background-size:200% 100%;animation:shlv 3s linear infinite;color:#fff;text-shadow:0 0 4px #0008}
@keyframes shlv{to{background-position:200% 0}}
.sh-bar{height:6px;background:#0a0c0f;border-radius:3px;overflow:hidden;border:1px solid var(--border)}
.sh-bar span{display:block;height:100%;background:linear-gradient(90deg,var(--hr),var(--hg));border-radius:3px}
.sh-bar.lg{height:12px;border-radius:6px}
.sh-power{display:inline-block;font-size:10px;line-height:1.5;padding:0 7px;border:1px solid #ffc40030;border-radius:9px;color:var(--text-mid);background:#ffc4000a;white-space:nowrap;margin:2px 3px 0 0}
a.sh-power:hover{border-color:var(--hg);color:var(--hg)}
.sh-plink{color:var(--text-hi);font-family:var(--font-ui);font-weight:600;font-size:16px}
.sh-plink:hover{color:var(--hg)}
.sh-on{color:var(--success);font-size:11px;white-space:nowrap}
.sh-on::before{content:'';display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--success);box-shadow:0 0 5px var(--success);margin-right:5px;vertical-align:1px}
.sh-dim{color:var(--text-dim)}
.sh-tag{display:inline-block;font-size:9px;font-weight:700;letter-spacing:1px;padding:1px 5px;border-radius:2px;margin-left:6px;vertical-align:2px;background:#ffc40022;color:var(--hg);border:1px solid #ffc40055}

/* Tabellen / Listen */
.sh-table{width:100%;border-collapse:collapse}
.sh-table th{background:var(--bg-panel);color:var(--hg);font-family:var(--font-ui);font-size:10px;font-weight:700;letter-spacing:2px;text-transform:uppercase;padding:8px 12px;border-bottom:1px solid var(--border);text-align:left;white-space:nowrap}
.sh-table th.sort{cursor:pointer;user-select:none}
.sh-table th.sort:hover{color:#fff}
.sh-table th.sort.asc::after{content:' ▲'}.sh-table th.sort.desc::after{content:' ▼'}
.sh-table td{padding:8px 12px;border-bottom:1px solid #ffffff07;vertical-align:middle}
.sh-table tbody tr:nth-child(even){background:var(--bg-row-alt)}
.sh-table tbody tr:hover{background:#ffc4000d}
.sh-table .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.sh-table .rank{font-family:var(--font-ui);font-weight:700;font-size:16px;color:var(--text-dim);text-align:center;width:46px}
.sh-pcell{display:flex;align-items:center;gap:10px;min-width:0}
.sh-scroll{overflow-x:auto}
.sh-list{list-style:none}
.sh-list li{display:flex;align-items:center;gap:10px;padding:8px 16px;border-bottom:1px solid #ffffff07}
.sh-list li:last-child{border-bottom:none}
.sh-list .grow{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sh-empty{padding:28px 16px;text-align:center;color:var(--text-dim)}
.sh-empty .big{display:block;font-size:34px;margin-bottom:6px}
.sh-search{width:100%;background:var(--bg-base);border:1px solid var(--border-hi);border-radius:3px;color:var(--text-hi);font-family:var(--font-mono);font-size:13px;padding:7px 10px}
.sh-search:focus{outline:none;border-color:var(--hg)}
.sh-toolbar{display:flex;gap:10px;align-items:center;padding:10px 16px;border-bottom:1px solid var(--border);flex-wrap:wrap}
.sh-toolbar .sh-search{flex:1;min-width:180px}

/* Diagramme */
.sh-bars{display:flex;align-items:flex-end;gap:3px;height:150px;padding:10px 16px 0}
.sh-bars .b{flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;height:100%;min-width:0}
.sh-bars .b i{display:block;width:100%;max-width:26px;background:linear-gradient(0deg,var(--hr),var(--hg));border-radius:2px 2px 0 0;min-height:1px}
.sh-bars .b.zero i{background:var(--border)}
.sh-bars-x{display:flex;gap:3px;padding:4px 16px 12px;font-size:9px;color:var(--text-dim)}
.sh-bars-x span{flex:1;text-align:center;min-width:0}
.sh-heat{display:grid;grid-template-columns:28px repeat(24,1fr);gap:2px;padding:14px 16px;font-size:9px;color:var(--text-dim)}
.sh-heat div{height:16px;border-radius:2px;display:flex;align-items:center;justify-content:center}
.sh-heat .c{background:#ffc400;cursor:default}
.sh-heat .lbl{justify-content:flex-start}
.sh-legend{display:flex;gap:6px;align-items:center;padding:0 16px 14px;font-size:10px;color:var(--text-dim)}
.sh-legend i{display:inline-block;width:12px;height:10px;border-radius:2px;background:#ffc400}
.sh-chart{display:block;width:100%;height:auto}
.sh-chart text{font-family:var(--font-mono);font-size:10px;fill:var(--text-dim)}

/* Helden-Lexikon */
.sh-hero-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
.sh-hero{background:var(--bg-card);border:1px solid var(--border);border-radius:4px;padding:14px 16px;display:flex;flex-direction:column;gap:6px;transition:border-color .2s}
.sh-hero:hover,.sh-hero:target{border-color:#ffc40066}
.sh-hero-h{display:flex;align-items:center;gap:10px}
.sh-hero-ico{font-size:24px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#ffc40012;border:1px solid #ffc40033;border-radius:50%;flex-shrink:0}
.sh-hero-name{font-family:var(--font-ui);font-size:20px;font-weight:700;line-height:1.1}
.sh-hero-desc{color:var(--text-mid);font-size:12px}
.sh-hero-facts{display:flex;flex-wrap:wrap;gap:6px;font-size:11px}
.sh-hero-pop{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--text-dim);margin-top:auto}
.sh-hero-pop .sh-bar{flex:1}

/* Profil */
.sh-profile{display:flex;gap:22px;align-items:center;flex-wrap:wrap;position:relative;z-index:1}
.sh-profile-name{font-family:var(--font-ui);font-size:38px;font-weight:700;line-height:1.05;overflow-wrap:anywhere}
.sh-rank-big{font-family:var(--font-ui);font-size:54px;font-weight:700;color:var(--hg);line-height:1;text-shadow:0 0 22px #ffc40055;position:relative;z-index:1;text-align:right}
.sh-rank-big small{display:block;font-size:12px;letter-spacing:3px;color:var(--text-dim);text-transform:uppercase}
.sh-code{display:flex;gap:6px;align-items:stretch;margin-top:6px}
.sh-code input{flex:1;min-width:0;background:var(--bg-base);border:1px solid var(--border-hi);border-radius:3px;color:var(--text-mid);font-family:var(--font-mono);font-size:11px;padding:6px 8px}
.sh-timeline{list-style:none;padding:8px 16px 14px}
.sh-timeline li{display:flex;gap:10px;padding:4px 0;font-size:12px;color:var(--text-mid)}
.sh-timeline li time{color:var(--text-dim);min-width:84px}

/* Abstimmung */
.sh-poll{padding:16px}
.sh-poll h3{font-family:var(--font-ui);font-size:22px;margin-bottom:10px}
.sh-opt{position:relative;display:flex;align-items:center;gap:10px;border:1px solid var(--border-hi);border-radius:3px;padding:9px 12px;margin-bottom:6px;overflow:hidden;background:var(--bg-panel)}
.sh-opt .fill{position:absolute;inset:0 auto 0 0;background:linear-gradient(90deg,#ff3d5a33,#ffc40026);z-index:0}
.sh-opt > *:not(.fill){position:relative;z-index:1}
.sh-opt .lab{flex:1;font-family:var(--font-ui);font-size:16px;font-weight:600}
.sh-opt .pct{font-family:var(--font-ui);font-weight:700;color:var(--hg)}
.sh-opt.mine{border-color:var(--hg)}
.sh-opt button{all:unset;position:absolute;inset:0;cursor:pointer;z-index:2}
.sh-opt:hover{border-color:var(--hg)}

/* Formulare (Verwaltung, Mein Bereich) */
.sh-form{display:grid;gap:10px}
.sh-form label{display:grid;gap:4px;font-size:11px;color:var(--text-dim);text-transform:uppercase;letter-spacing:1px;font-family:var(--font-ui);font-weight:700}
.sh-form input,.sh-form textarea,.sh-form select{background:var(--bg-base);border:1px solid var(--border-hi);border-radius:3px;color:var(--text-hi);font-family:var(--font-mono);font-size:13px;padding:7px 10px;text-transform:none;letter-spacing:0;font-weight:400}
.sh-form textarea{min-height:70px;resize:vertical}
.sh-form input:focus,.sh-form textarea:focus,.sh-form select:focus{outline:none;border-color:var(--hg)}
.sh-form .row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.sh-check{display:flex !important;align-items:center;gap:8px;text-transform:none !important;letter-spacing:0 !important;font-family:var(--font-mono) !important;font-weight:400 !important;font-size:13px !important;color:var(--text-mid) !important}

/* Fuß */
.site-footer{border-top:1px solid var(--border);margin-top:20px;padding:14px 0;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:11px;color:var(--text-dim)}
.site-footer a{color:var(--text-dim)}
.site-footer a:hover{color:var(--hg)}

@media(max-width:1100px){.grid-main{grid-template-columns:1fr}.grid-3{grid-template-columns:1fr 1fr}}
@media(max-width:760px){
  .page{padding:0 16px 40px}
  .grid-2,.grid-3{grid-template-columns:1fr}
  .site-logo{font-size:24px}
  .sh-title,.sh-profile-name{font-size:28px}
  .sh-banner{padding:18px 16px}
  .sh-heat{grid-template-columns:22px repeat(24,1fr);gap:1px;padding:12px 10px}
  .sh-heat div{height:12px}
  .sh-heat .hx{visibility:hidden}.sh-heat .hx.m6{visibility:visible}
  .sh-table .hide-sm{display:none}
  .sh-rank-big{font-size:40px;text-align:left}
}
