/* KI-Werkstatt Voting – Farben nach LeonardoBot: Tannengrün #1B4332, Graphit #454D56, Gold #F2B705 (nur Akzent),
   Silber #C9CED4, Waldgrün #2D7A4F, Hintergrund #EEF1F3, Box #E6EEEA. Schrift IBM Plex Sans (selbst gehostet, OFL). */
@font-face{font-family:"IBM Plex Sans";src:url(fonts/IBMPlexSans-400.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"IBM Plex Sans";src:url(fonts/IBMPlexSans-500.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"IBM Plex Sans";src:url(fonts/IBMPlexSans-600.woff2) format("woff2");font-weight:600 700;font-display:swap}
:root{--tg:#1B4332;--gr:#454D56;--gold:#F2B705;--si:#C9CED4;--wg:#2D7A4F;--bg:#EEF1F3;--box:#E6EEEA}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--gr);font:16px/1.6 "IBM Plex Sans",Arial,Helvetica,sans-serif}
.wrap{max-width:680px;margin:0 auto;padding:0 20px}
.wrap.wide{max-width:1040px}
.band{background:var(--tg);padding:15px 0 14px}
@media (min-width:720px){.band{padding:20px 0 19px}}
.wm{display:block;height:28px;width:auto;max-width:62vw}
.nw{white-space:nowrap}
main.wrap{background:#fff;padding-top:26px;padding-bottom:28px}
main.wrap{max-width:680px}
main.wrap.wide{max-width:1040px}
@media (min-width:720px){main.wrap{margin-top:28px;border-radius:2px;padding-left:36px;padding-right:36px}}
.akzent{display:block;width:100px;height:12px}
.titel{margin:20px 0 18px;background:var(--tg);color:#fff;border-left:6px solid var(--gold);padding:9px 14px;font-size:20px;line-height:1.35;font-weight:600}
h2{color:var(--tg);font-size:18px;font-weight:600;margin:30px 0 10px;padding-bottom:6px;border-bottom:1px solid var(--si)}
h2 .opt{font-weight:400;color:var(--gr);font-size:15px}
p{margin:0 0 14px}
a{color:var(--tg)}
strong{color:var(--tg);font-weight:600}
.klein{font-size:13px;line-height:1.5}
.fehler{background:#FBEDEA;border-left:4px solid #B3261E;color:#7A1A14;padding:10px 12px;border-radius:2px}
.hinweis{background:var(--box);padding:10px 12px;border-radius:2px}
.karte{background:var(--box);border-radius:4px;padding:16px;margin:0 0 14px}
.knopf{display:inline-block;background:var(--tg);color:#fff;border:0;border-radius:6px;padding:13px 26px;min-height:48px;
  font:600 16px/22px "IBM Plex Sans",Arial,sans-serif;text-decoration:none;cursor:pointer}
.knopf:hover{background:var(--wg)}
.knopf.hell{background:#fff;color:var(--tg);box-shadow:inset 0 0 0 2px var(--tg)}
.knopf.hell:hover{background:var(--box)}
.knopf:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,a:focus-visible{outline:3px solid var(--wg);outline-offset:2px}
label{display:block;font-weight:500;color:var(--tg);margin:14px 0 6px}
.login input::placeholder{letter-spacing:0;text-transform:none;font-size:17px}
input[type=text],input:not([type]),textarea{width:100%;font:inherit;color:var(--gr);background:#fff;border:1px solid var(--si);border-radius:4px;padding:11px 12px}
.login label{margin-top:0}
.login input{font-size:22px;letter-spacing:3px;text-transform:uppercase;max-width:240px;margin-bottom:14px;display:block}
/* Navigation nach Art */
.arten{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 4px}
.arten a{background:var(--box);border-radius:999px;padding:7px 13px;font-size:14px;text-decoration:none;color:var(--tg);font-weight:500}
.arten a span{color:var(--gr);font-weight:400;margin-left:2px}
section{scroll-margin-top:12px}
/* Themenkarten (kompakt, auch für ~60 Themen) */
.themen{list-style:none;margin:0;padding:0}
.thema{display:flex;flex-direction:column;gap:4px;padding:12px 0 10px;border-bottom:1px solid #E3E6E9}
.thema .fuss{display:flex;align-items:center;justify-content:flex-end;gap:12px}
.thema .fuss .selbst{margin:0 auto 0 0}
@media (min-width:720px){.thema{flex-direction:row;align-items:center;gap:16px}.thema .fuss{flex:none}
  .thema .fuss .selbst{max-width:150px;line-height:1.3}}
.thema:last-child{border-bottom:0}
.thema .txt{flex:1;min-width:0}
.thema h3{margin:0;font-size:16px;line-height:1.4;font-weight:600;color:var(--tg)}
.thema p{margin:2px 0 0;font-size:14px;line-height:1.45}
.thema .von{display:block;font-size:12px;color:#6B737B;margin-top:2px}
.thema.p1,.thema.p2,.thema.p3{padding-left:10px;padding-right:10px;margin-left:-10px;margin-right:-10px;border-radius:4px;border-bottom-color:transparent}
.thema.p1{background:#EEF5F1;box-shadow:inset 3px 0 0 #8FC1A3}
.thema.p2{background:#DCEDE3;box-shadow:inset 4px 0 0 var(--wg)}
.thema.p3{background:#C6E2D1;box-shadow:inset 5px 0 0 var(--tg)}
.thema.p1 + .thema,.thema.p2 + .thema,.thema.p3 + .thema{border-top:0}
.selbst{display:flex;align-items:center;gap:8px;font-weight:400;font-size:14px;color:var(--gr);margin:0;min-height:44px;cursor:pointer}
.selbst input{width:22px;height:22px;accent-color:var(--tg);margin:0}
.punkte{display:flex;align-items:center;gap:6px;flex:none}
.punkte button,.punkte .wert{display:none}
.punkte select{font:inherit;font-size:16px;padding:8px;border:1px solid var(--si);border-radius:4px;background:#fff}
.js .punkte select{display:none}
.js .punkte button{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;border:2px solid var(--tg);
  background:#fff;color:var(--tg);font:600 24px/1 "IBM Plex Sans",Arial,sans-serif;cursor:pointer;padding:0;touch-action:manipulation}
.js .punkte button.plus{background:var(--tg);color:#fff}
.js .punkte button:disabled{border-color:var(--si);color:var(--si);background:#fff;cursor:default}
.js .punkte .wert{display:block;width:24px;text-align:center;font-size:20px;font-weight:600;color:var(--tg)}
/* Freitexte */
.texte textarea{min-height:64px;resize:vertical}
/* Leiste unten mit Zähler */
#vote{padding-bottom:12px}
.leiste{position:sticky;bottom:0;margin:24px -20px -28px;background:#fff;border-top:3px solid var(--gold);box-shadow:0 -2px 10px rgba(27,67,50,.08);z-index:5}
@media (min-width:720px){.leiste{margin-left:-36px;margin-right:-36px}}
.leiste .wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:10px;padding-bottom:10px;max-width:none}
#rest{display:flex;flex-wrap:wrap;align-items:center;gap:4px 6px;max-width:250px}
.chips-titel{font-size:12px;font-weight:600;color:var(--tg);width:100%;line-height:1.2}
.chip{font-size:13px;line-height:1.2;background:var(--box);color:var(--tg);border-radius:999px;padding:4px 9px;white-space:nowrap}
.chip b{font-weight:600;margin-left:2px}
.chip.voll{background:var(--tg);color:#fff}
.chip.zuviel{background:#FBEDEA;color:#B3261E}
@media (min-width:720px){#rest{max-width:none;flex-wrap:nowrap}.chips-titel{width:auto;font-size:13px}}
/* Danke / Zusammenfassung */
.summe{margin:0;padding-left:18px}
.summe li{margin:4px 0}
.ftext span{font-weight:500;color:var(--tg)}
.ftext{white-space:pre-line;overflow-wrap:anywhere}
/* Admin */
.kennzahlen{display:flex;flex-wrap:wrap;gap:8px 24px}
.tabelle{overflow-x:auto}
table{border-collapse:collapse;width:100%;font-size:15px}
th{text-align:left;color:var(--tg);font-weight:600;border-bottom:2px solid var(--tg);padding:8px 8px}
td{border-bottom:1px solid #E3E6E9;padding:9px 8px;vertical-align:top}
.zahl{text-align:right;white-space:nowrap}
td.zahl{font-weight:600;color:var(--tg);font-size:17px}
footer{padding:16px 20px 40px;font-size:13px;line-height:1.5;color:var(--gr)}
footer p{border-top:1px solid var(--si);padding-top:12px}
.summe{margin-bottom:12px}
@media (min-width:720px){.band .wrap{padding-left:36px;padding-right:36px}}
.tabelle table{min-width:620px}
.thema.mit-text{flex-wrap:wrap}
.tfeld{width:100%;flex-basis:100%}
.tfeld label{font-size:14px;margin:6px 0 4px}
.tfeld label .opt{font-weight:400;color:var(--gr)}
.tfeld textarea{min-height:104px;font-size:15px;line-height:1.45}
.tfeld textarea::placeholder{color:#7A828A}
/* 0.2: HorstBot-Gruß wie in der Mailvorlage */
.horst{display:flex;align-items:center;gap:12px;background:var(--box);border-left:4px solid var(--tg);padding:12px 12px 12px 10px;margin:18px 0 0}
.horst img{width:64px;height:64px;border-radius:50%;flex:none;background:#fff}
.horst .blase{position:relative;margin:0;background:#fff;border-radius:10px;padding:10px 12px;font-size:15px;line-height:1.45;color:var(--tg)}
.horst .blase::before{content:"";position:absolute;left:-7px;top:50%;margin-top:-7px;border:7px solid transparent;border-left:0;border-right-color:#fff}
/* Regeln je Gruppe */
.regel{font-size:14px;margin:-4px 0 8px}
.frei{font-weight:600;color:var(--wg);white-space:nowrap}
.wunsch{color:var(--tg)}
.summe-art{margin:6px 0 2px;font-weight:600;color:var(--tg);font-size:14px}
h3.gruppe{color:var(--tg);font-size:16px;margin:22px 0 6px}
/* Optionen zum Anklicken */
fieldset.optionen{border:0;margin:8px 0 2px;padding:0;width:100%;flex-basis:100%}
fieldset.optionen legend{font-size:14px;font-weight:500;color:var(--tg);padding:0;margin-bottom:6px}
.opt-chip{display:inline-flex;align-items:center;margin:0 6px 8px 0;cursor:pointer}
.opt-chip input{position:absolute;opacity:0;width:1px;height:1px}
.opt-chip span{display:inline-block;min-height:40px;line-height:22px;padding:9px 14px;border:2px solid var(--tg);border-radius:999px;background:#fff;color:var(--tg);font-size:15px;font-weight:500}
.opt-chip.an span,.opt-chip input:checked + span{background:var(--tg);color:#fff}
.opt-chip input:disabled + span{border-color:var(--si);color:#8A9199;cursor:default}
.opt-chip input:focus-visible + span{outline:3px solid var(--wg);outline-offset:2px}
.opt-chip{position:relative}
@media (max-width:719px){#rest{max-width:215px}.chip{font-size:12px;padding:4px 8px}.leiste .knopf{padding:12px 16px}}
