/* Gestaltung der Themes über die Farben hinaus (Academy), Gegenstück zu tools\cockpit\web\theme_*.css. Farben kommen aus
   themes.css (erzeugt aus tools\cockpit\config\themes.json). html[data-akzent] setzt thema.js, wenn das Theme eine eigene
   Akzentfarbe hat (R1SE hell, Tech, Gamify): Bedienelemente bekommen --akzent, --red bleibt Warnfarbe (Fehler, Löschen). */

/* ---------- Akzent ---------- */
html[data-akzent]{--rot-weich:color-mix(in srgb,var(--akzent) 10%,transparent);--rot-rand:color-mix(in srgb,var(--akzent) 40%,transparent)}
html[data-akzent] .knopf.haupt{background:var(--akzent);color:var(--kopf-text,#fff);box-shadow:0 6px 22px color-mix(in srgb,var(--akzent) 30%,transparent)}
html[data-akzent] :is(.reiter button.an){border-color:var(--akzent)}
html[data-akzent] .leiste a.an:before{background:var(--akzent)}
html[data-akzent] .leiste a.an,html[data-akzent] .seitenleiste a.an{color:var(--akzent-text)}
html[data-akzent] .seitenleiste a.an{box-shadow:inset 3px 0 0 var(--akzent)}
html[data-akzent] .logo i{background:linear-gradient(135deg,var(--akzent),color-mix(in srgb,var(--akzent) 60%,#000));box-shadow:0 0 18px color-mix(in srgb,var(--akzent) 30%,transparent)}
html[data-akzent] .text-inhalt blockquote{border-left-color:var(--akzent)}
html[data-akzent] .md-zusammenfassung{--k:var(--akzent-text)}
html[data-akzent] body:before{background:radial-gradient(900px 420px at 85% -10%,color-mix(in srgb,var(--akzent) 10%,transparent),transparent 60%)}
html[data-akzent] :is(input,textarea,select):focus{border-color:var(--akzent)}
/* eigener Kopfbalken (R1SE hell: dunkelgrau wie die Website) */
html[data-akzent] .kopf{background:var(--kopf-bg);color:var(--kopf-text);border-bottom-color:transparent}
html[data-akzent] .kopf :is(.logo b,.logo b small,.symknopf,a,button){color:var(--kopf-text)}

/* ---------- Tech: alter Computerbildschirm, nur dunkel ---------- */
html[data-stil=tech] body{text-shadow:0 0 1px rgba(57,255,106,.35)}
html[data-stil=tech] body:before{background:repeating-linear-gradient(0deg,rgba(57,255,106,.035) 0 1px,transparent 1px 3px),radial-gradient(1100px 600px at 50% 0%,rgba(57,255,106,.07),transparent 65%),radial-gradient(ellipse at center,transparent 60%,rgba(0,0,0,.6) 100%)}
html[data-stil=tech] :is(h1,h2,h3){text-shadow:0 0 8px rgba(57,255,106,.55)}
html[data-stil=tech] .karte{background:linear-gradient(180deg,#031008,#010603);border-radius:4px;box-shadow:inset 0 0 0 1px rgba(57,255,106,.04),0 0 18px rgba(57,255,106,.04)}
html[data-stil=tech] :is(.knopf,.chip,.marke,.eingabe,input,textarea,select){border-radius:3px}
html[data-stil=tech] .knopf.haupt{color:#000;text-shadow:none;box-shadow:0 0 14px rgba(57,255,106,.35)}
html[data-stil=tech] .kopf{border-bottom:1px dashed var(--line2)}
html[data-stil=tech] .logo i{background:#000;border:1px solid var(--akzent);color:var(--akzent)}
html[data-stil=tech] .md-kasten{border-radius:4px}
html[data-stil=tech] ::selection{background:var(--akzent);color:#000}

/* ---------- Gamify: Retro-Spiel, nur hell ---------- */
html[data-stil=gamify] .karte{border:2px solid var(--tinte);border-radius:10px;box-shadow:4px 4px 0 var(--tinte);background:var(--panel)}
html[data-stil=gamify] .knopf{border:2px solid var(--tinte);box-shadow:3px 3px 0 var(--tinte)}
html[data-stil=gamify] .knopf:active{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--tinte)}
html[data-stil=gamify] .md-kasten{border:2px solid var(--tinte);border-left:6px solid var(--k);box-shadow:3px 3px 0 var(--tinte)}
html[data-stil=gamify] :is(h1,h2,h3){letter-spacing:.04em}

/* ---------- Diablo: dunkle Fantasy, nur dunkel (Gegenstück zu cockpit\web\theme_diablo.css) ---------- */
/* Feinschliff 2026-11-04 (Andreas): Überschriften und Name in --schrift-diablo (Cinzel Decorative, selbst gehostet in pub/schriften),
   Rot statt Gold, mehr Dunkelrot in Rahmen und Schatten; Knöpfe und Fließtext wie vorher (Knopfrand --bronze).
   Rückweg: Sicherungen/Academy/2026-11-04 vorher Themes-Feinschliff */
html[data-stil=diablo] body{font-size-adjust:.5}  /* Crimson Pro hat kleine Kleinbuchstaben */
html[data-stil=diablo] body:before{background:radial-gradient(1200px 520px at 50% 115%,rgba(160,14,10,.34),transparent 65%),radial-gradient(900px 400px at 85% -15%,rgba(130,10,12,.22),transparent 60%),radial-gradient(700px 360px at -10% 30%,rgba(90,6,8,.16),transparent 60%),repeating-linear-gradient(115deg,rgba(255,240,210,.012) 0 2px,transparent 2px 7px)}
html[data-stil=diablo] :is(h1,h2,h3){color:var(--blut);text-transform:uppercase;letter-spacing:.05em;font-family:var(--schrift-diablo);font-weight:700;font-size-adjust:none;text-shadow:0 1px 0 #000,0 0 12px rgba(200,22,31,.5)}
html[data-stil=diablo] .karte{background:linear-gradient(180deg,#180b09,#0a0706);border:1px solid var(--line2);border-radius:2px;box-shadow:inset 0 0 0 1px #000,inset 0 0 0 2px rgba(200,22,31,.12),inset 0 18px 30px -24px rgba(200,22,31,.35),0 6px 18px rgba(0,0,0,.6),0 0 24px rgba(120,10,10,.12)}
html[data-stil=diablo] :is(.knopf,.chip,.marke,.eingabe,input,textarea,select,.md-kasten,.dlg){border-radius:2px}
html[data-stil=diablo] .knopf:not(.haupt){border-color:var(--bronze)}
html[data-stil=diablo] .knopf.haupt{background:linear-gradient(180deg,#8e1218,#3e0507);border:1px solid var(--gold);color:#f0d9a0;text-shadow:0 1px 0 #000;box-shadow:0 0 12px rgba(179,18,27,.35)}
html[data-stil=diablo] .kopf{border-bottom:1px solid transparent;border-image:linear-gradient(90deg,transparent,#4a0d0b 15%,var(--blut) 50%,#4a0d0b 85%,transparent) 1}
html[data-stil=diablo] .logo b{color:var(--blut);font-family:var(--schrift-diablo);font-size-adjust:none;text-shadow:0 1px 0 #000,0 0 14px rgba(200,22,31,.55)}
html[data-stil=diablo] .logo b small{font-family:var(--display);color:var(--mute);text-shadow:none}
html[data-stil=diablo] .logo i{background:radial-gradient(circle at 50% 40%,#8e1218,#2a0304);border:1px solid var(--blut);color:#f0d9a0;box-shadow:0 0 16px rgba(200,22,31,.35)}
html[data-stil=diablo] .reiter button.an{border-color:var(--blut)}
html[data-stil=diablo] .leiste a.an:before{background:var(--blut)}
html[data-stil=diablo] .seitenleiste a.an{background:linear-gradient(90deg,rgba(150,16,16,.22),transparent);box-shadow:inset 3px 0 0 var(--blut)}
html[data-stil=diablo] .seitenleiste .ueber{color:#9a3a2e}
html[data-stil=diablo] .dlg{background:#0e0908;border:1px solid var(--line2);box-shadow:inset 0 0 0 1px #000,inset 0 0 0 2px rgba(200,22,31,.14),0 0 30px rgba(120,10,10,.25),0 20px 60px rgba(0,0,0,.8)}
html[data-stil=diablo] ::selection{background:var(--blut);color:#f0d9a0}

/* ---------- Joy of Discipline: roh und kratzig, nur dunkel (Gegenstück zu cockpit\web\theme_disziplin.css) ---------- */
html[data-stil=disziplin] body:before{background:repeating-linear-gradient(0deg,rgba(255,255,255,.018) 0 1px,transparent 1px 2px),repeating-linear-gradient(90deg,rgba(255,255,255,.012) 0 1px,transparent 1px 3px)}
html[data-stil=disziplin] :is(h1,h2,h3){font-family:var(--schrift-rau);font-weight:400;text-transform:uppercase;letter-spacing:.04em}
html[data-stil=disziplin] .karte{background:linear-gradient(180deg,#141414,#0d0d0d);border:1px solid var(--line);border-left:4px solid var(--akzent);border-radius:0;box-shadow:0 0 0 1px #000,6px 6px 0 rgba(0,0,0,.55)}
html[data-stil=disziplin] :is(.knopf,.chip,.marke,.eingabe,input,textarea,select,.md-kasten,.dlg,.logo i){border-radius:0}
html[data-stil=disziplin] .knopf{text-transform:uppercase;letter-spacing:.06em;font-weight:800;max-width:100%;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
html[data-stil=disziplin] .knopf.haupt{background:var(--akzent);color:#000;box-shadow:3px 3px 0 var(--red)}
html[data-stil=disziplin] .knopf.haupt:active{transform:translate(3px,3px);box-shadow:none}
html[data-stil=disziplin] .kopf{border-bottom:6px solid transparent;border-image:repeating-linear-gradient(-45deg,var(--akzent) 0 12px,#000 12px 24px) 6}
html[data-stil=disziplin] .logo b{font-family:var(--schrift-rau);font-weight:400;letter-spacing:.04em}
html[data-stil=disziplin] .logo i{background:var(--akzent);color:#000;box-shadow:3px 3px 0 var(--red)}
html[data-stil=disziplin] .dlg{background:#0d0d0d;border:2px solid var(--akzent);box-shadow:8px 8px 0 #000}
html[data-stil=disziplin] ::selection{background:var(--akzent);color:#000}

/* ---------- Zeliard: Fantasy-Abenteuer, hell und dunkel (Gegenstück zu cockpit/web/theme_zeliard.css) ---------- */
html[data-stil=zeliard] :is(h1,h2,h3){font-variant:small-caps;letter-spacing:.03em}
html[data-stil=zeliard] :is(.knopf,.chip,.marke,.eingabe,input,textarea,select,.md-kasten){border-radius:6px}
html[data-stil=zeliard] .logo b{color:var(--hylia)}
html[data-stil=zeliard] .logo i{background:linear-gradient(160deg,#f3dc7a,var(--hylia) 55%,#8a6a14);color:#1b1608;box-shadow:0 0 16px rgba(227,195,90,.35)}
html[data-stil=zeliard]:not([data-theme=hell]) body:before{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='48'%3E%3Cpath d='M0 48L28 0L56 48M14 24H42' fill='none' stroke='%233fd7e8' stroke-opacity='.05'/%3E%3C/svg%3E"),radial-gradient(1100px 520px at 50% -12%,rgba(63,215,232,.12),transparent 62%),radial-gradient(900px 460px at 50% 115%,rgba(227,195,90,.07),transparent 65%)}
html[data-stil=zeliard]:not([data-theme=hell]) :is(h1,h2,h3){color:#dff7f9;text-shadow:0 0 10px rgba(63,215,232,.45)}
html[data-stil=zeliard]:not([data-theme=hell]) .karte{background:linear-gradient(180deg,#0f1a22,#0a1117);border-color:var(--runen);box-shadow:inset 0 1px 0 rgba(227,195,90,.35),0 8px 24px rgba(0,0,0,.45)}
html[data-stil=zeliard]:not([data-theme=hell]) .knopf.haupt{background:linear-gradient(180deg,#123341,#0a1c25);border:1px solid var(--akzent);color:var(--akzent-text);text-shadow:0 0 8px rgba(63,215,232,.5);box-shadow:0 0 14px rgba(63,215,232,.25)}
html[data-stil=zeliard]:not([data-theme=hell]) .kopf{border-bottom:1px solid transparent;border-image:linear-gradient(90deg,transparent,#8a6a14 15%,var(--hylia) 50%,#8a6a14 85%,transparent) 1}
html[data-stil=zeliard]:not([data-theme=hell]) .dlg{border:1px solid var(--akzent);box-shadow:0 0 30px rgba(63,215,232,.18),0 20px 60px rgba(0,0,0,.7)}
html[data-stil=zeliard][data-theme=hell] body:before{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='48'%3E%3Cpath d='M0 48L28 0L56 48M14 24H42' fill='none' stroke='%238a6a14' stroke-opacity='.07'/%3E%3C/svg%3E"),radial-gradient(1000px 480px at 85% -10%,rgba(47,125,59,.1),transparent 60%)}
html[data-stil=zeliard][data-theme=hell] :is(h1,h2,h3){color:#23552c}
html[data-stil=zeliard][data-theme=hell] .karte{background:linear-gradient(180deg,#fdf9ec,#f8f0da);border-color:var(--line2);box-shadow:inset 0 2px 0 var(--hylia),0 2px 8px rgba(90,70,20,.12)}
html[data-stil=zeliard][data-theme=hell] .knopf.haupt{background:linear-gradient(180deg,#3a8e46,#23552c);border:1px solid var(--hylia);color:#fbf3d6}
html[data-stil=zeliard][data-theme=hell] .kopf{border-bottom:3px solid var(--hylia)}
html[data-stil=zeliard][data-theme=hell] .kopf .logo b{color:var(--hylia)}
html[data-stil=zeliard] ::selection{background:var(--hylia);color:#1b1608}

/* ---------- Luxurious: Gold auf Schwarz, nur dunkel (Gegenstück zu cockpit/web/theme_luxurious.css) ---------- */
html[data-stil=luxurious] body:before{background:radial-gradient(1100px 480px at 50% -14%,rgba(212,175,55,.13),transparent 62%),radial-gradient(800px 420px at 100% 110%,rgba(212,175,55,.06),transparent 60%),repeating-linear-gradient(135deg,rgba(212,175,55,.018) 0 1px,transparent 1px 9px)}
html[data-stil=luxurious] :is(h1,h2,h3){color:var(--akzent-text);text-transform:uppercase;letter-spacing:.1em;font-weight:600;text-shadow:0 1px 0 #000}
html[data-stil=luxurious] .karte{background:linear-gradient(180deg,#100d0a,#080706);border:1px solid rgba(212,175,55,.26);border-radius:4px;box-shadow:inset 0 1px 0 rgba(243,220,140,.22),0 10px 30px rgba(0,0,0,.55)}
html[data-stil=luxurious] :is(.knopf,.chip,.marke,.eingabe,input,textarea,select,.md-kasten,.dlg,.logo i){border-radius:3px}
html[data-stil=luxurious] .knopf.haupt{background:linear-gradient(180deg,var(--gold-hell),var(--gold) 55%,#a8842a);color:#120e05;box-shadow:0 0 16px rgba(212,175,55,.25),inset 0 1px 0 rgba(255,250,220,.6)}
html[data-stil=luxurious] .kopf{border-bottom:1px solid transparent;border-image:linear-gradient(90deg,transparent,var(--gold-dunkel) 15%,var(--gold-hell) 50%,var(--gold-dunkel) 85%,transparent) 1}
html[data-stil=luxurious] .logo b{color:var(--akzent-text);letter-spacing:.08em}
html[data-stil=luxurious] .logo i{background:linear-gradient(160deg,var(--gold-hell),var(--gold) 55%,var(--gold-dunkel));color:#120e05}
html[data-stil=luxurious] .dlg{border:1px solid rgba(212,175,55,.5);box-shadow:inset 0 1px 0 rgba(243,220,140,.25),0 20px 60px rgba(0,0,0,.8)}
html[data-stil=luxurious] ::selection{background:var(--gold);color:#120e05}

/* ---------- Brand verstärkt (Andreas 2026-11-04: Markenfarbe zu selten; Gegenstück zu cockpit/web/theme_r1se_stark.css).
   Rückweg: diesen Block löschen, Sicherung unter Sicherungen/Cockpit/2026-11-04 vorher Themes Zeliard Luxurious ---------- */
html[data-stil=r1se][data-theme=hell]{--bg:#ebf2f6}
html[data-stil=r1se][data-theme=hell] .kopf{border-bottom:3px solid var(--akzent)}
html[data-stil=r1se][data-theme=hell] .karte{border-top:3px solid var(--akzent);box-shadow:0 2px 8px rgba(0,75,100,.08)}
html[data-stil=r1se][data-theme=hell] :is(h1,h2,h3){color:var(--r1-titel)}  /* bis 2026-11-04: #004b64 */
html[data-stil=r1se][data-theme=hell] .reiter button.an{background:color-mix(in srgb,var(--akzent) 12%,transparent);color:#004b64}
html[data-stil=r1se][data-theme=hell] .seitenleiste a.an{background:color-mix(in srgb,var(--akzent) 16%,transparent);color:#004b64}
html[data-stil=r1se][data-theme=hell] .seitenleiste .ueber{color:#0077a2}
html[data-stil=r1se][data-theme=hell] :is(.seitenleiste a,.reiter button) svg{color:#0077a2}
html[data-stil=r1se][data-theme=hell] .chip{border-color:#a5e4ff}
html[data-stil=r1se]:not([data-theme=hell]) .karte{border-top:2px solid #c2101f}
/* Feinschliff 2026-11-04 (Andreas): dunkel alle Überschriften Rot auf Schwarz (--r1-titel, etwas dunkler als die Warnfarbe), Text bleibt
   Weiß, Flächen dunkelrot mit dezentem Schatten; hell Überschriften Blau mittel, Seitenmenü/Reiter blau (Gegenstück zu cockpit/web/theme_r1se.css) */
html[data-stil=r1se]:not([data-theme=hell]) :is(h1,h2,h3){color:var(--r1-titel);text-shadow:0 0 14px rgba(227,18,42,.22)}
html[data-stil=r1se]:not([data-theme=hell]) .karte{background:linear-gradient(165deg,#1d080b 0%,#0e0809 45%,#080707 100%);border-color:var(--r1-rahmen);box-shadow:inset 0 1px 0 rgba(255,60,70,.08),0 10px 28px rgba(90,0,12,.22)}
html[data-stil=r1se]:not([data-theme=hell]) .seitenleiste .ueber{color:#b5444e}
html[data-stil=r1se]:not([data-theme=hell]) .seitenleiste a.an{background:linear-gradient(90deg,rgba(227,18,42,.18),rgba(80,0,10,.04))}
html[data-stil=r1se]:not([data-theme=hell]) .kopf{border-bottom:1px solid transparent;border-image:linear-gradient(90deg,transparent,#8a0a17 20%,#ff1f2d 50%,#8a0a17 80%,transparent) 1}

/* ---------- Joy of Discipline: Impact enger setzen (Andreas 2026-11-04, Überschriften brachen um) ---------- */
html[data-stil=disziplin] :is(h1,h2,h3){letter-spacing:.01em}

/* ---------- Ponyhof: nur zum Spaß, Pink/Rosa/Glitzer, hell und dunkel (Gegenstück zu cockpit/web/theme_ponyhof.css).
   Schriften seit 2026-11-04 selbst gehostet (pub/schriften): Fredoka/Quicksand über --display/--body, Name in Pacifico (--schrift-pony) ---------- */
html[data-stil=ponyhof] :is(h1,h2,h3){font-family:var(--display),'Arial Rounded MT Bold','Trebuchet MS',Arial,sans-serif;letter-spacing:.01em}
html[data-stil=ponyhof] .logo b{font-family:var(--schrift-pony),'Brush Script MT','Segoe Script',cursive;font-weight:400;letter-spacing:0}
html[data-stil=ponyhof] .karte{border-width:2px;border-radius:20px}
html[data-stil=ponyhof] :is(.knopf,.chip,.marke){border-radius:999px}
html[data-stil=ponyhof] :is(.eingabe,input,textarea,select,.md-kasten){border-radius:14px}
html[data-stil=ponyhof] .knopf.haupt{background:linear-gradient(135deg,#ff4fa3,#c86bff);color:#fff;box-shadow:0 4px 14px rgba(255,79,163,.4),inset 0 1px 0 rgba(255,255,255,.5)}
html[data-stil=ponyhof] .logo i{background:linear-gradient(135deg,#ff8fd5,#ff4fa3 45%,#b892ff);color:#fff;border-radius:50%;box-shadow:0 0 0 2px #fff,0 0 18px rgba(255,79,163,.55)}
html[data-stil=ponyhof] .kopf{border-bottom:3px solid transparent;border-image:linear-gradient(90deg,#ff5e7e,#ffb347,#ffe66d,#7be495,#6ecbff,#b892ff,#ff5e7e) 1}
html[data-stil=ponyhof] .dlg{border-radius:24px;border:3px solid var(--akzent)}
html[data-stil=ponyhof] ::selection{background:#ff4fa3;color:#fff}
html[data-stil=ponyhof][data-theme=hell] body:before{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='96' height='96'%3E%3Cpath d='M20 34s-10-6-13-12a7 7 0 0 1 13-5a7 7 0 0 1 13 5c-3 6-13 12-13 12z' fill='%23ff4fa3' fill-opacity='.10'/%3E%3Cpath d='M70 56l2.5 8 8 2.5-8 2.5-2.5 8-2.5-8-8-2.5 8-2.5z' fill='%23b892ff' fill-opacity='.18'/%3E%3Ccircle cx='76' cy='18' r='2' fill='%23ffb627' fill-opacity='.35'/%3E%3C/svg%3E"),radial-gradient(900px 420px at 85% -10%,rgba(200,107,255,.16),transparent 60%),radial-gradient(800px 380px at -10% 0%,rgba(255,79,163,.14),transparent 60%)}
html[data-stil=ponyhof][data-theme=hell] :is(h1,h2,h3){color:#e0287f}
html[data-stil=ponyhof][data-theme=hell] .karte{background:linear-gradient(180deg,#ffffff,#fff3f9);border-color:#ffc2df;box-shadow:0 6px 0 #ffd0e6,0 10px 24px rgba(255,79,163,.16)}
html[data-stil=ponyhof][data-theme=hell] .kopf .logo b{text-shadow:0 2px 0 #d6247f}
html[data-stil=ponyhof]:not([data-theme=hell]) body:before{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='110' height='110'%3E%3Cpath d='M24 14l2 7 7 2-7 2-2 7-2-7-7-2 7-2z' fill='%23ff8fd5' fill-opacity='.22'/%3E%3Cpath d='M80 66l1.5 5 5 1.5-5 1.5-1.5 5-1.5-5-5-1.5 5-1.5z' fill='%23b892ff' fill-opacity='.28'/%3E%3Ccircle cx='30' cy='88' r='1.4' fill='%23fff' fill-opacity='.35'/%3E%3C/svg%3E"),radial-gradient(1000px 460px at 80% -12%,rgba(255,110,199,.2),transparent 62%),radial-gradient(900px 460px at 0% 110%,rgba(184,146,255,.16),transparent 62%)}
html[data-stil=ponyhof]:not([data-theme=hell]) :is(h1,h2,h3){color:#ff8fd5;text-shadow:0 0 12px rgba(255,110,199,.55)}
html[data-stil=ponyhof]:not([data-theme=hell]) .karte{background:linear-gradient(180deg,#331238,#250c29);border-color:rgba(255,110,199,.45);box-shadow:0 0 22px rgba(255,110,199,.14),0 10px 26px rgba(0,0,0,.4)}
html[data-stil=ponyhof]:not([data-theme=hell]) .logo b{color:#ff8fd5;text-shadow:0 0 12px rgba(255,110,199,.5)}

/* Anmerkungen bleiben in jedem Theme ohne Kasten-Rahmen */
html[data-stil] .md-kasten.md-anmerkungen{border:0;border-top:1px solid var(--line);border-radius:0;box-shadow:none;background:none}

/* ---------- 2026-11-05 Runde 3 (Vorlage Team Themes, eingebaut von Team Academy): Joy of Discipline hell und Game of Life.
   Rückweg: alles ab hier bis zum Dateiende löschen. ---------- */

/* ---------- Joy of Discipline hell: die oben fest dunklen Stellen hell ---------- */
html[data-stil=disziplin][data-theme=hell] body:before{background:repeating-linear-gradient(0deg,rgba(0,0,0,.025) 0 1px,transparent 1px 2px),repeating-linear-gradient(90deg,rgba(0,0,0,.018) 0 1px,transparent 1px 3px)}
html[data-stil=disziplin][data-theme=hell] .karte{background:linear-gradient(180deg,var(--panel),var(--karte-bis));box-shadow:0 0 0 1px #111,5px 5px 0 rgba(0,0,0,.16)}
html[data-stil=disziplin][data-theme=hell] .dlg{background:var(--dlg-bg);box-shadow:8px 8px 0 #111}

/* ---------- Game of Life: Kopie von Joy of Discipline mit Testfarben (Gegenstück zu cockpit\web\theme_gameoflife.css) ---------- */
html[data-stil=gameoflife] body:before{background:repeating-linear-gradient(0deg,rgba(255,122,0,.03) 0 1px,transparent 1px 2px),repeating-linear-gradient(90deg,rgba(255,122,0,.02) 0 1px,transparent 1px 3px)}
html[data-stil=gameoflife] :is(h1,h2,h3){font-family:var(--schrift-rau);font-weight:400;text-transform:uppercase;letter-spacing:.01em}
html[data-stil=gameoflife] .karte{background:linear-gradient(180deg,var(--panel),var(--karte-bis));border:1px solid var(--gol-rahmen);border-left:4px solid var(--akzent);border-radius:0;box-shadow:6px 6px 0 var(--gol-schatten)}
html[data-stil=gameoflife] :is(.knopf,.chip,.marke,.eingabe,input,textarea,select,.md-kasten,.dlg,.logo i){border-radius:0}
html[data-stil=gameoflife] .knopf{text-transform:uppercase;letter-spacing:.06em;font-weight:800;max-width:100%;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
html[data-stil=gameoflife] .knopf.haupt{background:var(--akzent);color:#000;box-shadow:3px 3px 0 var(--ember)}
html[data-stil=gameoflife] .knopf.haupt:active{transform:translate(3px,3px);box-shadow:none}
html[data-stil=gameoflife] .kopf{border-bottom:6px solid transparent;border-image:repeating-linear-gradient(-45deg,var(--akzent) 0 12px,#000 12px 24px) 6}
html[data-stil=gameoflife] .logo b{font-family:var(--schrift-rau);font-weight:400;letter-spacing:.04em}
html[data-stil=gameoflife] .logo i{background:var(--akzent);color:#000;box-shadow:3px 3px 0 var(--ember)}
html[data-stil=gameoflife] .dlg{background:var(--dlg-bg);border:2px solid var(--akzent);box-shadow:8px 8px 0 var(--gol-schatten)}
html[data-stil=gameoflife] ::selection{background:var(--akzent);color:#000}
/* Rot bleibt Warnfarbe, Text ist hier selbst rot: Warnungen (Inline-Rot) zusätzlich mit gelber Wellenlinie; Academy-eigene
   Fehlerklassen (z. B. Meldungen beim Login) bitte ergänzen */
html[data-stil=gameoflife] :is([style^="color:var(--red)"],[style*=";color:var(--red)"],[style*=" color:var(--red)"]){text-decoration:underline wavy var(--akzent) 1px;text-underline-offset:3px;font-weight:700}
/* Academy-eigene Warn- und Fehlerstellen (rote Schrift) ebenfalls mit gelber Wellenlinie, weil Game of Life Text selbst rot ist */
html[data-stil=gameoflife] :is(.rot,.hinweis.rot,.form-fehler,.marke.rot,.knopf.gefahr,.menue .gefahr,.coin-zeile b.minus,.pb-summe.neg,.pb-wert.neg,.pb-pnm.neg>b,.toast.rot span,.marke.live){text-decoration:underline wavy var(--akzent) 1px;text-underline-offset:3px;font-weight:700}
