/* ===== Battle-Bot Turnier – Arcade Style ===== */

:root{
  --bg:#0a0c11; --bg2:#10131b; --panel:#151a24; --panel2:#1b2130; --line:#262e40;
  --text:#e9edf5; --muted:#8a94a8; --dim:#5b6478;
  --p1:#ff3355; --p1d:#7a0f22; --p2:#2f8cff; --p2d:#0c3a7a;
  --gold:#ffd23f; --gold2:#ff9f1c; --win:#ffd23f; --input:#0d1017; --hover:#222a3b; --strong:#fff; --ok:#3ddc84; --warn:#ffb020; --err:#ff4d5e;
  --display:"Russo One","Arial Black",Impact,sans-serif;
  --body:"Chakra Petch",system-ui,-apple-system,"Segoe UI",sans-serif;
  --r:10px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--body);font-size:16px;line-height:1.45;
  background-image:radial-gradient(1200px 500px at 50% -200px,#1a2240 0%,transparent 70%),
    repeating-linear-gradient(0deg,rgba(255,255,255,.015) 0 1px,transparent 1px 4px);
  min-height:100vh}
a{color:inherit}
img{max-width:100%;display:block}
button,input,select,textarea{font:inherit;color:inherit}
.wrap{max-width:1180px;margin:0 auto;padding:0 16px}
.muted{color:var(--muted)} .dim{color:var(--dim)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* ---------- Header / Tabs ---------- */
.top{position:sticky;top:0;z-index:20;background:rgba(10,12,17,.88);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.top-row{display:flex;align-items:center;gap:12px;padding:10px 0}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;min-width:0}
.brand-mark{width:34px;height:34px;flex:none;border-radius:8px;display:grid;place-items:center;
  background:linear-gradient(135deg,var(--p1),var(--gold2));font-family:var(--display);font-size:15px;color:#111;transform:skew(-8deg)}
.brand-name{font-family:var(--display);font-size:18px;letter-spacing:.02em;line-height:1.15;overflow-wrap:anywhere}
.brand-sub{font-size:12px;color:var(--muted)}
.top-actions{margin-left:auto;display:flex;gap:8px;align-items:center}
.phase-pill{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;padding:4px 10px;border-radius:99px;
  border:1px solid var(--line);color:var(--muted);white-space:nowrap}
.phase-pill.live{color:#fff;border-color:var(--p1);background:rgba(255,51,85,.15)}
.tabs{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;margin:0 -16px;padding:0 16px}
.tabs::-webkit-scrollbar{display:none}
.tabs a{flex:none;text-decoration:none;padding:10px 14px 12px;font-weight:700;text-transform:uppercase;font-size:14px;letter-spacing:.06em;
  color:var(--muted);border-bottom:3px solid transparent}
.tabs a:hover{color:var(--text)}
.tabs a.on{color:var(--text);border-color:var(--gold)}
.icon-btn{display:inline-flex;align-items:center;gap:6px;text-decoration:none;font-size:13px;font-weight:700;padding:7px 10px;border-radius:8px;
  border:1px solid var(--line);background:var(--panel);color:var(--muted)}
.icon-btn:hover{color:var(--text);border-color:#3a4560}
main{padding:20px 0 60px}

/* ---------- Generic cards ---------- */
.card{background:linear-gradient(180deg,var(--panel),var(--bg2));border:1px solid var(--line);border-radius:var(--r);padding:16px}
.card h2,.h2{font-family:var(--display);font-size:17px;text-transform:uppercase;letter-spacing:.04em;margin:0 0 12px;display:flex;align-items:center;gap:8px}
.card h2 .more{margin-left:auto;font-family:var(--body);font-size:13px;color:var(--muted);text-decoration:none;font-weight:700;text-transform:none;letter-spacing:0}
.card h2 .more:hover{color:var(--gold)}
.grid-2{display:grid;grid-template-columns:1.25fr 1fr;gap:16px;margin-top:18px}
.stack{display:grid;gap:16px;align-content:start}
@media(max-width:860px){.grid-2{grid-template-columns:1fr}}
.empty{color:var(--muted);text-align:center;padding:18px 8px;font-size:15px}

/* ---------- VERSUS ---------- */
.vs{position:relative;border-radius:14px;overflow:hidden;border:1px solid var(--line);background:#07080c;isolation:isolate}
.vs::before{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(105deg,var(--p1d) 0%,#1a0710 44%,#05060a 50%,#06122a 56%,var(--p2d) 100%)}
.vs::after{content:"";position:absolute;inset:0;z-index:-1;opacity:.35;
  background:repeating-linear-gradient(105deg,transparent 0 18px,rgba(255,255,255,.04) 18px 19px)}
.vs-tag{display:flex;justify-content:center;align-items:center;gap:8px;padding:10px 12px 0;font-weight:700;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);text-align:center}
.vs-tag .dot{width:9px;height:9px;border-radius:50%;background:var(--dim)}
.vs.is-live .vs-tag{color:#fff}
.vs.is-live .vs-tag .dot{background:var(--p1);box-shadow:0 0 0 0 rgba(255,51,85,.7);animation:pulse 1.4s infinite}
@keyframes pulse{70%{box-shadow:0 0 0 10px rgba(255,51,85,0)}100%{box-shadow:0 0 0 0 rgba(255,51,85,0)}}

/* HUD: Lebensbalken + Timer wie im Prügelspiel */
.hud{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;padding:12px 16px 0}
.bar{height:18px;border:2px solid #f5f5f5;border-radius:3px;background:#3a0b12;position:relative;overflow:hidden;transform:skew(-14deg)}
.bar i{position:absolute;inset:0;background:linear-gradient(180deg,#fff27a,var(--gold) 45%,var(--gold2));transform-origin:right}
.bar.p2 i{transform-origin:left}
.bar.p1{box-shadow:0 0 18px rgba(255,51,85,.35)} .bar.p2{box-shadow:0 0 18px rgba(47,140,255,.35)}
.vs-in .bar i{animation:fill 1s .5s both cubic-bezier(.2,.8,.2,1)}
@keyframes fill{from{transform:scaleX(0)}}
.clock{min-width:96px;text-align:center;font-family:var(--display);font-size:34px;line-height:1;color:#fff;
  padding:6px 10px;border:2px solid #f5f5f5;border-radius:6px;background:#000;text-shadow:0 0 12px rgba(255,210,63,.5);font-variant-numeric:tabular-nums}
.clock.low{color:var(--p1);text-shadow:0 0 14px rgba(255,51,85,.8)}
.clock.over{animation:blink .6s steps(2) infinite;color:var(--p1)}
.clock.idle{color:var(--muted);text-shadow:none}
@keyframes blink{50%{opacity:.15}}
.names{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;padding:6px 16px 0;font-weight:700;text-transform:uppercase;font-size:13px;letter-spacing:.08em}
.names .n2{text-align:right}
.names .mid{min-width:96px}

.stage{position:relative;display:grid;grid-template-columns:1fr 1fr;align-items:end;min-height:300px;padding:10px 0 0}
.fighter{position:relative;display:flex;flex-direction:column;align-items:center;padding:0 10px 18px;min-width:0}
.f-photo{position:relative;width:min(100%,300px);aspect-ratio:1;display:grid;place-items:center;overflow:hidden;
  clip-path:polygon(8% 0,100% 0,92% 100%,0 100%);background:#111}
.p1 .f-photo{background:linear-gradient(160deg,#ff5c77,var(--p1d))}
.p2 .f-photo{background:linear-gradient(200deg,#5aa6ff,var(--p2d));clip-path:polygon(0 0,92% 0,100% 100%,8% 100%)}
.f-photo img{width:100%;height:100%;object-fit:cover}
.f-photo .mono{font-family:var(--display);font-size:clamp(46px,9vw,110px);color:rgba(255,255,255,.92);text-shadow:0 6px 0 rgba(0,0,0,.35)}
.f-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.55),transparent 45%)}
.f-name{font-family:var(--display);text-transform:uppercase;font-style:italic;font-size:clamp(20px,4.2vw,44px);line-height:1;margin-top:-26px;
  position:relative;z-index:2;text-align:center;max-width:100%;overflow-wrap:anywhere;
  text-shadow:3px 3px 0 #000,-1px -1px 0 #000,1px -1px 0 #000,-1px 1px 0 #000}
.p1 .f-name{color:#fff;-webkit-text-stroke:0} .p1 .f-name span{color:var(--p1)}
.f-team{margin-top:6px;font-weight:700;font-size:15px;color:#dfe5f1;text-align:center}
.f-stats{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin-top:8px}
.chip{font-size:12px;font-weight:700;padding:3px 8px;border-radius:99px;background:rgba(0,0,0,.45);border:1px solid rgba(255,255,255,.15);white-space:nowrap}
.chip.gold{color:#111;background:var(--gold);border-color:var(--gold)}

.vs-mark{position:absolute;left:50%;top:44%;transform:translate(-50%,-50%);z-index:5;pointer-events:none;
  font-family:var(--display);font-style:italic;font-size:clamp(56px,11vw,140px);line-height:.8;letter-spacing:-.04em;
  background:linear-gradient(180deg,#fffbe0 0%,var(--gold) 40%,var(--gold2) 60%,#c2410c 100%);-webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 0 2px #000) drop-shadow(4px 4px 0 #000) drop-shadow(0 0 24px rgba(255,159,28,.55))}
.vs-flash{position:absolute;inset:0;background:#fff;opacity:0;pointer-events:none;z-index:6}

.vs-in .p1{animation:inL .55s cubic-bezier(.2,.9,.2,1) both}
.vs-in .p2{animation:inR .55s cubic-bezier(.2,.9,.2,1) both}
.vs-in .vs-mark{animation:slam .5s .45s cubic-bezier(.2,1.6,.4,1) both}
.vs-in .vs-flash{animation:flash .45s .5s ease-out}
@keyframes inL{from{transform:translateX(-70%);opacity:0}}
@keyframes inR{from{transform:translateX(70%);opacity:0}}
@keyframes slam{from{transform:translate(-50%,-50%) scale(3) rotate(-8deg);opacity:0}}
@keyframes flash{0%{opacity:.6}100%{opacity:0}}

.vs-foot{display:flex;justify-content:center;gap:10px;padding:0 12px 14px;color:var(--muted);font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}

/* Warte-/Siegerbildschirm */
.vs-msg{padding:56px 16px;text-align:center}
.vs-msg .big{font-family:var(--display);font-size:clamp(30px,6vw,60px);text-transform:uppercase;font-style:italic;
  background:linear-gradient(180deg,#fff,var(--gold));-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(3px 3px 0 #000)}
.vs-msg p{color:var(--muted);margin:8px 0 0}
.champ{display:flex;flex-direction:column;align-items:center;gap:6px;padding:28px 16px 34px}
.champ .crown{font-size:42px;line-height:1}
.champ .f-photo{width:min(70vw,260px);clip-path:polygon(8% 0,100% 0,92% 100%,0 100%);background:linear-gradient(160deg,var(--gold),#7a4b00)}
.champ .label{font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);font-size:14px}
.champ .f-name{margin-top:-24px;color:#fff}

/* Mobil */
@media(max-width:640px){
  .wrap{padding:0 12px}
  .hud{padding:10px 10px 0;gap:6px}
  .bar{height:12px;border-width:2px}
  .clock{min-width:70px;font-size:24px;padding:5px 6px}
  .names{padding:4px 10px 0;font-size:11px} .names .mid{min-width:70px}
  .stage{min-height:0;padding-top:8px}
  .fighter{padding:0 4px 14px}
  .f-name{margin-top:-16px}
  .f-team{font-size:13px}
  .chip{font-size:11px;padding:2px 6px}
  .vs-mark{top:36%}
  .brand-name{font-size:16px}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}

/* ---------- Listen: Kampfplan / Ergebnisse ---------- */
.fights{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.fight{display:grid;grid-template-columns:34px 1fr auto 1fr;align-items:center;gap:8px;padding:10px 12px;border-radius:8px;background:var(--panel2);border:1px solid var(--line)}
.fight .no{font-family:var(--display);color:var(--dim);font-size:14px}
.fight .a{text-align:right;min-width:0} .fight .b{min-width:0}
.fight .bn{font-weight:700;overflow-wrap:anywhere;hyphens:auto;line-height:1.2}
.fight .tn{font-size:12px;color:var(--muted);overflow-wrap:anywhere;line-height:1.25;margin-top:2px}
.fight .x{font-family:var(--display);font-style:italic;font-size:13px;color:var(--gold)}
.fight .a{border-right:3px solid var(--p1);padding-right:8px} .fight .b{border-left:3px solid var(--p2);padding-left:8px}
.fight.next{border-color:rgba(255,210,63,.5)}
.fight .win .bn{color:var(--win)}
.fight .lose{opacity:.5}
.fight .wt{grid-column:2/-1;font-size:12px;color:var(--muted);text-align:center;margin-top:-2px}
.fight.bye{grid-template-columns:34px 1fr}
.fight.live{border-color:var(--p1);box-shadow:0 0 0 1px var(--p1) inset}
.tag-live{font-size:10px;font-weight:700;background:var(--p1);color:#fff;border-radius:4px;padding:1px 5px;letter-spacing:.08em}
.round-head{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin:6px 0 2px}

/* ---------- Ranking ---------- */
.rank-table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
.rank-table th{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);text-align:right;padding:6px 8px;border-bottom:1px solid var(--line);font-weight:700}
.rank-table th:nth-child(2){text-align:left}
.rank-table td{padding:9px 8px;border-bottom:1px solid rgba(38,46,64,.6);text-align:right}
.rank-table td.who{text-align:left;width:100%}
.rank-table .bn{font-weight:700;overflow-wrap:anywhere}
.rank-table .tn{font-size:12px;color:var(--muted);overflow-wrap:anywhere}
.rank-table .pos{font-family:var(--display);color:var(--muted);width:36px}
.rank-table tr.r1 .pos{color:var(--win)} .rank-table tr.r2 .pos{color:#cfd6e3} .rank-table tr.r3 .pos{color:#e08b4f}
.rank-table tr.cut td{border-bottom:2px dashed rgba(255,210,63,.55)}
.rank-table .pts{font-family:var(--display);font-size:17px;color:var(--strong)}
.rank-table tr.out{opacity:.45}
.rank-table.compact td{padding:7px 6px}
@media(max-width:560px){.rank-table .hide-s{display:none}}
.legend{font-size:12px;color:var(--muted);margin-top:10px}

.podium{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}
.pod{border-radius:10px;padding:14px;background:var(--panel2);border:1px solid var(--line);display:flex;gap:12px;align-items:center}
.pod .place{font-family:var(--display);font-size:30px;line-height:1}
.pod.p-1{border-color:var(--gold);background:linear-gradient(135deg,rgba(255,210,63,.18),var(--panel2))} .pod.p-1 .place{color:var(--win)}
.pod.p-2 .place{color:#cfd6e3} .pod.p-3 .place{color:#e08b4f}
.pod .bn{font-weight:700} .pod .tn{font-size:12px;color:var(--muted)}

/* ---------- Runden-Tabs + Bracket ---------- */
.seg{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}
.seg a{flex:none;text-decoration:none;font-weight:700;font-size:14px;padding:8px 14px;border-radius:8px;background:var(--panel);border:1px solid var(--line);color:var(--muted)}
.seg a.on{background:var(--gold);color:#111;border-color:var(--gold)}
.seg a.future{opacity:.45}
.bracket{display:flex;gap:22px;overflow-x:auto;padding:6px 2px 14px;scroll-snap-type:x proximity}
.b-col{flex:0 0 230px;display:flex;flex-direction:column;scroll-snap-align:start}
.b-col h3{margin:0 0 10px;font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}
.b-list{flex:1;display:flex;flex-direction:column;justify-content:space-around;gap:12px}
.b-match{background:var(--panel2);border:1px solid var(--line);border-radius:8px;overflow:hidden;position:relative}
.b-match.live{border-color:var(--p1)}
.b-slot{display:flex;align-items:center;gap:8px;padding:8px 10px;font-weight:700;font-size:14px}
.b-slot+.b-slot{border-top:1px solid var(--line)}
.b-slot .sd{font-size:11px;color:var(--dim);width:16px}
.b-slot .nm{flex:1;min-width:0;overflow-wrap:anywhere}
.b-slot.win{color:var(--win)} .b-slot.lose{opacity:.45}
.b-slot.tbd{color:var(--dim);font-weight:400;font-style:italic}
.b-slot .wt{font-size:10px;color:var(--muted);font-weight:700}
.b-col.final .b-match{border-color:rgba(255,210,63,.6);box-shadow:0 0 22px rgba(255,210,63,.12)}

/* ---------- Teams ---------- */
.team-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}
.team-card h3{margin:0;font-family:var(--display);font-size:18px}
.team-card .origin{font-size:13px;color:var(--muted)}
.bot-row{display:flex;gap:12px;align-items:center;margin-top:12px}
.thumb{width:56px;height:56px;flex:none;border-radius:8px;overflow:hidden;background:linear-gradient(135deg,#2a3348,#151a24);display:grid;place-items:center;font-family:var(--display);color:#cbd3e1}
.thumb img{width:100%;height:100%;object-fit:cover}
.bot-row .bn{font-weight:700} .bot-row .wp{font-size:13px;color:var(--muted)}
.out-badge{font-size:11px;font-weight:700;color:var(--err);border:1px solid var(--err);border-radius:4px;padding:0 5px;margin-left:6px}

/* ---------- Arena (Beamer) ---------- */
body.arena{overflow:hidden;background:var(--bg)}
.arena-wrap{height:100vh;height:100dvh;display:flex;flex-direction:column;padding:2vh 2vw;gap:1.5vh}
.arena-head{display:flex;align-items:center;gap:16px}
.arena-head .t{font-family:var(--display);font-size:2.4vh;text-transform:uppercase;letter-spacing:.06em}
.arena-head .p{margin-left:auto;color:var(--muted);font-weight:700;letter-spacing:.1em;text-transform:uppercase;font-size:1.8vh}
.arena .vs{flex:1;display:flex;flex-direction:column;border-radius:1.5vh}
.arena .vs-tag{font-size:2vh;padding-top:2vh}
.arena .hud{padding:2vh 3vw 0;gap:2vw}
.arena .bar{height:3.2vh;border-width:.4vh}
.arena .clock{font-size:7.5vh;min-width:18vh;padding:.8vh 1.6vh;border-width:.4vh}
.arena .names{font-size:2.2vh;padding:1vh 3vw 0}
.arena .names .mid{min-width:18vh}
.arena .stage{flex:1;min-height:0}
.arena .f-photo{width:auto;height:min(46vh,38vw)}
.arena .f-name{font-size:7vh;margin-top:-4.5vh}
.arena .f-team{font-size:2.6vh}
.arena .chip{font-size:1.8vh;padding:.4vh 1vh}
.arena .vs-mark{font-size:22vh}
.arena .vs-msg .big{font-size:9vh}
.arena .champ .f-photo{width:auto;height:44vh}
.ticker{display:flex;align-items:center;gap:2vw;min-height:9vh}
.ticker .lbl{font-family:var(--display);color:var(--gold);font-size:2.2vh;text-transform:uppercase;white-space:nowrap}
.ticker ol{display:flex;flex-wrap:wrap;gap:1vw;list-style:none;margin:0;padding:0;overflow:hidden;flex:1;max-height:6.2vh;align-content:flex-start}
.ticker li{flex:none;background:var(--panel);border:1px solid var(--line);border-radius:1vh;padding:1vh 1.4vw;font-weight:700;font-size:2.1vh;white-space:nowrap}
.ticker li i{font-style:normal;color:var(--gold);margin:0 .6vw;font-family:var(--display)}
.qr{background:#fff;border-radius:1vh;padding:.6vh;width:9vh;height:9vh;flex:none}
.qr img{width:100%;height:100%}
.qr-cap{font-size:1.5vh;color:var(--muted);max-width:12vh;line-height:1.2}
.fs-btn{position:fixed;right:12px;bottom:12px;opacity:.15}
.fs-btn:hover{opacity:1}

/* ---------- Buttons / Forms (Admin) ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--line);background:var(--panel2);color:var(--text);
  border-radius:8px;padding:9px 14px;font-weight:700;font-size:14px;cursor:pointer;text-decoration:none;white-space:nowrap;min-height:40px}
.btn:hover{border-color:var(--muted);background:var(--hover)}
.btn.primary{background:var(--gold);color:#111;border-color:var(--gold)} .btn.primary:hover{background:#ffe066}
.btn.red{background:var(--p1);border-color:var(--p1);color:#fff} .btn.blue{background:var(--p2);border-color:var(--p2);color:#fff}
.btn.red:hover{background:#ff4d6a} .btn.blue:hover{background:#4c9dff}
.btn.danger{color:var(--err);border-color:rgba(255,77,94,.4);background:transparent}
.btn.ghost{background:transparent}
.btn.sm{min-height:32px;padding:5px 10px;font-size:13px}
.btn.big{min-height:52px;font-size:16px;padding:12px 18px}
.btn:disabled{opacity:.4;cursor:not-allowed}
.row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.field{display:grid;gap:4px;margin-bottom:10px}
.field label,.lbl-s{font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}
input[type=text],input[type=password],input[type=number],input[type=date],input[type=time],input[type=url],select{
  width:100%;background:var(--input);border:1px solid var(--line);border-radius:8px;padding:9px 11px;min-height:42px}
input:focus,select:focus{outline:2px solid var(--gold);outline-offset:-1px;border-color:transparent}
input[type=file]{font-size:13px;color:var(--muted);max-width:100%}
.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:0 12px}
.flash{padding:10px 14px;border-radius:8px;margin-bottom:10px;font-weight:700;border:1px solid}
.flash.ok{border-color:rgba(61,220,132,.4);background:rgba(61,220,132,.1);color:#a8f0c6}
.flash.error{border-color:rgba(255,77,94,.5);background:rgba(255,77,94,.12);color:#ffb3bb}
.flash.warn{border-color:rgba(255,176,32,.5);background:rgba(255,176,32,.12);color:#ffd88a}
details.edit>summary{cursor:pointer;list-style:none;font-size:13px;color:var(--muted);font-weight:700}
details.edit>summary::-webkit-details-marker{display:none}
details.edit[open]>summary{color:var(--gold)}
.admin-bar{background:repeating-linear-gradient(135deg,#2b1d00 0 12px,#211600 12px 24px);border-bottom:1px solid #5a3d00;font-size:13px}
.admin-bar .wrap{display:flex;gap:10px;align-items:center;padding-top:6px;padding-bottom:6px;flex-wrap:wrap}
.admin-bar b{color:var(--gold);letter-spacing:.1em;text-transform:uppercase}
.admin-bar a,.admin-bar button{color:#ffe7a3;background:none;border:0;padding:0;cursor:pointer;font-weight:700;font-size:13px;text-decoration:underline}
.admin-bar form{margin:0}

/* Admin: Kampf-Steuerung */
.ctrl{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--panel)}
.ctrl-head{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--line);background:var(--bg2);flex-wrap:wrap}
.ctrl-head .lbl{font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:13px}
.ctrl-vs{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:center;padding:14px}
.ctrl-vs .side{min-width:0}
.ctrl-vs .side .bn{font-family:var(--display);font-size:20px;overflow-wrap:anywhere;line-height:1.1}
.ctrl-vs .side .tn{font-size:13px;color:var(--muted)}
.ctrl-vs .s1{border-left:4px solid var(--p1);padding-left:10px}
.ctrl-vs .s2{border-right:4px solid var(--p2);padding-right:10px;text-align:right}
.ctrl-clock{font-family:var(--display);font-size:32px;text-align:center;font-variant-numeric:tabular-nums;min-width:90px}
.ctrl-body{padding:0 14px 14px;display:grid;gap:12px}
.result-form{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.result-form select{grid-column:1/-1}
.m-list{display:grid;gap:8px}
.m-item{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:10px 12px;border-radius:10px;background:var(--panel2);border:1px solid var(--line)}
.m-item.live{border-color:var(--p1)}
.m-item.done{opacity:.85}
.m-item .no{font-family:var(--display);color:var(--dim);width:24px;text-align:center}
.m-item .who{min-width:0;font-weight:700;overflow-wrap:anywhere}
.m-item .who .w{color:var(--win)}
.m-item .who small{display:block;font-weight:400;color:var(--muted);font-size:12px}
.m-item .acts{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.m-item details.edit{grid-column:1/-1}
@media(max-width:640px){
  .m-item{grid-template-columns:auto 1fr}
  .m-item .acts{grid-column:1/-1;justify-content:flex-start}
  .ctrl-vs .side .bn{font-size:17px}
  .ctrl-clock{font-size:26px;min-width:70px}
}
.steps{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}
.step{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:6px 10px;border-radius:99px;border:1px solid var(--line);color:var(--dim)}
.step.on{border-color:var(--gold);color:var(--win)} .step.done{color:var(--ok);border-color:rgba(61,220,132,.35)}
.t-list{display:grid;gap:10px}
.t-item{display:flex;gap:12px;align-items:center;flex-wrap:wrap;justify-content:space-between}
.badge{font-size:11px;font-weight:700;padding:2px 7px;border-radius:4px;background:var(--panel2);border:1px solid var(--line);color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
.badge.on{color:#111;background:var(--ok);border-color:var(--ok)}
hr.sep{border:0;border-top:1px solid var(--line);margin:16px 0}
.foot{color:var(--dim);font-size:12px;text-align:center;padding:24px 0}
.foot a{color:var(--muted)}
@media(max-width:480px){.hide-xs{display:none}}
/* Feinschliff */
.f-name{white-space:nowrap;overflow:hidden;padding:0 4px}
.rank-table th,.rank-table td{white-space:nowrap}
.rank-table td.who{white-space:normal}
.icon-btn{white-space:nowrap}
body.arena main{display:none}
.arena .vs{min-height:0;overflow:hidden}
.arena .f-photo{height:min(36vh,34vw)}
.arena .stage{align-items:center}
@media(max-width:640px){
  .ctrl-vs{grid-template-columns:1fr 1fr}
  .ctrl-clock{grid-column:1/-1;order:-1}
  .ctrl-vs .side .bn{font-size:16px}
}
.podium{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}
.pod>div:last-child{min-width:0}
.pod .bn,.pod .tn{overflow-wrap:anywhere}

/* ---------- Icons ---------- */
.ic{width:1.1em;height:1.1em;flex:none;vertical-align:-.15em}
.btn .ic{width:18px;height:18px}
.more .ic{width:14px;height:14px}
.live-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--p1);margin-right:6px;vertical-align:1px}
.phase-pill.live{display:inline-flex;align-items:center}
.arena-head .p.live{color:var(--p1)}

/* ---------- Mobile: Tabs passen auf eine Zeile, Bracket untereinander ---------- */
@media(max-width:640px){
  .tabs{gap:0}
  .tabs a{flex:1 1 auto;text-align:center;padding:10px 6px 12px;font-size:13px;letter-spacing:.03em}
  .bracket{flex-direction:column;overflow:visible;gap:18px}
  .b-col{flex:none}
  .b-list{gap:8px}
  .fight{grid-template-columns:22px 1fr auto 1fr;gap:6px;padding:10px 8px}
  .fight .a{padding-right:6px} .fight .b{padding-left:6px}
}

/* ---------- Rumble ---------- */
.rumble-title{text-align:center;font-family:var(--display);text-transform:uppercase;font-style:italic;
  font-size:clamp(26px,5.5vw,64px);line-height:1;margin:14px 0 4px;
  background:linear-gradient(180deg,#fffbe0 0%,var(--gold) 45%,var(--gold2) 65%,#c2410c 100%);-webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(3px 3px 0 #000)}
.rumble-sub{text-align:center;color:#dfe5f1;font-weight:700;font-size:14px;letter-spacing:.08em;text-transform:uppercase}
.rumble-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:14px;padding:16px 16px 20px}
.r-f{display:flex;flex-direction:column;align-items:center;text-align:center;min-width:0}
.r-f .f-photo{width:100%;max-width:180px}
.r-f:nth-child(odd) .f-photo{background:linear-gradient(160deg,#ff5c77,var(--p1d))}
.r-f:nth-child(even) .f-photo{background:linear-gradient(200deg,#5aa6ff,var(--p2d));clip-path:polygon(0 0,92% 0,100% 100%,8% 100%)}
.r-f .f-photo .mono{font-size:clamp(30px,6vw,58px)}
.r-name{font-family:var(--display);text-transform:uppercase;font-style:italic;font-size:clamp(15px,2vw,22px);line-height:1.05;margin-top:-14px;position:relative;z-index:2;
  color:#fff;text-shadow:2px 2px 0 #000,-1px -1px 0 #000;overflow-wrap:anywhere;max-width:100%}
.r-team{font-size:12px;color:#dfe5f1;margin-top:3px;overflow-wrap:anywhere}
.r-place{margin-top:6px}
.r-f.out{opacity:.45}
.vs-in .r-f{animation:pop .45s cubic-bezier(.2,1.4,.4,1) both}
.vs-in .r-f:nth-child(2){animation-delay:.06s}.vs-in .r-f:nth-child(3){animation-delay:.12s}.vs-in .r-f:nth-child(4){animation-delay:.18s}
.vs-in .r-f:nth-child(5){animation-delay:.24s}.vs-in .r-f:nth-child(6){animation-delay:.3s}.vs-in .r-f:nth-child(n+7){animation-delay:.36s}
@keyframes pop{from{transform:scale(.4);opacity:0}}
.arena .rumble-grid{flex:1;align-content:center;grid-template-columns:repeat(auto-fit,minmax(16vh,1fr))}
.arena .r-f .f-photo{max-width:22vh}
.arena .r-name{font-size:3.2vh}
.arena .rumble-title{font-size:7vh}
@media(max-width:640px){.rumble-grid{grid-template-columns:repeat(3,1fr);gap:10px;padding:12px 10px 16px}.r-name{margin-top:-10px}}
.fight.rumble{grid-template-columns:22px 1fr}
.fight.rumble .rn{font-weight:700}
.fight.rumble .rl{font-size:13px;color:var(--muted);overflow-wrap:anywhere}
.fight.rumble .rl b{color:var(--win)}
.r-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.r-list li{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:8px;background:var(--panel2);border:1px solid var(--line)}
.r-list .pl{font-family:var(--display);width:34px;color:var(--muted)}
.r-list li.q{border-color:var(--gold)} .r-list li.q .pl{color:var(--win)}
.r-list .bn{font-weight:700;overflow-wrap:anywhere} .r-list .tn{font-size:12px;color:var(--muted)}
.r-list .qb{margin-left:auto;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#111;background:var(--gold);padding:2px 8px;border-radius:99px;white-space:nowrap}
.place-grid{display:grid;gap:8px}
.place-row{display:grid;grid-template-columns:110px 1fr;gap:8px;align-items:center}
.place-row span{font-size:13px;font-weight:700;color:var(--muted)}
.place-row.q span{color:var(--win)}
@media(max-width:480px){.place-row{grid-template-columns:1fr}}
.r-chips{display:flex;flex-wrap:wrap;gap:6px;padding:14px}
.r-chips .chip{background:var(--panel2);border-color:var(--line);font-size:13px}
.r-chips .chip.q{background:var(--gold);color:#111;border-color:var(--gold)}
.ko-form .opt{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 12px;border:1px solid var(--line);border-radius:8px;margin-bottom:8px;cursor:pointer;background:var(--panel2)}
.ko-form .opt input[type=number]{width:72px;min-height:36px;padding:4px 8px}
.pick-list{display:grid;gap:6px;margin:10px 0 14px;max-height:420px;overflow:auto;padding-right:4px}
.pick{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;border:1px solid var(--line);background:var(--bg2);cursor:pointer}
.pick input{width:20px;height:20px;flex:none;accent-color:var(--gold)}
.pick .rk{font-family:var(--display);color:var(--muted);width:28px}
.pick .nm{font-weight:700;overflow-wrap:anywhere;min-width:0}
.pick small{display:block;font-weight:400;color:var(--muted)}
.pick .dq{margin-left:auto;font-size:11px;font-weight:700;color:var(--ok);text-transform:uppercase;display:none}
.pick.direct{opacity:.6;cursor:default}.pick.direct input{visibility:hidden}.pick.direct .dq{display:inline}
.theme-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin-bottom:10px}
.theme-card{display:block;border:2px solid var(--line);border-radius:10px;padding:8px;cursor:pointer;background:var(--panel2)}
.theme-card:has(input:checked){border-color:var(--gold)}
.theme-card input{margin-right:6px}
.theme-card .sw{height:44px;border-radius:6px;margin-bottom:6px}
.theme-card b{font-size:14px}
.theme-card a{font-size:12px;color:var(--muted);display:block;margin-top:2px}

/* ======================================================================
   THEMES
   ====================================================================== */
@font-face{font-family:"Barlow Condensed";font-weight:500;src:url(fonts/barlow-condensed-latin-500-normal.woff2) format("woff2");font-display:swap}
@font-face{font-family:"Barlow Condensed";font-weight:700;src:url(fonts/barlow-condensed-latin-700-normal.woff2) format("woff2");font-display:swap}
@font-face{font-family:"Barlow Condensed";font-weight:800;font-style:italic;src:url(fonts/barlow-condensed-latin-800-italic.woff2) format("woff2");font-display:swap}

/* ---------- BROADCAST (einziges Design) ---------- */
[data-theme=broadcast]{
  --bg:#eef1f5; --bg2:#ffffff; --panel:#ffffff; --panel2:#f4f6f9; --line:#d7dce5;
  --text:#0f1724; --muted:#56627a; --dim:#8b95a8;
  --p1:#e10600; --p1d:#7d0300; --p2:#0050d0; --p2d:#002a70;
  --gold:#ffb800; --gold2:#ff8a00; --win:#a35f00; --input:#fff; --hover:#eef1f6; --strong:#0f1724;
  --ok:#0e8a4a; --err:#c81e2c; --warn:#a86400;
  --display:"Barlow Condensed","Arial Narrow",sans-serif; --body:"Barlow Condensed","Arial Narrow",sans-serif;
}
[data-theme=broadcast] body{font-size:17px;background-image:none}
[data-theme=broadcast] .top{background:rgba(255,255,255,.92)}
[data-theme=broadcast] .brand-name,[data-theme=broadcast] .card h2,[data-theme=broadcast] .h2{font-weight:800;font-style:italic;letter-spacing:.01em}
[data-theme=broadcast] .brand-mark{background:#0f1724;color:#fff;transform:skew(-10deg);font-family:var(--display);font-weight:800;font-style:italic}
[data-theme=broadcast] .card{background:#fff;box-shadow:0 1px 2px rgba(15,23,36,.06),0 6px 20px rgba(15,23,36,.05)}
[data-theme=broadcast] .vs{border:0;box-shadow:0 10px 30px rgba(15,23,36,.18)}
[data-theme=broadcast] .vs::before{background:linear-gradient(105deg,var(--p1) 0 26%,#0f1724 26.2% 73.8%,var(--p2) 74%)}
[data-theme=broadcast] .vs::after{opacity:.6;background:repeating-linear-gradient(105deg,transparent 0 40px,rgba(255,255,255,.03) 40px 80px)}
[data-theme=broadcast] .vs-tag{color:#fff}
[data-theme=broadcast] .bar{transform:skew(-20deg);border:0;border-radius:0;background:rgba(255,255,255,.18);box-shadow:none;height:10px}
[data-theme=broadcast] .bar i{background:#fff}
[data-theme=broadcast] .clock{font-family:var(--display);font-weight:800;font-style:italic;border:0;border-radius:4px;background:#fff;color:#0f1724;text-shadow:none;transform:skew(-10deg)}
[data-theme=broadcast] .clock.idle{color:#8b95a8}
[data-theme=broadcast] .clock.low,[data-theme=broadcast] .clock.over{background:var(--p1);color:#fff}
[data-theme=broadcast] .vs-mark,[data-theme=broadcast] .rumble-title{font-weight:800;background:none;color:#fff;filter:none;text-shadow:0 6px 0 rgba(0,0,0,.25);letter-spacing:-.02em}
[data-theme=broadcast] .f-photo,[data-theme=broadcast] .r-f .f-photo{clip-path:none!important;border:4px solid #fff;border-radius:6px;box-shadow:0 10px 24px rgba(0,0,0,.35)}
[data-theme=broadcast] .f-photo::after{display:none}
[data-theme=broadcast] .f-name,[data-theme=broadcast] .r-name{font-weight:800;text-shadow:none;margin-top:10px;color:#fff}
[data-theme=broadcast] .f-name{background:#fff;color:#0f1724;padding:2px 14px;transform:skew(-10deg);margin-top:-18px}
[data-theme=broadcast] .p1 .f-name{box-shadow:6px 0 0 var(--p1) inset} [data-theme=broadcast] .p2 .f-name{box-shadow:-6px 0 0 var(--p2) inset}
[data-theme=broadcast] .r-name{margin-top:6px}
[data-theme=broadcast] .chip{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.3);color:#fff}
[data-theme=broadcast] .chip.gold{background:var(--gold);color:#111}
[data-theme=broadcast] .vs-msg .big,[data-theme=broadcast] .champ .label{background:none;color:#fff;filter:none;-webkit-text-fill-color:#fff}
[data-theme=broadcast] .fight .x{color:var(--p1)}
[data-theme=broadcast] .fight.next{border-color:var(--gold)}
[data-theme=broadcast] .flash.ok{color:#0b5e33;background:#e3f6ec} [data-theme=broadcast] .flash.error{color:#8a0f19;background:#fde8ea}
[data-theme=broadcast] .flash.warn{color:#6b4200;background:#fff3d6}
[data-theme=broadcast] .admin-bar{background:#0f1724;border-color:#0f1724} [data-theme=broadcast] .admin-bar b{color:var(--gold)}
[data-theme=broadcast] .thumb{background:linear-gradient(135deg,#dfe4ec,#c9d0dc);color:#3b4558}
[data-theme=broadcast] .tag-live{background:var(--p1)}
[data-theme=broadcast] .pod.p-1{background:linear-gradient(135deg,#fff4d6,#fff)}
[data-theme=broadcast] .rank-table td{border-bottom-color:#e6e9ef}
[data-theme=broadcast] .pick{background:#fff}
[data-theme=broadcast] .rumble-sub,[data-theme=broadcast] .r-team{color:#dfe5f1}
.r-name{white-space:nowrap;overflow:hidden;padding:0 2px}
.qr-cap span{color:var(--strong)!important}
[data-theme=broadcast] .phase-pill.live{color:var(--p1);background:#fff0f0}
[data-theme=broadcast] .arena-head .p{color:var(--muted)}
.nw{white-space:nowrap}
.podium{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}
.pod .bn,.pod .tn{overflow-wrap:normal;word-break:normal;hyphens:auto}

/* ======================================================================
   VERSUS NUR MIT NAMEN
   ====================================================================== */
.stage.duel{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:14px;min-height:230px;padding:26px 22px 30px}
.stage.duel .fighter{padding:0;justify-content:center;min-width:0}
.stage.duel .f-name{margin:0;font-size:clamp(30px,5.4vw,84px);line-height:1.02;max-width:100%}
.stage.duel .f-team{font-size:clamp(14px,1.5vw,20px);margin-top:10px}
.stage.duel .f-stats{margin-top:10px}
.stage.duel .vs-mark{position:static;transform:none;font-size:clamp(46px,7.5vw,118px);padding:0 4px}
.vs-in .stage.duel .vs-mark{animation:slam2 .5s .4s cubic-bezier(.2,1.6,.4,1) both}
@keyframes slam2{from{transform:scale(3) rotate(-8deg);opacity:0}}
@media(max-width:640px){
  .stage.duel{grid-template-columns:1fr;gap:4px;padding:14px 12px 20px;min-height:0}
  .stage.duel .f-name{font-size:clamp(28px,9.5vw,42px)}
  .stage.duel .vs-mark{font-size:46px;margin:2px 0}
  .stage.duel .f-team{margin-top:6px}
}
.arena .stage.duel{flex:1;padding:4vh 3vw}
.arena .stage.duel .f-name{font-size:10vh}
.arena .stage.duel .f-team{font-size:3vh;margin-top:1.6vh}
.arena .stage.duel .vs-mark{font-size:17vh}
.arena .stage.duel .chip{font-size:2vh}
/* Rumble ohne Bilder */
.rumble-grid.names{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;padding:18px 18px 22px}
.rumble-grid.names .r-f{background:rgba(0,0,0,.35);border:2px solid rgba(255,255,255,.16);border-left:6px solid var(--p1);border-radius:8px;padding:16px 12px;justify-content:center;min-height:92px}
.rumble-grid.names .r-f:nth-child(even){border-left-color:var(--p2)}
.rumble-grid.names .r-name{margin:0;font-size:clamp(18px,2.3vw,30px);text-shadow:none}
.rumble-grid.names .r-f.out{opacity:.35}
[data-theme=broadcast] .rumble-grid.names .r-f{background:#fff;border-color:#fff}
[data-theme=broadcast] .rumble-grid.names .r-f:nth-child(odd){border-left-color:var(--p1)}
[data-theme=broadcast] .rumble-grid.names .r-f:nth-child(even){border-left-color:var(--p2)}
[data-theme=broadcast] .rumble-grid.names .r-name{color:#0f1724;font-style:italic}
[data-theme=broadcast] .rumble-grid.names .r-team{color:#56627a}
.arena .rumble-grid.names .r-name{font-size:4.4vh}
.arena .rumble-grid.names .r-team{font-size:2.2vh}
.arena .rumble-grid.names{grid-template-columns:repeat(auto-fit,minmax(28vh,1fr))}
@media(max-width:640px){.rumble-grid.names{grid-template-columns:1fr 1fr;padding:12px 10px 16px;gap:8px}.rumble-grid.names .r-f{min-height:70px;padding:12px 8px}}
/* Sieger ohne Bild */
.champ{padding:34px 16px 40px}
.champ .crown .ic{width:62px;height:62px;color:var(--gold)}
.champ .f-name{margin-top:10px;font-size:clamp(40px,8vw,112px);line-height:1}
.arena .champ{flex:1;justify-content:center}
.arena .champ .f-name{font-size:14vh}
.arena .champ .crown .ic{width:10vh;height:10vh}

/* ======================================================================
   TURNIERPLAN
   ====================================================================== */
.timeline{list-style:none;margin:0;padding:0;position:relative}
.tl{display:grid;grid-template-columns:78px 22px 1fr;gap:0 10px;position:relative;padding:0 0 18px}
.tl::before{content:"";position:absolute;left:98px;top:14px;bottom:-4px;width:2px;background:var(--line)}
.timeline > .tl:last-of-type::before{display:none}
.tl-time{text-align:right;font-variant-numeric:tabular-nums;line-height:1.15}
.tl-time b{display:block;font-family:var(--display);font-size:20px}
.tl-time span{font-size:12px;color:var(--muted)}
.tl-dot{width:16px;height:16px;border-radius:50%;margin:4px auto 0;background:var(--panel);border:3px solid var(--dim);position:relative;z-index:1}
.tl.block .tl-dot{border-color:var(--p2)}
.tl.pause .tl-dot{border-color:var(--gold);border-radius:4px}
.tl.info .tl-dot{border-color:var(--muted)}
.tl.st-done .tl-dot{background:var(--ok);border-color:var(--ok)}
.tl.cur .tl-dot,.tl.st-running .tl-dot{background:var(--p1);border-color:var(--p1);box-shadow:0 0 0 5px rgba(225,6,0,.18)}
.tl-body{min-width:0;padding:1px 0 0}
.tl-title{font-weight:700;font-size:18px;line-height:1.2;overflow-wrap:anywhere}
.tl.block .tl-title{font-family:var(--display);font-size:19px}
.tl-meta{font-size:13px;color:var(--muted);margin-top:3px}
.tl-fc{font-size:13px;font-weight:700;margin-top:4px}
.tl-fc.late{color:var(--p1)} .tl-fc.early{color:var(--ok)}
.tl-chip{display:inline-block;vertical-align:2px;margin-left:6px;font-family:var(--body);font-style:normal;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;
  padding:2px 8px;border-radius:99px;border:1px solid var(--line);color:var(--muted)}
.tl-chip.c-done{color:var(--ok);border-color:currentColor}
.tl-chip.c-running,.tl-chip.c-cur{color:#fff;background:var(--p1);border-color:var(--p1)}
.tl-chip.c-drawn{color:var(--p2);border-color:currentColor}
.tl.st-done .tl-title,.tl.st-done .tl-time b{color:var(--muted)}
.tl.cur{}
.tl.cur .tl-body{background:var(--panel2);border:1px solid var(--line);border-left:4px solid var(--p1);border-radius:8px;padding:8px 12px;margin:-6px 0 0}
.timeline.admin .tl{padding-bottom:4px}
.tl-edit{list-style:none;padding:0 0 16px 110px;position:relative}
.tl-edit::before{content:"";position:absolute;left:98px;top:-4px;bottom:0;width:2px;background:var(--line)}
.timeline.admin > .tl-edit:last-child::before{display:none}
.timeline.admin .tl::before{bottom:0}
@media(max-width:560px){
  .tl{grid-template-columns:58px 18px 1fr;gap:0 8px}
  .tl::before,.tl-edit::before{left:74px}
  .tl-time b{font-size:17px}
  .tl-edit{padding-left:84px}
  .tl-title{font-size:16px} .tl.block .tl-title{font-size:17px}
}
.plan-mini{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.pl-row{display:flex;align-items:center;gap:12px;padding:8px 12px;border-radius:8px;background:var(--panel2);border:1px solid var(--line)}
.pl-row.cur{border-left:4px solid var(--p1)}
.pl-t{font-family:var(--display);font-variant-numeric:tabular-nums;min-width:48px}
.pl-n{font-weight:700;flex:1;min-width:0;overflow-wrap:anywhere}
.pl-s{font-size:11px;font-weight:700;text-transform:uppercase;color:#fff;background:var(--p1);padding:2px 8px;border-radius:99px}
/* 5 Tabs passen aufs Handy */
@media(max-width:640px){.tabs a{font-size:12px;padding:10px 4px 12px;letter-spacing:.02em}}
@media(max-width:370px){.tabs a{font-size:11px}}
.stage.duel .vs-mark{justify-self:center;text-align:center}
.plan-sub{color:var(--muted);font-size:14px;margin:-4px 0 16px}

/* ======================================================================
   DUNKEL-MODUS (Broadcast dunkel)
   ====================================================================== */
[data-theme=broadcast][data-mode=dark]{
  --bg:#0b111b; --bg2:#101826; --panel:#141d2c; --panel2:#1a2537; --line:#2a3850;
  --text:#eef2f8; --muted:#9eabc1; --dim:#6b7890; --win:#ffc23d; --input:#0e1522; --hover:#1f2b40; --strong:#fff;
  --ok:#3ddc84; --err:#ff5a64; --warn:#ffb020;
  color-scheme:dark;
}
[data-mode=dark] .top{background:rgba(11,17,27,.92)}
[data-mode=dark] .card{background:var(--panel);box-shadow:0 1px 2px rgba(0,0,0,.3)}
[data-mode=dark] .vs{box-shadow:0 10px 30px rgba(0,0,0,.45)}
[data-mode=dark] .brand-mark{background:#fff;color:#0f1724}
[data-mode=dark] .flash.ok{color:#a8f0c6;background:rgba(61,220,132,.12)}
[data-mode=dark] .flash.error{color:#ffb3bb;background:rgba(255,77,94,.14)}
[data-mode=dark] .flash.warn{color:#ffd88a;background:rgba(255,176,32,.14)}
[data-mode=dark] .thumb{background:linear-gradient(135deg,#26324a,#182234);color:#c9d3e6}
[data-mode=dark] .pod.p-1{background:linear-gradient(135deg,rgba(255,194,61,.18),var(--panel2))}
[data-mode=dark] .rank-table td{border-bottom-color:#223047}
[data-mode=dark] .pick{background:var(--bg2)}
[data-mode=dark] .admin-bar{background:#05080d;border-color:#1a2537}
[data-mode=dark] .phase-pill.live{background:rgba(225,6,0,.18);color:#ff6b6b}
[data-mode=dark] .fight.next{border-color:var(--win)}
[data-mode=dark] .seg a.on{color:#111}
[data-mode=dark] .tl.cur .tl-dot,[data-mode=dark] .tl.st-running .tl-dot{box-shadow:0 0 0 5px rgba(225,6,0,.3)}
[data-mode=dark] .arena-head .p{color:var(--muted)}
[data-mode=dark] .qr-cap span{color:#fff!important}

/* Umschalter Sprache / Hell-Dunkel */
.prefs{display:inline-flex;align-items:center;gap:6px}
.pref-seg{display:inline-flex;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--panel)}
.pref-seg a{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:32px;padding:0 8px;font-size:12px;font-weight:700;
  text-decoration:none;color:var(--muted);letter-spacing:.04em}
.pref-seg a+a{border-left:1px solid var(--line)}
.pref-seg a.on{background:var(--text);color:var(--bg)}
.pref-seg .ic{width:16px;height:16px}
@media(max-width:560px){.top-actions .phase-pill:not(.live){display:none}.top-actions{gap:6px}.pref-seg a{min-width:30px;padding:0 6px}}
.arena-prefs{margin-left:12px}
.opt-inline{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border:1px solid var(--line);border-radius:8px;background:var(--panel2);cursor:pointer;font-weight:700}
@media(max-width:560px){
  .top-actions .phase-pill{display:none}
  .pref-seg a.on{display:none}
  .pref-seg a+a{border-left:0}
  .brand-name{font-size:15px}
}

/* ======================================================================
   SIEGER DEUTLICH ZEIGEN
   ====================================================================== */
.hud.no-clock{grid-template-columns:1fr 1fr;gap:28px}
.result{display:flex;flex-direction:column;align-items:center;text-align:center;padding:26px 18px 30px;gap:6px}
.res-badge{display:inline-flex;align-items:center;gap:10px;font-family:var(--display);font-weight:800;font-style:italic;text-transform:uppercase;
  font-size:clamp(20px,3vw,34px);letter-spacing:.06em;color:#111;background:var(--gold);padding:6px 18px 6px 14px;transform:skew(-10deg);box-shadow:0 8px 0 rgba(0,0,0,.25)}
.res-badge .ic{width:1.1em;height:1.1em}
.result .f-name{margin-top:14px;font-size:clamp(40px,8vw,110px);line-height:1}
.result .f-team{font-size:clamp(15px,1.8vw,22px);margin-top:10px;color:#fff}
.res-how{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:center;margin-top:12px;color:#fff;font-weight:700;font-size:clamp(15px,1.8vw,22px)}
.res-how .chip{font-size:clamp(12px,1.3vw,16px)}
.res-sub{color:#fff;font-weight:700;text-transform:uppercase;letter-spacing:.08em;margin-top:10px}
.res-q{display:flex;flex-wrap:wrap;gap:14px 24px;justify-content:center;margin-top:8px}
.res-q .f-name{margin-top:0;font-size:clamp(30px,5vw,64px)}
.res-timer{height:5px;background:rgba(255,255,255,.15);margin:0 0 0}
.res-timer i{display:block;height:100%;background:var(--gold);transform-origin:left;animation:resbar linear forwards}
@keyframes resbar{from{transform:scaleX(1)}to{transform:scaleX(0)}}
[data-theme=broadcast] .vs:has(.result)::before{background:linear-gradient(105deg,#0f1724 0 18%,var(--p1) 18.2% 82%,#0f1724 82.2%)}
[data-theme=broadcast] .vs:has(.result.p2-win)::before{background:linear-gradient(105deg,#0f1724 0 18%,var(--p2) 18.2% 82%,#0f1724 82.2%)}
[data-theme=broadcast] .vs:has(.result.rumble)::before{background:linear-gradient(105deg,#0f1724 0 18%,#0e8a4a 18.2% 82%,#0f1724 82.2%)}
.vs-in .result .res-badge{animation:pop .45s cubic-bezier(.2,1.4,.4,1) both}
.vs-in .result .f-name{animation:slam2 .55s .15s cubic-bezier(.2,1.5,.4,1) both}
.arena .result{flex:1;justify-content:center}
.arena .result .f-name{font-size:14vh}
.arena .res-badge{font-size:5vh}
.arena .result .f-team,.arena .res-how{font-size:3.2vh}
.arena .res-q .f-name{font-size:9vh}
@media(max-width:640px){.result{padding:20px 12px 24px}.result .f-name{font-size:clamp(34px,11vw,52px)}}
/* Listen: Sieger hervorheben */
.w-tag{display:inline-flex;align-items:center;gap:3px;font-family:var(--body);font-style:normal;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;
  color:#fff;background:var(--ok);padding:2px 6px;border-radius:4px;margin:0 6px;vertical-align:3px;white-space:nowrap}
.w-tag .ic{width:11px;height:11px}
.fight .win .bn{color:var(--text)!important;font-weight:800}
.fight .a.win{background:linear-gradient(270deg,rgba(14,138,74,.16),transparent 85%)}
.fight .b.win{background:linear-gradient(90deg,rgba(14,138,74,.16),transparent 85%)}
.fight .lose{opacity:.55}
.fight .lose .bn{text-decoration:line-through;text-decoration-thickness:1.5px;text-decoration-color:rgba(127,127,127,.7)}
.b-slot.win{background:rgba(14,138,74,.14);color:var(--text);font-weight:800;box-shadow:inset 4px 0 0 var(--ok)}
.b-slot.win .wt{color:var(--ok);display:inline-flex;align-items:center;gap:3px}
.b-slot.win .wt .ic{width:12px;height:12px}
.b-slot.lose .nm{text-decoration:line-through;text-decoration-color:rgba(127,127,127,.7)}
.m-item .who .w{color:var(--ok);font-weight:800}
.m-item .who .w .ic{width:14px;height:14px;vertical-align:-2px}
.m-item .who .l{opacity:.55;text-decoration:line-through}
@media(max-width:560px){.fight .w-tag{font-size:0;gap:0;padding:2px 4px;margin:0 4px}.fight .w-tag .ic{width:12px;height:12px}}

/* ======================================================================
   LOGO, MEHRTÄGIG, DATENBANK, GESAMTRANKING
   ====================================================================== */
.brand-logo{height:40px;width:auto;max-width:140px;object-fit:contain;flex:none;display:block}
@media(max-width:560px){.brand-logo{height:32px;max-width:96px}}
.arena-head .brand-logo{height:5vh;max-width:22vh}
.logo-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:8px}
@media(max-width:560px){.logo-grid{grid-template-columns:1fr}}
.logo-box{border:1px solid var(--line);border-radius:10px;padding:10px;display:grid;gap:8px}
.logo-prev{height:90px;border-radius:8px;display:grid;place-items:center;padding:10px}
.logo-box.light .logo-prev{background:#fff;border:1px solid #e3e7ee}
.logo-box.dark .logo-prev{background:#0b111b}
.logo-prev img{max-height:70px;max-width:100%;object-fit:contain}
.tl-day{list-style:none;margin:6px 0 16px;padding:10px 14px;border-radius:8px;background:#0f1724;color:#fff;font-size:14px;letter-spacing:.02em}
.tl-day b{font-family:var(--display);font-style:italic;font-weight:800;font-size:18px;text-transform:uppercase;letter-spacing:.04em}
[data-mode=dark] .tl-day{background:#24324a}
.timeline .tl-day + .tl::before{top:14px}
.arch-name{font-family:var(--display);font-size:21px;font-weight:800;font-style:italic;overflow-wrap:anywhere}
.arch-champ{margin-top:6px;font-size:15px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.arch-champ .ic{color:var(--win)}
.rowlink{text-decoration:none;color:inherit}
a.rowlink:hover{text-decoration:underline}
a.bot-row.rowlink{padding:6px;border-radius:8px;margin:6px -6px 0}
a.bot-row.rowlink:hover{background:var(--panel2);text-decoration:none}
.title-n{display:inline-flex;align-items:center;gap:3px;font-weight:800;color:var(--win)}
.title-n .ic{width:14px;height:14px}
.plain-list{margin:0;padding-left:18px;display:grid;gap:6px}
.profile{display:flex;gap:18px;align-items:flex-start}
.thumb.big{width:120px;height:120px;font-size:30px;border-radius:12px}
.profile-name{margin:2px 0 4px;font-family:var(--display);font-style:italic;font-weight:800;font-size:clamp(28px,5vw,44px);line-height:1}
.stat-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.stat{min-width:84px;padding:8px 12px;border-radius:8px;background:var(--panel2);border:1px solid var(--line);display:flex;flex-direction:column}
.stat b{font-family:var(--display);font-size:22px;line-height:1.1}
.stat span{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
@media(max-width:560px){.profile{flex-direction:column}.thumb.big{width:96px;height:96px}}
.card h2 .seg{flex-wrap:wrap;justify-content:flex-end}
.card h2 .seg a{font-size:12px;padding:5px 10px}

/* ======================================================================
   SEHR LANGE NAMEN – nie über den Rand laufen lassen
   ====================================================================== */
.bn,.tn,.nm,.wp,.r-name,.r-team,.pl-n,.tl-title,.arch-name,.profile-name,.brand-name,.brand-sub,
.f-team,.rn,.rl,.who,.side .bn,.side .tn,.pod .bn,.pod .tn,.team-card h3,.origin,.res-how,.res-q .f-name,
.vs-tag,.names div,.card h2,.lbl,.ctrl-head .lbl,.pick .nm,.r-list .bn,.arch-champ,.stat b,.flash,.t-item,.badge{
  overflow-wrap:anywhere;word-break:normal;hyphens:manual}
.chip{white-space:normal;max-width:100%;overflow-wrap:anywhere;text-align:center}
.f-stats,.r-chips{max-width:100%}
.fight .a,.fight .b,.fight > div,.m-item > *,.bot-row > *,.t-item > *{min-width:0}
.fight .x{flex:none}
.rank-table td.who{overflow-wrap:anywhere}
.rank-table .who a{display:inline}
.tl-body,.pl-row,.r-list li > div{min-width:0}
.ticker li{max-width:40vw;overflow:hidden;text-overflow:ellipsis}
.brand-sub .nw:first-child{white-space:normal;overflow-wrap:anywhere}
.brand,.brand > div{min-width:0}
.qr-cap{overflow-wrap:anywhere}
.result .f-name,.champ .f-name{max-width:100%}
.ctrl-vs .side{overflow-wrap:anywhere}
.result-form .btn{white-space:normal;text-align:center;line-height:1.15;min-width:0;overflow-wrap:anywhere}
.result-form .btn span{min-width:0}
.btn{max-width:100%}
.profile > div{min-width:0}
.seg a{overflow-wrap:anywhere}
.place-row select,.field select{min-width:0;max-width:100%;text-overflow:ellipsis}
.grid-2{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)}
@media(max-width:860px){.grid-2{grid-template-columns:minmax(0,1fr)}}
.grid-2 > *,.stack > *{min-width:0}
@media(max-width:640px){.tabs{margin:0 -12px;padding:0 12px}}
.rank-table{table-layout:auto;max-width:100%}
.arena-head{flex-wrap:wrap;row-gap:6px}
.arena-head .t{min-width:0;overflow-wrap:anywhere}
.fight{grid-template-columns:34px minmax(0,1fr) auto minmax(0,1fr)}
@media(max-width:640px){.fight{grid-template-columns:22px minmax(0,1fr) auto minmax(0,1fr)}}
.fight.rumble,.fight.bye{grid-template-columns:22px minmax(0,1fr)}
.stage.duel{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}
@media(max-width:640px){.stage.duel{grid-template-columns:minmax(0,1fr)}}
.ctrl-vs{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}
@media(max-width:640px){.ctrl-vs{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
.hud{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}
.hud.no-clock{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.names{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}
.m-item{grid-template-columns:auto minmax(0,1fr) auto}
@media(max-width:640px){.m-item{grid-template-columns:auto minmax(0,1fr)}}
.place-row{grid-template-columns:110px minmax(0,1fr)}
@media(max-width:480px){.place-row{grid-template-columns:minmax(0,1fr)}}
.result-form{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.form-grid{grid-template-columns:repeat(auto-fit,minmax(min(170px,100%),1fr))}
.team-grid{grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr))}
.podium{grid-template-columns:repeat(auto-fill,minmax(min(250px,100%),1fr))}
.rumble-grid.names{grid-template-columns:repeat(auto-fit,minmax(min(170px,100%),1fr))}
@media(max-width:640px){.rumble-grid.names{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
.arena .stage.duel .f-name,.arena .result .f-name{max-width:92%}

/* ---- Termin & Anmeldung ---- */
.event-card{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-top:16px;border-left:5px solid var(--gold)}
.ev-main{display:flex;align-items:center;gap:16px;min-width:0;flex:1 1 320px}
.ev-cal{flex:none;width:76px;border-radius:10px;overflow:hidden;border:1px solid var(--line);text-align:center;background:var(--panel);box-shadow:0 2px 0 var(--line)}
.ev-mon{display:block;background:var(--p1);color:#fff;font-family:var(--display);text-transform:uppercase;font-size:13px;letter-spacing:.08em;padding:3px 0}
.ev-day{display:block;font-family:var(--display);font-style:italic;font-size:34px;line-height:1.15;padding:4px 2px 6px}
.ev-day small{font-size:20px}
.ev-text{min-width:0}
.ev-text .lbl-s{color:var(--p1)}
.ev-when{font-family:var(--display);font-style:italic;text-transform:uppercase;font-size:clamp(18px,2.4vw,24px);line-height:1.15;overflow-wrap:anywhere}
.ev-facts{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:4px 14px;color:var(--muted);font-size:14px}
.ev-facts li{position:relative}
.ev-facts li:not(:last-child)::after{content:"·";margin-left:10px}
.ev-loc{overflow-wrap:anywhere}
.ev-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.ev-note{font-size:13px;color:var(--muted)}
.event-card .ev-actions{flex:0 1 auto}
.up-item{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.up-item .arch-name{text-decoration:none;color:inherit;display:block}
.sec-h{font-family:var(--display);font-style:italic;text-transform:uppercase;font-size:18px;margin:4px 0 10px}
.reg-admin{display:flex;gap:16px;align-items:flex-start;flex-wrap:wrap}
.reg-qr{background:#fff;border-radius:8px;border:1px solid var(--line);padding:4px;flex:none}
.reg-strip{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;border-left:5px solid var(--gold)}
.brk{overflow-wrap:anywhere}
@media(max-width:640px){
  .event-card{gap:12px}
  .ev-cal{width:62px}.ev-day{font-size:28px}
  .event-card .ev-actions,.up-item .ev-actions{width:100%}
  .event-card .ev-actions .btn.primary{flex:1 1 auto;justify-content:center}
}
[hidden]{display:none!important}
.ticker li:only-child{max-width:none;white-space:normal;flex:0 1 auto;min-width:0}

/* ---- Landingpage ---- */
.hero{position:relative;border-radius:16px;overflow:hidden;margin-bottom:16px;color:#fff;
  background:linear-gradient(105deg,var(--p1) 0 22%,#0f1724 22% 78%,var(--p2) 78%);box-shadow:0 10px 30px rgba(15,23,36,.18)}
.hero::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(115deg,rgba(255,255,255,.035) 0 14px,transparent 14px 28px)}
.hero-in{position:relative;padding:clamp(28px,6vw,64px) clamp(18px,5vw,56px);text-align:center;display:flex;flex-direction:column;align-items:center;gap:12px}
.hero-logo{max-height:clamp(72px,14vw,130px);max-width:min(320px,70%);object-fit:contain;filter:drop-shadow(0 4px 14px rgba(0,0,0,.35))}
.hero-title{margin:0;font-family:var(--display);font-style:italic;font-weight:800;text-transform:uppercase;font-size:clamp(34px,7vw,76px);line-height:1;
  letter-spacing:.01em;overflow-wrap:anywhere;max-width:100%}
.hero-tag{margin:0;font-size:clamp(16px,2.2vw,21px);opacity:.88;max-width:640px;overflow-wrap:anywhere}
.hero-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:10px;max-width:100%}
.hero-actions .btn{max-width:100%}
.hero .btn:not(.primary){background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.35);color:#fff}
.hero .btn:not(.primary):hover{background:rgba(255,255,255,.2)}
.hero-btn-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:40vw}
.feat{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:16px}
.feat-name{display:block;font-family:var(--display);font-style:italic;font-weight:800;text-transform:uppercase;font-size:clamp(20px,2.6vw,26px);line-height:1.12;
  color:inherit;text-decoration:none;overflow-wrap:anywhere;margin:2px 0 4px}
a.feat-name:hover{text-decoration:underline}
.live-card{border-left:5px solid var(--p1)}
.live-lbl{color:var(--p1)}
.live-card .live-dot,.hero .live-dot{animation:pulse 1.4s infinite}
.event-card{margin-bottom:16px}
.link-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,270px),1fr));gap:12px;margin-bottom:16px}
.link-tile{display:flex;align-items:center;gap:14px;text-decoration:none;color:inherit;margin:0;transition:transform .12s,box-shadow .12s,border-color .12s;min-width:0}
.link-tile:hover{transform:translateY(-2px);border-color:var(--gold);box-shadow:0 8px 20px rgba(15,23,36,.12)}
.lt-ic{flex:none;width:48px;height:48px;border-radius:12px;display:grid;place-items:center;color:#fff;background:#0f1724}
.lt-ic .ic{width:26px;height:26px}
.k-instagram .lt-ic{background:linear-gradient(135deg,#f9a825,#e1306c 55%,#7b3fe4)}
.k-discord .lt-ic{background:#5865f2}
.k-blog .lt-ic{background:var(--p1)}
.k-youtube .lt-ic{background:#e00}
.k-web .lt-ic{background:var(--p2)}
.k-mail .lt-ic{background:#334155}
.lt-txt{display:flex;flex-direction:column;min-width:0;flex:1}
.lt-label{font-family:var(--display);font-weight:800;font-style:italic;text-transform:uppercase;font-size:19px;line-height:1.1;overflow-wrap:anywhere}
.lt-desc{font-size:14px;color:var(--muted);line-height:1.3;margin-top:2px;overflow-wrap:anywhere}
.lt-host{font-size:12px;color:var(--dim);margin-top:4px;overflow-wrap:anywhere}
.lt-go{flex:none;color:var(--dim)}
.about-text p{white-space:pre-line;margin:0 0 10px;overflow-wrap:anywhere}
.stats-row{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin:6px 0 10px}
.stats-row .stat{align-items:center;min-width:110px}
.stats-row .stat span{font-size:13px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
.textpage p{white-space:pre-line;overflow-wrap:anywhere}
textarea{width:100%;font:inherit;padding:10px 12px;border-radius:8px;border:1px solid var(--line);background:var(--input);color:var(--text);resize:vertical}
.link-rows{display:grid;gap:10px}
.link-row{display:grid;grid-template-columns:64px 140px minmax(0,1fr) minmax(0,1.3fr);gap:8px 10px;padding:10px;border:1px solid var(--line);border-radius:10px;background:var(--panel2);align-items:end}
.link-row .field{margin:0}
.link-row .lr-label-en{grid-column:1 / 3}
.link-row .lr-desc{grid-column:3 / 4}
.link-row .lr-desc-en{grid-column:4 / 5}
.bi-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px}
.link-row .lr-del{grid-column:1 / 3;align-self:center}
@media(max-width:700px){
  .link-row{grid-template-columns:64px minmax(0,1fr)}
  .link-row .lr-label,.link-row .lr-url,.link-row .lr-desc,.link-row .lr-label-en,.link-row .lr-desc-en{grid-column:1 / -1}
  .bi-grid{grid-template-columns:minmax(0,1fr)}
  .link-row .lr-del{grid-column:1 / -1}
  .hero-actions .btn{width:100%;justify-content:center}
  .hero-btn-name{max-width:55vw}
}

/* ---- Ankündigung (Details noch gesperrt) & Testturnier ---- */
.teaser{position:relative;border-radius:16px;overflow:hidden;color:#fff;margin-bottom:16px;
  background:linear-gradient(105deg,var(--p1) 0 18%,#0f1724 18% 82%,var(--p2) 82%)}
.teaser::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(115deg,rgba(255,255,255,.035) 0 14px,transparent 14px 28px)}
.teaser-in{position:relative;padding:clamp(26px,5vw,52px) clamp(18px,5vw,48px);text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px}
.teaser-kicker{color:var(--gold) !important}
.teaser-title{margin:0;font-family:var(--display);font-style:italic;font-weight:800;text-transform:uppercase;font-size:clamp(28px,5.6vw,60px);line-height:1.02;overflow-wrap:anywhere;max-width:100%}
.teaser-sub{margin:0;opacity:.85;font-size:clamp(15px,2vw,19px);overflow-wrap:anywhere}
.teaser-lock{display:flex;align-items:center;gap:10px;margin-top:8px;padding:10px 16px;border-radius:10px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.25);font-weight:700;text-align:left;max-width:100%}
.teaser-lock .ic{flex:none;width:22px;height:22px}
.test-banner{margin:0 0 12px;padding:8px 12px;border-radius:8px;text-align:center;font-weight:700;font-size:14px;letter-spacing:.04em;text-transform:uppercase;
  background:repeating-linear-gradient(-45deg,#ffd23f 0 12px,#111 12px 24px);color:#fff;text-shadow:0 1px 2px #000,0 0 6px #000}
.badge.test{background:#ffd23f;color:#111;border-color:#e0b000}

/* ---- Tech-Check ---- */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.tech-stats{display:flex;flex-wrap:wrap;gap:6px 16px;margin:4px 0 12px;font-size:16px}
.tech-stats b{font-family:var(--display);font-size:22px}
.tech-tools{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.tech-tools input[type=search]{flex:1 1 220px;min-width:0;min-height:44px;padding:8px 12px;border-radius:8px;border:1px solid var(--line);background:var(--input);color:var(--text);font:inherit}
.tech-tools .seg{display:flex;flex-wrap:wrap;gap:4px}
.tech-tools .seg button{min-height:40px;padding:6px 12px;border-radius:8px;border:1px solid var(--line);background:var(--panel);color:var(--text);font:inherit;font-weight:700;cursor:pointer}
.tech-tools .seg button.on{background:var(--strong);color:var(--panel);border-color:var(--strong)}
.tech-list{display:grid;gap:10px}
.tech-row{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1.6fr) auto;gap:10px 14px;align-items:center;padding:12px 14px;border-radius:12px;background:var(--panel);border:1px solid var(--line)}
.tech-row.busy{opacity:.6;pointer-events:none}
.tech-row.st-ok{border-color:rgba(14,138,74,.45)}
.tech-row.st-out{background:var(--panel2)}
.tech-row.st-out .tr-name{text-decoration:line-through;text-decoration-thickness:2px}
.tr-who{display:flex;flex-direction:column;min-width:0}
.tr-name{font-family:var(--display);font-weight:800;font-style:italic;text-transform:uppercase;font-size:19px;line-height:1.1;overflow-wrap:anywhere}
.tr-team{font-size:13px;color:var(--muted);overflow-wrap:anywhere}
.tr-checks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.tr-checks form{margin:0;display:flex}
.chk{flex:1;min-height:46px;display:flex;align-items:center;justify-content:center;gap:6px;padding:6px 8px;border-radius:10px;border:2px solid var(--line);background:var(--panel);color:var(--text);font:inherit;font-weight:700;font-size:15px;cursor:pointer;min-width:0}
.chk span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.chk-box{flex:none;width:20px;height:20px;border-radius:5px;border:2px solid var(--dim);display:grid;place-items:center}
.chk-box .ic{width:14px;height:14px;stroke-width:3.5}
.chk.on{border-color:var(--ok);background:rgba(14,138,74,.1)}
.chk.on .chk-box{background:var(--ok);border-color:var(--ok);color:#fff}
.tr-state{display:flex;flex-direction:column;align-items:flex-end;gap:6px}
.tr-acts{display:flex;gap:6px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.tr-acts form{margin:0}
.badge.open{background:#fff1c2;color:#6b4a00;border-color:#f0d27a}
.badge.out{background:rgba(200,30,44,.12);color:var(--err);border-color:rgba(200,30,44,.35)}
[data-mode=dark] .badge.open{background:rgba(255,184,0,.15);color:#ffd36b}
.tr-out{position:relative}
.tr-out summary{list-style:none;cursor:pointer}
.tr-out summary::-webkit-details-marker{display:none}
.tr-out-menu{position:absolute;right:0;top:calc(100% + 4px);z-index:5;display:flex;flex-direction:column;gap:6px;padding:8px;border-radius:10px;background:var(--panel);border:1px solid var(--line);box-shadow:0 8px 24px rgba(0,0,0,.15);min-width:170px}
.tr-out-menu form,.tr-out-menu .btn{width:100%}
.after-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:8px}
.after-bot{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-radius:10px;background:var(--panel2);border:1px solid var(--line);flex-wrap:wrap}
.after-bot form{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:0}
.ab-name{font-weight:700;min-width:0;overflow-wrap:anywhere;display:flex;flex-direction:column}
.ab-name small{font-weight:400;color:var(--muted);font-size:13px}
.after-bot.is-out .ab-name{text-decoration:line-through}
@media(max-width:760px){
  .tech-row{grid-template-columns:minmax(0,1fr) auto}
  .tr-checks{grid-column:1 / -1;grid-row:2}
  .tr-state{grid-column:2;grid-row:1}
}
@media(max-width:380px){ .chk{font-size:14px;padding:6px 4px;gap:4px} .chk-box{width:18px;height:18px} }

/* ---- Turnierplan als Agenda ---- */
.day-tabs{display:grid;grid-template-columns:repeat(var(--n,2),minmax(0,1fr));gap:8px;margin:2px 0 12px}
.day-tab{min-height:62px;border-radius:10px;border:1px solid var(--line);background:var(--panel);color:var(--text);font:inherit;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;cursor:pointer;padding:6px;min-width:0}
.day-tab .dt-k{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.day-tab .dt-d{font-family:var(--display);font-size:21px;font-weight:800;font-style:italic;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.day-tab.on{background:#0f1724;border-color:#0f1724;color:#fff}
.day-tab.on .dt-k{color:var(--gold)}
[data-mode=dark] .day-tab.on{background:#fff;border-color:#fff;color:#0f1724}
[data-mode=dark] .day-tab.on .dt-k{color:#a35f00}
.agenda-legend{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:13px;color:var(--muted);margin:0 0 10px}
.agenda-legend span{display:inline-flex;align-items:center;gap:6px}
.agenda-legend i{width:12px;height:12px;border-radius:3px;display:inline-block}
.agenda-legend .k-block{background:#0f1724}.agenda-legend .k-pause{background:#ffd23f}.agenda-legend .k-info{background:#c9d0db}
[data-mode=dark] .agenda-legend .k-block{background:#fff}
.ad-head{font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 8px}
.agenda{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.ag-row{display:grid;grid-template-columns:72px minmax(0,1fr);gap:4px 12px;align-items:center;padding:10px 12px;border-radius:10px;background:var(--panel);border:1px solid var(--line)}
.ag-row.is-done{opacity:.55}
.ag-row.is-now{background:#fff4d1;border:2px solid var(--gold);opacity:1}
[data-mode=dark] .ag-row.is-now{background:rgba(255,184,0,.12)}
.ag-time{display:flex;flex-direction:column;line-height:1.15;font-variant-numeric:tabular-nums}
.ag-time b{font-family:var(--display);font-size:20px}
.ag-time span{font-size:13px;color:var(--muted)}
.ag-late,.ag-early{font-style:normal;font-size:12px;font-weight:700}
.ag-late{color:var(--err)}.ag-early{color:var(--ok)}
.ag-body{display:flex;flex-direction:column;gap:4px;min-width:0;align-items:flex-start}
.ag-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:18px;font-weight:700;line-height:1.15;max-width:100%}
.ag-title > span:first-child{overflow-wrap:anywhere;min-width:0}
.ag-now{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#fff;background:var(--p1);border-radius:4px;padding:2px 6px}
.ag-done{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--muted);color:#fff}
.ag-done .ic{width:12px;height:12px;stroke-width:3.5}
.ag-chip{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:2px 8px;border-radius:999px;background:#e4e8ef;color:#3f4a5e;max-width:100%;overflow-wrap:anywhere}
.k-block .ag-chip{background:#0f1724;color:#fff}
.k-rumble .ag-chip{background:var(--p1);color:#fff}
.k-pause .ag-chip{background:#fff1c2;color:#6b4a00}
[data-mode=dark] .k-block .ag-chip{background:#fff;color:#0f1724}
[data-mode=dark] .ag-chip{background:#273248;color:#c9d2e3}
[data-mode=dark] .k-pause .ag-chip{background:rgba(255,184,0,.18);color:#ffd36b}
.ag-meta{font-size:13px;color:var(--muted)}
@media(max-width:380px){ .ag-row{grid-template-columns:62px minmax(0,1fr);gap:4px 10px;padding:10px} .ag-time b{font-size:18px} .ag-title{font-size:17px} }

/* Datumskachel: alle Zahlen gleich groß */
.ev-day small{font-size:inherit}
.ev-cal{width:auto;min-width:76px;padding:0}
.ev-mon{margin:0;width:100%}
.ev-day{padding:4px 10px 6px}
.ev-day{font-size:30px;white-space:nowrap}
@media(max-width:640px){ .ev-cal{min-width:62px} .ev-day{font-size:24px} }
.tabs a{white-space:nowrap}
.arena-home{display:inline-flex;align-items:center;text-decoration:none;border-radius:8px}
.arena-home:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.arena-exit{display:inline-flex;align-items:center;gap:6px;font-size:1.6vh;min-height:36px;opacity:.75;white-space:nowrap}
.arena-exit:hover,.arena-exit:focus-visible{opacity:1}
.arena-exit .ic{width:16px;height:16px}
@media(max-width:700px){.arena-exit span{display:none}.arena-head{flex-wrap:wrap;gap:8px}}
.arena-head .t{flex:1 1 220px;min-width:0;overflow-wrap:anywhere}
/* Agenda im Admin-Zeitplan */
.admin-agenda{gap:10px}
.ag-item{display:grid;gap:6px;list-style:none}
.ag-item .ag-edit{padding:0 4px}
.ad-head.ad-day{margin:8px 0 0;padding:8px 12px;border-radius:8px;background:var(--panel2);border:1px dashed var(--line)}
/* Mini-Plan auf der Übersicht im Agenda-Stil */
.plan-mini.agenda{gap:6px}
.plan-mini .ag-row{padding:8px 10px;grid-template-columns:58px minmax(0,1fr)}
.plan-mini .ag-time b{font-size:18px}
.plan-mini .ag-title{font-size:16px}
.tb-mobile{display:none;font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}
@media(max-width:560px){.rank-table .tb-mobile{display:block}}
.tr-checks{grid-template-columns:repeat(auto-fit,minmax(min(100%,104px),1fr))}
.tc-list{display:grid;gap:6px;margin-bottom:8px;max-width:460px}
.tc-row{display:grid;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:6px}
.tc-row[hidden]{display:none}
.tc-no{font-weight:700;color:var(--muted);text-align:right}
.tc-row input[type=text]{width:100%}
#fightsTab.busy{opacity:.7;transition:opacity .15s}
.auto-card{border-style:dashed}
.tr-checks{grid-template-columns:repeat(auto-fit,minmax(min(100%,128px),1fr))}
.chk span:last-child{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere;line-height:1.1;text-align:left}
.chk{justify-content:flex-start;padding:6px 10px}

/* ---- Blog ---- */
.blog-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:4px 0 12px}
.post-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:14px}
.post-card{display:flex;flex-direction:column;padding:0;overflow:hidden;text-decoration:none;color:inherit;margin:0;transition:transform .12s,box-shadow .12s,border-color .12s;min-width:0}
.post-card:hover{transform:translateY(-2px);border-color:var(--gold);box-shadow:0 8px 20px rgba(15,23,36,.12)}
.pc-img{display:block;aspect-ratio:16/9;background:var(--panel2);overflow:hidden}
.pc-img img{width:100%;height:100%;object-fit:cover;display:block}
.pc-body{display:flex;flex-direction:column;gap:6px;padding:14px 16px 16px;min-width:0;flex:1}
.pc-date{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.pc-title{font-family:var(--display);font-weight:800;font-style:italic;text-transform:uppercase;font-size:22px;line-height:1.08;overflow-wrap:anywhere}
.pc-ex{font-size:15px;color:var(--text);opacity:.85;line-height:1.35;overflow-wrap:anywhere}
.pc-more{margin-top:auto;padding-top:4px;font-weight:700;font-size:14px;display:inline-flex;align-items:center;gap:6px;color:var(--p2)}
[data-mode=dark] .pc-more{color:#8fb4ff}
.post{padding:0;overflow:hidden;max-width:820px;margin:0 auto}
.post > .flash{margin:14px}
.post-cover{display:block;width:100%;max-height:460px;object-fit:cover}
.post-in{padding:20px clamp(16px,4vw,40px) 28px}
.post-title{margin:6px 0 16px;font-family:var(--display);font-weight:800;font-style:italic;text-transform:uppercase;font-size:clamp(28px,5vw,46px);line-height:1.02;overflow-wrap:anywhere}
.prose{font-family:var(--body);font-size:18px;line-height:1.55;overflow-wrap:anywhere}
.prose > :first-child{margin-top:0}
.prose p{margin:0 0 14px}
.prose h1,.prose h2,.prose h3{font-family:var(--display);font-weight:800;font-style:italic;text-transform:uppercase;line-height:1.1;margin:24px 0 10px}
.prose h2{font-size:26px}.prose h3{font-size:21px}.prose h1{font-size:30px}
.prose img{display:block;max-width:100%;height:auto;border-radius:10px;margin:14px auto}
.prose a{color:var(--p2);text-decoration:underline;text-underline-offset:2px}
[data-mode=dark] .prose a{color:#8fb4ff}
.prose ul,.prose ol{margin:0 0 14px;padding-left:24px}
.prose li{margin:4px 0}
.prose blockquote{margin:16px 0;padding:10px 16px;border-radius:8px;background:var(--panel2);border:1px solid var(--line);font-style:italic}
.prose blockquote p:last-child{margin:0}
.prose hr{border:0;border-top:2px solid var(--line);margin:22px 0}
.prose code{background:var(--panel2);border-radius:4px;padding:1px 5px;font-size:.9em}
.prose pre{background:var(--panel2);padding:12px;border-radius:8px;overflow-x:auto}
.md-table{overflow-x:auto;margin:0 0 14px}
.prose table{border-collapse:collapse;min-width:100%;font-size:16px}
.prose th,.prose td{border:1px solid var(--line);padding:6px 10px;text-align:left}
.prose th{background:var(--panel2)}
/* Admin-Liste */
.adm-post{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--line);flex-wrap:wrap}
.ap-thumb{width:72px;height:48px;border-radius:6px;object-fit:cover;flex:none;background:var(--panel2);display:grid;place-items:center;color:var(--muted)}
.ap-title{font-family:var(--display);font-size:18px;font-weight:700;text-decoration:none;color:inherit;overflow-wrap:anywhere}
/* Editor */
.md-ed{border:1px solid var(--line);border-radius:12px;background:var(--panel);overflow:hidden;margin:6px 0 4px}
.md-ed.drop{outline:3px dashed var(--gold);outline-offset:-3px}
.md-head{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;border-bottom:1px solid var(--line);background:var(--panel2)}
.md-tabs{display:none;gap:4px}
.md-tabs button{min-height:36px;padding:4px 12px;border-radius:8px;border:1px solid var(--line);background:var(--panel);font:inherit;font-weight:700;color:var(--text);cursor:pointer}
.md-tabs button.on{background:var(--strong);color:var(--panel);border-color:var(--strong)}
.md-bar{display:flex;flex-wrap:wrap;gap:4px;padding:6px 8px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--panel);z-index:2}
.md-bar button{min-width:40px;min-height:40px;padding:4px 8px;border-radius:8px;border:1px solid transparent;background:transparent;color:var(--text);font:inherit;font-weight:700;font-size:16px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:4px}
.md-bar button:hover,.md-bar button:focus-visible{background:var(--panel2);border-color:var(--line)}
.md-bar .ic{width:18px;height:18px}
.md-sep{width:1px;background:var(--line);margin:6px 2px}
.md-panes{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.md-panes textarea{border:0;border-radius:0;min-height:320px;padding:14px;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:15px;line-height:1.5;background:var(--input);color:var(--text);resize:none;border-right:1px solid var(--line)}
.md-panes textarea:focus{outline:none;box-shadow:inset 0 0 0 2px var(--gold)}
.md-preview{padding:14px 18px;font-size:16px;min-width:0;max-height:none}
.md-hint{font-size:13px;color:var(--muted);margin:0;padding:8px 12px;border-top:1px solid var(--line)}
.cover-prev{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 10px}
.cover-prev img{width:160px;height:90px;object-fit:cover;border-radius:8px;border:1px solid var(--line)}
.en-version summary{cursor:pointer;list-style:revert}
.blog-actions{position:sticky;bottom:0;padding:10px 0;background:linear-gradient(transparent,var(--bg) 30%);z-index:3}
@media(max-width:860px){
  .md-tabs{display:flex}
  .md-panes{grid-template-columns:minmax(0,1fr)}
  .md-panes textarea{border-right:0}
  .md-ed:not([data-view=preview]) .md-preview{display:none}
  .md-ed[data-view=preview] textarea,.md-ed[data-view=preview] .md-bar{display:none}
  .md-preview{min-height:200px}
}
/* zurückgestellte Kämpfe */
.pp-badge{display:inline-flex;align-items:center;gap:4px;max-width:100%;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:600;line-height:1.4;background:color-mix(in srgb,#e0a100 18%,transparent);color:color-mix(in srgb,#b07d00 80%,var(--text));white-space:normal;overflow-wrap:anywhere;vertical-align:middle}
.pp-badge svg{width:13px;height:13px;flex:none}
.m-item .pp-badge{margin:2px 6px 2px 0}
.pp-menu .tr-out-menu{min-width:200px}
.ctrl-head > .row{flex-wrap:wrap;justify-content:flex-end}
@media(max-width:640px){
  .pp-menu[open]{flex-basis:100%;order:9}
  .pp-menu .tr-out-menu{position:static;margin-top:6px;min-width:0;box-shadow:none;background:var(--panel2);display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr))}
  .pp-menu .tr-out-menu .btn{white-space:normal;min-width:0}
  .m-item .acts > .pp-menu[open]{width:100%}
  .pp-menu .tr-out-menu > span{grid-column:1/-1}
  .pp-menu[open] > summary{background:var(--panel2)}
}
.pp-menu summary .btn,.pp-menu summary{white-space:nowrap}
/* Allgemeine Einstellungen */
.gen-nav{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 16px}
.gen-nav a{padding:6px 12px;border-radius:999px;border:1px solid var(--line);background:var(--panel);font-weight:600;font-size:14px;text-decoration:none;color:var(--text)}
.gen-card{margin-bottom:16px;scroll-margin-top:16px}
.gen-hint{font-size:14px;margin:0 0 12px}
.gen-list{display:grid;gap:8px;margin-bottom:8px}
.gen-row{display:grid;gap:8px 10px;align-items:end;min-width:0}
.gen-row > *{min-width:0}
.gen-row .field{margin:0}
.gen-row .tc-no{align-self:center;color:var(--muted);font-variant-numeric:tabular-nums;min-width:1.6em}
.g-simple{grid-template-columns:auto minmax(0,1fr)}
.g-reason{grid-template-columns:auto minmax(0,1fr) minmax(0,1fr)}
.g-reason .tc-no{align-self:end;padding-bottom:12px}
.g-win{grid-template-columns:80px minmax(0,1.2fr) minmax(0,1fr) auto;padding:10px;border:1px solid var(--line);border-radius:10px;background:var(--panel2)}
.g-win.is-off{opacity:.65}
.gw-opts{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:center;padding-bottom:8px}
.gw-opts .opt-inline{margin:0}
.gw-note{font-size:12px;color:var(--muted)}
@media(max-width:720px){
  .g-win{grid-template-columns:72px minmax(0,1fr)}
  .g-win .gw-en,.g-win .gw-opts{grid-column:1/-1}
  .g-win .gw-opts{padding-bottom:0}
  .g-reason{grid-template-columns:auto minmax(0,1fr)}
  .g-reason .field:last-child{grid-column:2}
  .g-reason .tc-no{padding-bottom:12px}
}
/* Formularfelder: nie breiter als ihr Platz (v. a. Safari/iOS bei Datum & Uhrzeit) */
input,select,textarea{max-width:100%;min-width:0}
.field{grid-template-columns:minmax(0,1fr)}
.field > *,.form-grid > *,.bi-grid > *,.row > .field,.tc-row > *{min-width:0}
input[type=date],input[type=time],input[type=datetime-local]{-webkit-appearance:none;appearance:none;display:block;width:100%;min-width:0;text-align:left;line-height:1.3}
input[type=date]::-webkit-date-and-time-value,input[type=time]::-webkit-date-and-time-value{text-align:left;margin:0}
input[type=date]::-webkit-calendar-picker-indicator,input[type=time]::-webkit-calendar-picker-indicator{margin-left:auto}
input[type=number]{-moz-appearance:textfield}
select{text-overflow:ellipsis}
textarea{max-width:100%}
/* iOS zoomt bei Schrift < 16px ins Feld – dann wirkt die Seite „zu breit“ */
@media(max-width:720px){
  input[type=text],input[type=password],input[type=number],input[type=date],input[type=time],input[type=url],input[type=search],select,textarea{font-size:16px}
  .form-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .form-grid > .field:only-child{grid-column:1/-1}
}
@media(max-width:400px){
  .form-grid{grid-template-columns:minmax(0,1fr)}
}
.row > .field{flex:1 1 180px}
.row > .field > input[type=number]{max-width:none}
input[type=checkbox],input[type=radio]{flex:none;min-width:auto}
/* Admin-Bereiche */
.admin-bar .wrap{gap:8px 12px}
.ab-areas{display:flex;gap:4px;flex-wrap:wrap;min-width:0}
.admin-bar .ab-areas a,.admin-bar .ab-manage{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:999px;text-decoration:none;color:#ffe7a3;border:1px solid rgba(255,231,163,.25);line-height:1.2;white-space:nowrap}
.admin-bar .ab-areas a .ic,.admin-bar .ab-manage .ic,.ab-logout .ic{width:15px;height:15px;flex:none}
.admin-bar .ab-areas a:hover{background:rgba(255,231,163,.12)}
.admin-bar .ab-areas a.on{background:var(--gold);color:#1a1200;border-color:var(--gold)}
.admin-bar .ab-manage{border-style:dashed}
.admin-bar .ab-logout{margin:0 0 0 auto}
.admin-bar .ab-logout button{display:inline-flex;align-items:center;gap:5px;text-decoration:none;padding:5px 4px}
@media(max-width:480px){
  .admin-bar .wrap{gap:6px}
  .admin-bar .ab-areas a,.admin-bar .ab-manage{padding:5px 9px;font-size:12.5px;gap:5px}
}
@media(max-width:350px){.admin-bar .ab-areas a .ic{display:none}}
.area-intro{margin:0 0 16px;font-size:15px;color:var(--muted);max-width:760px}
.area-intro .more{white-space:nowrap}
.tab-sep{flex:none;width:1px;align-self:stretch;margin:10px 8px;background:var(--line)}
.area-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:12px;margin-top:16px}
.area-card{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:var(--panel);text-decoration:none;color:var(--text);min-width:0}
.area-card:hover{border-color:var(--gold)}
.area-card .ic{width:22px;height:22px;flex:none;margin-top:2px;color:var(--gold)}
.area-card span{display:grid;gap:2px;min-width:0}
.area-card b{font-family:var(--display);font-size:17px}
.area-card small{color:var(--muted);font-size:14px;line-height:1.35}
@media(max-width:480px){.admin-bar .ab-manage{padding:5px 8px}}
/* Auslosung: Teilnehmer ein-/austragen */
.roster-form{margin-top:14px}
.roster{border:1px solid var(--line);border-radius:10px;background:var(--bg2)}
.rs-head{padding:10px 12px;border-bottom:1px solid var(--line);font-weight:700}
.rs-sum b{font-family:var(--display);font-size:17px}
.rs-body{padding:0 12px 4px}
.rs-tools{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:flex-end;margin-bottom:10px}
.rs-tools input[type=search]{flex:1 1 200px;min-width:0;min-height:42px;padding:8px 12px;border-radius:8px;border:1px solid var(--line);background:var(--input);color:var(--text);font:inherit}
.rs-tools .rs-reason{flex:0 1 220px;margin:0}
.rs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(220px,100%),1fr));gap:6px;max-height:420px;overflow:auto;padding:2px 2px 12px}
.rs-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;border:1px solid var(--line);background:var(--panel);cursor:pointer;min-width:0}
.rs-item[hidden]{display:none}
.rs-item input{width:20px;height:20px;flex:none;accent-color:var(--gold)}
.rs-nm{font-weight:700;overflow-wrap:anywhere;min-width:0;line-height:1.25}
.rs-nm small{display:block;font-weight:400;font-size:12.5px;color:var(--muted)}
.rs-nm em{font-style:normal;color:var(--err)}
.rs-item.rs-off{opacity:.6;background:transparent}
.rs-item.st-open{cursor:not-allowed}
.rs-item:has(input:checked){border-color:var(--gold)}
@media(max-width:480px){.rs-tools .rs-reason{flex:1 1 100%}.rs-grid{max-height:none}}
