/* =========================================================
   NovaCheck – im Design von novadesign.at
   Weiß und Hellgrau, große Überschriften, runde Kacheln ohne Rahmen,
   Violett als Akzent, Systemschrift. Hell und dunkel, dazu drei
   Farben für die Arten der Punkte: Pflicht (Violett), Empfohlen
   (Blau), Packliste (Grün) – immer mit Wort und Symbol, nie nur Farbe.
   ========================================================= */
:root{
  --bg:#FFFFFF;--bg-alt:#F5F5F7;--surface:#F5F5F7;--card:#FFFFFF;--pill:#FFFFFF;
  --ink:#1D1D1F;--text:#1D1D1F;--muted:#6E6E73;--line:#D2D2D7;--line-soft:#E8E8ED;
  --accent:#4A35D8;--accent-text:#3A27B8;--accent-soft:#ECE9FC;--on-accent:#FFFFFF;
  --grad:linear-gradient(90deg,#4A35D8,#B03FD9 55%,#F0607A);
  --glow-logo:rgba(74,53,216,.6);
  --shadow:0 1px 2px rgba(0,0,0,.04),0 18px 40px -24px rgba(0,0,0,.25);
  /* Arten */
  --a-amt:#3A27B8;--a-amt-bg:#ECE9FC;--a-amt-line:#4A35D8;
  --a-emp:#1450B8;--a-emp-bg:#E3EEFF;--a-emp-line:#2F7BFF;
  --a-pack:#0E6A42;--a-pack-bg:#DCF5E7;--a-pack-line:#18B37A;
  /* Hinweise */
  --rot:#B42318;--rot-bg:#FDECEA;--gelb:#8A5300;--gelb-bg:#FFF4DB;--ok:#1C7C4B;--ok-bg:#E5F6EC;--info:#3A3A3F;--info-bg:#F0F0F3;
  --tt-x:0px;--tt-sun:var(--ink);--tt-moon:var(--muted);
  --f:Helvetica,"Helvetica Neue",Arial,sans-serif;
  --wrap:1120px;--schmal:780px;--gutter:clamp(20px,4vw,44px);--tile:28px;--radius:18px;--hdr:56px;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --bg:#000000;--bg-alt:#161617;--surface:#1D1D1F;--card:#1D1D1F;--pill:#2C2C2E;
    --ink:#F5F5F7;--text:#F5F5F7;--muted:#A1A1A6;--line:#3A3A3C;--line-soft:#2C2C2E;
    --accent:#8C7BFF;--accent-text:#B5A9FF;--accent-soft:rgba(140,123,255,.18);--on-accent:#0B0B0F;
    --grad:linear-gradient(90deg,#8C7BFF,#D17BFF 55%,#FF8A9A);--glow-logo:rgba(140,123,255,.85);
    --shadow:0 1px 2px rgba(0,0,0,.5),0 18px 40px -24px rgba(0,0,0,.9);
    --a-amt:#C3B9FF;--a-amt-bg:rgba(140,123,255,.2);--a-amt-line:#8C7BFF;
    --a-emp:#9CC4FF;--a-emp-bg:rgba(80,150,255,.18);--a-emp-line:#5C9DFF;
    --a-pack:#86E3B1;--a-pack-bg:rgba(76,201,138,.17);--a-pack-line:#4CC98A;
    --rot:#FF9C93;--rot-bg:rgba(255,90,80,.16);--gelb:#FFD27A;--gelb-bg:rgba(255,190,60,.15);--ok:#7FDCAA;--ok-bg:rgba(76,201,138,.15);--info:#D2D2D7;--info-bg:#1D1D1F;
    --tt-x:28px;--tt-sun:var(--muted);--tt-moon:var(--ink);
    color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --bg:#000000;--bg-alt:#161617;--surface:#1D1D1F;--card:#1D1D1F;--pill:#2C2C2E;
  --ink:#F5F5F7;--text:#F5F5F7;--muted:#A1A1A6;--line:#3A3A3C;--line-soft:#2C2C2E;
  --accent:#8C7BFF;--accent-text:#B5A9FF;--accent-soft:rgba(140,123,255,.18);--on-accent:#0B0B0F;
  --grad:linear-gradient(90deg,#8C7BFF,#D17BFF 55%,#FF8A9A);--glow-logo:rgba(140,123,255,.85);
  --shadow:0 1px 2px rgba(0,0,0,.5),0 18px 40px -24px rgba(0,0,0,.9);
  --a-amt:#C3B9FF;--a-amt-bg:rgba(140,123,255,.2);--a-amt-line:#8C7BFF;
  --a-emp:#9CC4FF;--a-emp-bg:rgba(80,150,255,.18);--a-emp-line:#5C9DFF;
  --a-pack:#86E3B1;--a-pack-bg:rgba(76,201,138,.17);--a-pack-line:#4CC98A;
  --rot:#FF9C93;--rot-bg:rgba(255,90,80,.16);--gelb:#FFD27A;--gelb-bg:rgba(255,190,60,.15);--ok:#7FDCAA;--ok-bg:rgba(76,201,138,.15);--info:#D2D2D7;--info-bg:#1D1D1F;
  --tt-x:28px;--tt-sun:var(--muted);--tt-moon:var(--ink);
  color-scheme:dark;
}

/* ---------- Grundlagen ---------- */
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%;background:var(--bg);scroll-padding-top:calc(var(--hdr) + 16px)}
main{padding-bottom:clamp(40px,8vw,90px)}
main:has(.abschnitt-alt:last-child){padding-bottom:0}
body{margin:0;background:var(--bg);color:var(--text);font:400 1.0625rem/1.55 var(--f);letter-spacing:-.005em;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
::selection{background:var(--accent);color:var(--on-accent)}
a{color:var(--accent-text);text-underline-offset:3px;text-decoration-thickness:1px}
p,ul,ol,figure,fieldset{margin:0}
ul,ol{padding:0}
h1,h2,h3{margin:0;color:var(--ink);font-family:var(--f);text-wrap:balance}
h1{font-size:clamp(2.4rem,6vw,4.4rem);font-weight:700;line-height:1.04;letter-spacing:-.035em}
h2{font-size:clamp(1.6rem,3.4vw,2.3rem);font-weight:700;line-height:1.1;letter-spacing:-.025em}
h3{font-size:1.2rem;font-weight:600;line-height:1.2;letter-spacing:-.015em}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:6px}
h1:focus,main:focus{outline:none}
.wrap{width:100%;max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gutter)}
.schmal{max-width:calc(var(--schmal) + 2 * var(--gutter))}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.skip{position:absolute;left:12px;top:-60px;z-index:20;padding:10px 16px;border-radius:999px;background:var(--accent);color:var(--on-accent);text-decoration:none;font-weight:600}
.skip:focus{top:10px}
.eyebrow{margin-bottom:12px;font:600 clamp(1.05rem,1.6vw,1.3rem)/1.2 var(--f);color:var(--muted);letter-spacing:-.012em}
.lead{margin-top:20px;max-width:34em;font-size:clamp(1.12rem,1.6vw,1.3rem);line-height:1.45;color:var(--muted)}
.label{font:600 1.05rem/1.25 var(--f);color:var(--muted);letter-spacing:-.01em}
.verlauf{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
@media (forced-colors:active){.verlauf{color:CanvasText;background:none}}

/* ---------- Kopf ---------- */
.kopf{position:sticky;top:0;z-index:10;background:color-mix(in srgb,var(--bg) 82%,transparent);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid var(--line-soft)}
.kopf-in{display:flex;align-items:center;justify-content:space-between;height:var(--hdr)}
.logo{display:inline-flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none}
.logo-mark{flex:none;color:var(--ink)}
.logo-word{font:700 1.12rem/1 var(--f);letter-spacing:-.02em}
.logo-word span{font-weight:400;color:var(--muted)}
.theme-toggle{position:relative;display:inline-flex;align-items:center;flex:none;width:62px;height:34px;padding:0;border:1px solid var(--line);border-radius:999px;background:var(--bg-alt);cursor:pointer;transition:border-color .2s}
.theme-toggle:hover{border-color:var(--ink)}
.tt-knob{position:absolute;top:3px;left:3px;width:26px;height:26px;border-radius:50%;background:var(--pill);box-shadow:0 1px 3px rgba(0,0,0,.22),0 0 0 1px var(--line),0 0 14px -2px var(--glow-logo);transform:translateX(var(--tt-x));transition:transform .35s cubic-bezier(.3,1.3,.5,1)}
.tt-icon{position:absolute;top:50%;z-index:1;width:16px;height:16px;margin-top:-8px;display:grid;place-items:center;pointer-events:none}
.tt-sun{left:8px;color:var(--tt-sun)}.tt-moon{right:8px;color:var(--tt-moon)}
.tt-icon svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}

/* ---------- Knöpfe ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:11px 22px;border-radius:999px;border:1px solid var(--accent);background:var(--accent);color:var(--on-accent);font:500 1.0625rem/1.2 var(--f);letter-spacing:-.01em;text-decoration:none;cursor:pointer;transition:background-color .2s,scale .2s cubic-bezier(.3,1.4,.5,1)}
.btn:hover{background:color-mix(in srgb,var(--accent) 86%,#fff);scale:1.02}
.btn:active{scale:.98}
.btn-outline{background:transparent;color:var(--accent-text)}
.btn-outline:hover{background:var(--accent);color:var(--on-accent)}
.btn-sm{min-height:38px;padding:8px 16px;font-size:.95rem}
.arr{transition:transform .2s}
.btn:hover .arr,.ll-aktiv:hover .arr{transform:translateX(3px)}
.link-btn{padding:0;border:0;background:none;color:var(--accent-text);font:inherit;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

/* ---------- Abzeichen der Arten ---------- */
.badge{display:inline-flex;align-items:center;gap:6px;flex:none;padding:4px 10px 4px 8px;border-radius:999px;font:600 .82rem/1.2 var(--f);letter-spacing:0;white-space:nowrap}
.badge-i svg{display:block;width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.art-amtlich{--c:var(--a-amt);--c-bg:var(--a-amt-bg);--c-line:var(--a-amt-line)}
.art-empfohlen{--c:var(--a-emp);--c-bg:var(--a-emp-bg);--c-line:var(--a-emp-line)}
.art-packliste{--c:var(--a-pack);--c-bg:var(--a-pack-bg);--c-line:var(--a-pack-line)}
.badge.art-amtlich,.badge.art-empfohlen,.badge.art-packliste{color:var(--c);background:var(--c-bg)}
.tag{display:inline-flex;align-self:flex-start;padding:4px 10px;border-radius:999px;background:var(--pill);color:var(--muted);font:600 .8rem/1.2 var(--f)}
.live{display:inline-flex;align-items:center;gap:8px;font:600 .85rem/1 var(--f);color:var(--ok)}
.live i{width:8px;height:8px;border-radius:50%;background:currentColor;box-shadow:0 0 0 4px color-mix(in srgb,currentColor 22%,transparent)}

/* ---------- Startseite ---------- */
.held{padding-block:clamp(48px,9vw,110px) clamp(32px,6vw,72px);overflow:hidden}
.held-grid{display:grid;gap:clamp(36px,6vw,72px);align-items:center}
@media (min-width:900px){.held-grid{grid-template-columns:1.05fr .95fr}}
.held-arten{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px;list-style:none}
.held-arten .badge{font-size:.92rem;padding:7px 14px 7px 11px}
.vorschau{position:relative;isolation:isolate}
.vorschau::before{content:"";position:absolute;inset:-12% -8%;z-index:-1;background:radial-gradient(closest-side,color-mix(in srgb,var(--accent) 26%,transparent),transparent);filter:blur(10px)}
.vk{border-radius:var(--tile);background:var(--card);box-shadow:var(--shadow),inset 0 0 0 1px var(--line-soft);padding:clamp(20px,3vw,30px)}
.vk-titel{display:grid;gap:2px;margin-bottom:16px;font:700 1.3rem/1.2 var(--f);color:var(--ink);letter-spacing:-.02em}
.vk-titel small{font:400 .92rem/1.3 var(--f);color:var(--muted);letter-spacing:0}
.vk ul{list-style:none;display:grid;gap:10px}
.vk-zeile{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:12px 14px;border-radius:14px;background:var(--bg-alt);border-left:4px solid var(--c-line)}
.vk-box{width:20px;height:20px;border-radius:6px;border:2px solid var(--line)}
.vk-zeile:first-child .vk-box{background:var(--accent);border-color:var(--accent);box-shadow:inset 0 0 0 3px var(--card)}
.vk-text{display:grid;gap:1px;min-width:0}
.vk-text b{font:600 .98rem/1.25 var(--f);color:var(--ink)}
.vk-text small{font-size:.84rem;color:var(--muted)}
@media (max-width:420px){.vk-zeile .badge{display:none}}

.abschnitt{padding-block:clamp(36px,6vw,72px)}
.abschnitt-alt{background:var(--bg-alt)}
.ll-karte{position:relative;display:flex;flex-direction:column;gap:10px;border-radius:var(--tile);padding:clamp(22px,3vw,32px);background:var(--surface);color:var(--text);text-decoration:none}
.ll-aktiv{display:grid;gap:clamp(24px,4vw,48px);background:var(--card);box-shadow:var(--shadow),inset 0 0 0 1px var(--line-soft);transition:translate .3s cubic-bezier(.2,.7,.2,1),box-shadow .3s}
@media (min-width:860px){.ll-aktiv{grid-template-columns:1.1fr .9fr;align-items:center}}
.ll-aktiv-text{display:flex;flex-direction:column;align-items:flex-start;gap:14px}
.ll-themen{list-style:none;display:flex;flex-wrap:wrap;gap:8px;align-content:center}
.ll-themen li{padding:8px 14px;border-radius:999px;background:var(--bg-alt);color:var(--ink);font:500 .95rem/1.2 var(--f)}
.zwischen{margin:clamp(40px,6vw,64px) 0 18px;font-size:clamp(1.4rem,2.6vw,1.8rem)}
.ll-aktiv:hover{translate:0 -3px}
.ll-aktiv h2{font-size:clamp(1.8rem,3.4vw,2.4rem)}
.ll-aktiv p{color:var(--muted);font-size:1.08rem}
.ll-aktiv .btn{margin-top:6px}
.ll-glyph{display:grid;place-items:center;width:64px;height:64px;border-radius:20px;background:var(--grad);box-shadow:0 14px 30px -14px var(--glow-logo)}
.ll-glyph svg{width:34px;height:34px;fill:none;stroke:#fff;stroke-width:2.6;stroke-linejoin:round;stroke-linecap:round}
.ll-geplant-raster{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}
.ll-geplant{padding:18px 20px;gap:8px;border-radius:20px}
.ll-geplant h3{font-size:1.05rem}
.ll-geplant p{font-size:.92rem;color:var(--muted);line-height:1.4}
.drei{display:grid;gap:28px}
@media (min-width:760px){.drei{grid-template-columns:repeat(3,1fr)}}
.punkt h3{margin-bottom:8px}
.punkt p{color:var(--muted)}

/* ---------- Fragen ---------- */
.frage-seite{padding-top:clamp(32px,6vw,64px)}
.frage-karte{display:grid;gap:22px;padding:clamp(22px,4vw,40px);border-radius:var(--tile);background:var(--surface)}
.frage-fortschritt{display:grid;gap:8px;font:600 .9rem/1.2 var(--f);color:var(--muted)}
.balken{display:block;height:6px;border-radius:99px;background:color-mix(in srgb,var(--ink) 10%,transparent);overflow:hidden}
.balken i{display:block;height:100%;border-radius:inherit;background:var(--grad);transition:width .4s cubic-bezier(.2,.7,.2,1)}
.frage-feld{display:grid;gap:16px;min-width:0;padding:0;border:0}
.frage-feld legend{padding:0;margin-bottom:4px}
.frage-titel{font-size:clamp(1.8rem,4.4vw,2.7rem);line-height:1.08}
.hilfe{color:var(--muted)}
.optionen{display:grid;gap:10px}
@media (min-width:560px){.optionen{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}}
.option{position:relative;display:flex;align-items:center;gap:12px;min-height:56px;padding:14px 16px;border-radius:16px;background:var(--card);box-shadow:inset 0 0 0 1px var(--line);cursor:pointer;font-weight:500;transition:box-shadow .2s}
.option:hover{box-shadow:inset 0 0 0 1px var(--ink)}
.option input{position:absolute;opacity:0;pointer-events:none}
.option-marke{flex:none;width:22px;height:22px;border-radius:50%;box-shadow:inset 0 0 0 2px var(--line);transition:box-shadow .2s,background-color .2s}
.option input[type=checkbox]+.option-marke{border-radius:7px}
.option:has(input:checked){box-shadow:inset 0 0 0 2px var(--accent);background:color-mix(in srgb,var(--accent) 7%,var(--card))}
.option input:checked+.option-marke{background:var(--accent);box-shadow:inset 0 0 0 5px var(--card),inset 0 0 0 7px var(--accent)}
.option input[type=checkbox]:checked+.option-marke{box-shadow:none;background:var(--accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 22'%3E%3Cpath d='m6 11.5 3.3 3.3L16 8' fill='none' stroke='white' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/100% no-repeat}
.option:has(input:focus-visible){outline:3px solid var(--accent);outline-offset:3px}
.felder-zwei{display:grid;gap:14px}
@media (min-width:560px){.felder-zwei{grid-template-columns:1fr 1fr}}
.feld{display:grid;gap:6px;margin-top:4px;font:600 .95rem/1.3 var(--f);color:var(--ink)}
.eingabe{width:100%;min-height:52px;padding:12px 14px;border:0;border-radius:14px;background:var(--card);box-shadow:inset 0 0 0 1px var(--line);color:var(--text);font:400 1.0625rem/1.3 var(--f)}
.eingabe:focus{outline:3px solid var(--accent);outline-offset:2px}
.eingabe[aria-invalid="true"]{box-shadow:inset 0 0 0 2px var(--rot)}
select.eingabe{appearance:none;padding-right:44px;background:var(--card) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='m2.5 4.5 3.5 3.5 3.5-3.5' fill='none' stroke='%236E6E73' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") right 16px center/14px no-repeat}
.fehler{padding:12px 16px;border-radius:14px;background:var(--rot-bg);color:var(--rot);font-weight:600}
.frage-knoepfe{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px}

/* ---------- Checkliste ---------- */
.ergebnis h1{font-size:clamp(2.2rem,5.4vw,3.6rem)}
.zusammenfassung{margin-top:14px;color:var(--muted);font-size:1.1rem}
.aktionen{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.hinweise{display:grid;gap:12px;margin-top:28px}
.hinweis{padding:16px 18px;border-radius:18px;background:var(--hb);color:var(--text);border-left:5px solid var(--hc)}
.hinweis-rot{--hc:var(--rot);--hb:var(--rot-bg)}.hinweis-gelb{--hc:var(--gelb);--hb:var(--gelb-bg)}
.hinweis-ok{--hc:var(--ok);--hb:var(--ok-bg)}.hinweis-info{--hc:var(--muted);--hb:var(--info-bg)}
.hinweis-titel{margin-bottom:4px;font-weight:700;color:var(--hc)}
.hinweis-ok .hinweis-titel,.hinweis-info .hinweis-titel{color:var(--ink)}
.hinweis .quellen{margin-top:8px}
.fortschritt{display:grid;gap:8px;margin-top:30px;color:var(--muted)}
.fortschritt b{color:var(--ink)}
.filter{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px;padding-bottom:6px}
.chip{display:inline-flex;align-items:center;gap:7px;min-height:40px;padding:8px 14px;border:0;border-radius:999px;background:var(--surface);color:var(--ink);font:600 .95rem/1 var(--f);cursor:pointer;box-shadow:inset 0 0 0 1px transparent;transition:background-color .2s,box-shadow .2s}
.chip:hover{box-shadow:inset 0 0 0 1px var(--line)}
.chip.art-amtlich,.chip.art-empfohlen,.chip.art-packliste{color:var(--c)}
.chip[aria-pressed="true"]{background:var(--ink);color:var(--bg)}
.chip.art-amtlich[aria-pressed="true"],.chip.art-empfohlen[aria-pressed="true"],.chip.art-packliste[aria-pressed="true"]{background:var(--c-bg);color:var(--c);box-shadow:inset 0 0 0 2px var(--c-line)}
.chip .zahl{min-width:22px;padding:2px 6px;border-radius:99px;background:color-mix(in srgb,currentColor 14%,transparent);font-size:.8rem;text-align:center}
.phasen{display:grid;gap:36px;margin-top:22px}
.phase-titel{display:flex;align-items:center;gap:10px;margin-bottom:14px;font-size:clamp(1.4rem,3vw,1.8rem)}
.phase-titel .zahl{padding:3px 9px;border-radius:99px;background:var(--surface);color:var(--muted);font:600 .9rem/1.2 var(--f);letter-spacing:0}
.schritte{list-style:none;display:grid;gap:12px}
.schritt{position:relative;padding:18px 20px 18px 22px;border-radius:20px;background:var(--surface);overflow:hidden}
.schritt::before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:var(--c-line)}
.schritt-kopf{display:grid;grid-template-columns:1fr auto;align-items:start;gap:12px}
.schritt-kopf input{position:absolute;opacity:0;width:1px;height:1px}
.schritt-titel{display:flex;gap:12px;align-items:flex-start;font:600 1.08rem/1.35 var(--f);color:var(--ink);cursor:pointer;letter-spacing:-.01em}
.haken{flex:none;width:24px;height:24px;margin-top:-1px;border-radius:8px;background:var(--card);box-shadow:inset 0 0 0 2px var(--line);transition:background-color .2s,box-shadow .2s}
.schritt-kopf input:checked+.schritt-titel .haken{background:var(--accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m6.5 12.5 3.6 3.6L17.5 8.7' fill='none' stroke='white' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/100% no-repeat;box-shadow:none}
.schritt-kopf input:focus-visible+.schritt-titel .haken{outline:3px solid var(--accent);outline-offset:3px}
.schritt.erledigt .schritt-titel span:last-child{text-decoration:line-through;text-decoration-thickness:1.5px;color:var(--muted)}
.schritt.erledigt .schritt-rumpf{opacity:.6}
.schritt-rumpf{display:grid;gap:10px;margin-top:10px;padding-left:36px}
.schritt-text{color:var(--text);max-width:62ch}
.frist{display:flex;flex-wrap:wrap;align-items:center;gap:2px 6px;font-size:.95rem;color:var(--ink)}
.frist b{font-weight:600}
.frist-rel{padding:2px 9px;border-radius:99px;background:color-mix(in srgb,var(--c) 12%,transparent);color:var(--c);font-size:.85rem;font-weight:600;white-space:nowrap}
.frist small{flex-basis:100%;color:var(--muted);font-size:.86rem;padding-left:24px}
.frist-uhr svg{display:block;width:18px;height:18px;fill:none;stroke:var(--c);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.frist-vorbei b{color:var(--rot)}
.frist-vorbei .frist-rel{color:var(--rot);background:var(--rot-bg)}
.frist-vorbei .frist-uhr svg{stroke:var(--rot)}
.belege{display:grid;gap:6px;font-size:.88rem;color:var(--muted)}
.belege b{color:var(--ink);font-weight:600}
.quellen{list-style:none;display:grid;gap:3px}
.quellen a{overflow-wrap:anywhere}
.quellen a::after{content:" ↗";font-size:.9em}
.q-stand{color:var(--muted)}
.quellen-block{display:grid;gap:3px}
.packliste .schritt{padding-block:14px}
.packliste .schritt-rumpf{margin-top:6px}
.leer,.stand{color:var(--muted)}
.stand{margin-top:40px;font-size:.92rem}
@media (max-width:560px){
  .schritt{padding:16px 16px 16px 18px}
  .schritt-kopf{grid-template-columns:1fr}
  .schritt-kopf .badge{justify-self:start;margin-left:36px}
  .schritt-rumpf{padding-left:0}
}

/* ---------- Fuß ---------- */
.fuss{padding-block:36px 48px;border-top:1px solid var(--line-soft);background:var(--bg-alt);font-size:.9rem;color:var(--muted)}
.fuss-in{display:grid;gap:10px}
.fuss p{max-width:92ch}
.fuss strong{color:var(--ink)}
.fuss-links{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:6px}
.notice{padding:16px 18px;border-radius:16px;background:var(--surface)}

/* ---------- Drucken: nur die Liste, ohne Knöpfe und Farbflächen ---------- */
@media print{
  :root{--bg:#fff;--surface:#fff;--card:#fff;--text:#000;--ink:#000;--muted:#444}
  .kopf,.fuss-links,.aktionen,.filter,.skip,.theme-toggle{display:none!important}
  .fuss{background:none;border:0;margin-top:20px}
  .abschnitt{padding-block:0}
  .schritt{break-inside:avoid;border:1px solid #999;padding:10px 12px 10px 16px}
  .schritt-rumpf{opacity:1!important}
  .haken{box-shadow:inset 0 0 0 1.5px #000}
  .quellen a::after{content:" (" attr(href) ")";font-size:.8em;color:#444}
  .verlauf{color:#000;background:none}
}
