
:root{
  --ground:#17191A; --panel:#202325; --panel2:#2A2E30; --raise:#33383A;
  --line:#3A4042; --ink:#F0F3F2; --muted:#8D9694; --dim:#666E6C;
  --accent:#57D9A4; --accent-deep:#2E7D5D; --accent-ink:#0C1B15;
  --warn:#F2B441; --stop:#FF5A4D;
  --disp:"Barlow Condensed",'Arial Narrow',sans-serif;
  --body:"IBM Plex Sans",system-ui,sans-serif;
}
*{box-sizing:border-box}
html,body{margin:0;background:var(--ground);color:var(--ink);font:400 16px/1.45 var(--body);-webkit-tap-highlight-color:transparent}
main{max-width:560px;margin:0 auto;padding:20px 16px 48px}
.marke{display:flex;align-items:center;gap:2px;font:700 26px var(--disp);letter-spacing:.06em;margin:6px 0 22px}
.marke svg{width:22px;height:22px;margin:0 1px}
h1{font:700 32px/1.1 var(--disp);letter-spacing:.02em;margin:0 0 6px;text-transform:uppercase}
h2{font:600 22px/1.2 var(--disp);letter-spacing:.02em;margin:26px 0 10px}
p.lead{color:var(--muted);margin:0 0 22px}
.knopf{display:flex;align-items:center;gap:14px;width:100%;text-align:left;border:1px solid var(--line);
  background:var(--panel);color:var(--ink);border-radius:14px;padding:16px;margin:0 0 12px;font:500 17px var(--body);cursor:pointer}
.knopf:active{background:var(--raise)}
.knopf .ico{flex:0 0 40px;height:40px;border-radius:10px;background:var(--panel2);display:grid;place-items:center;font-size:20px;color:var(--accent)}
.knopf small{display:block;color:var(--muted);font:400 13px var(--body);margin-top:2px}
.knopf.haupt{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}
.knopf.haupt small{color:var(--accent-deep)}
.knopf.haupt .ico{background:rgba(12,27,21,.12);color:var(--accent-ink)}
.knopf[disabled]{opacity:.45}
.zeile{display:flex;gap:10px}
.zeile .knopf{justify-content:center;text-align:center}
textarea{width:100%;min-height:110px;background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:12px;
  padding:12px;font:500 13px "IBM Plex Mono",monospace;margin:4px 0 12px}
input[type=text]{width:100%;background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:12px;padding:14px;font:500 18px var(--body)}
.meldung{border-radius:12px;padding:12px 14px;margin:0 0 14px;font-size:15px}
.meldung.fehler{background:rgba(255,90,77,.12);border:1px solid var(--stop);color:#FFC2BB}
.meldung.info{background:var(--panel);border:1px solid var(--line);color:var(--muted)}
.meldung.gut{background:rgba(87,217,164,.10);border:1px solid var(--accent-deep);color:var(--ink)}
.plan{border:1px solid var(--line);background:var(--panel);border-radius:14px;padding:14px 16px;margin:0 0 10px;cursor:pointer}
.plan b{font:600 20px var(--disp);letter-spacing:.02em}
.plan span{display:block;color:var(--muted);font-size:13px}
.plan.aktiv{border-color:var(--accent)}
.versteckt{display:none!important}

.fortschritt{height:6px;background:var(--panel2);border-radius:3px;margin:0 0 22px;overflow:hidden}
.fortschritt i{display:block;height:100%;background:var(--accent);transition:width .25s}
.frage{font:600 26px/1.15 var(--disp);letter-spacing:.01em;margin:0 0 6px}
.hilfe{color:var(--muted);font-size:14px;margin:0 0 18px}
.wahl{display:block;width:100%;text-align:left;border:1px solid var(--line);background:var(--panel);color:var(--ink);
  border-radius:12px;padding:14px 16px;margin:0 0 10px;font:500 16px var(--body);cursor:pointer}
.wahl.an{border-color:var(--accent);background:rgba(87,217,164,.12)}
.wahl.an::after{content:"✓";float:right;color:var(--accent);font-weight:700}
.unten{display:flex;gap:10px;margin-top:18px}
.unten button{flex:1;border-radius:12px;padding:15px;font:600 17px var(--body);border:1px solid var(--line);background:var(--panel);color:var(--ink)}
.unten button.weiter{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}
.unten button[disabled]{opacity:.4}
.vorschau-tag{border:1px solid var(--line);border-radius:14px;background:var(--panel);padding:12px 14px;margin:0 0 12px}
.vorschau-tag h3{font:600 19px var(--disp);margin:0 0 8px;color:var(--accent)}
.vorschau-tag li{margin:0 0 6px;list-style:none}
.vorschau-tag ul{margin:0;padding:0}
.vorschau-tag li small{color:var(--muted)}

.mehrfach{display:inline-flex;align-items:center;gap:6px;margin:0 0 10px;padding:5px 11px;border-radius:999px;
  border:1px solid var(--accent);color:var(--accent);font:600 13px var(--body);letter-spacing:.02em}
.mehrfach::before{content:"☑";font-size:14px}

.modal{position:fixed;inset:0;z-index:50;background:rgba(10,12,12,.78);display:flex;align-items:flex-end;justify-content:center}
.modal .karte{width:100%;max-width:560px;max-height:92%;overflow-y:auto;background:var(--panel);border-top:3px solid var(--warn);
  border-radius:18px 18px 0 0;padding:20px 18px calc(18px + env(safe-area-inset-bottom,0px))}
.modal.ernst .karte{border-top-color:var(--stop)}
.modal h3{font:700 24px/1.15 var(--disp);margin:0 0 12px;color:var(--warn)}
.modal.ernst h3{color:var(--stop)}
.modal p{margin:0 0 10px;font-size:15px;line-height:1.5}
.modal p.klein{color:var(--muted);font-size:13.5px}
.modal label{display:flex;gap:12px;align-items:flex-start;margin:16px 0 4px;padding:12px;border:1px solid var(--line);border-radius:12px;font-size:14.5px;line-height:1.45}
.modal input[type=checkbox]{width:24px;height:24px;flex:0 0 24px;accent-color:var(--accent);margin-top:1px}
.kihinweis{color:var(--dim);font-size:12px;line-height:1.5;margin:26px 2px 0;text-align:center}
.plan{position:relative}
.plan .bearbeiten{position:absolute;right:12px;top:12px;padding:7px 12px;border-radius:9px;background:var(--panel2);border:1px solid var(--line);color:var(--accent);font:600 13px var(--body)}
