/* Minatic Shop. Tokens und Grundbausteine wie web/site (Kopf, Knöpfe, Karten, Fuß).
   Ecken: Karten/Tabellen/Popups 14, Knöpfe/Eingaben/Reiter 10, Kleines 6. Kante 3 px innen, gleiche Farbe dunkler.
   Keine style-Attribute im HTML: CSP style-src 'self' reicht. */
@font-face{font-family:Bungee;src:url(../fonts/bungee-400.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:Rubik;src:url(../fonts/rubik-var.woff2) format("woff2");font-weight:300 900;font-display:swap}
@font-face{font-family:"Pixelify Sans";src:url(../fonts/pixelify-var.woff2) format("woff2");font-weight:400 700;font-display:swap}

:root{
  color-scheme:dark;
  --nacht:#0B1A1F; --flaeche:#13262C; --flaeche2:#1B343B; --linie:#24393F; --schwarz:#051114;
  --text:#FFFFFF; --grau:#8A9AA0; --grau-hell:#B9C5C9;
  --rot:#FD333D; --rot-unten:#DA141E;
  --suro:#F27A12; --suro-unten:#CE5B09; --suro-klein:#B95D0E;
  --ffa:#2986FF; --ffa-unten:#1166D4; --ffa-klein:#2374DD;
  --quick:#B565FF; --kodex:#D21F3C; --event:#FF4DC4; /* Akzent je Modus/Event, notizen/AKZENTFARBEN-9.md */
  --datum:#55E07A; --tode:#FF7A80; --kd:#7CC0FF;
  --gold:#FFD700;
  --f-display:"Bungee","Russo One",Impact,sans-serif;
  --f-text:"Rubik",system-ui,-apple-system,"Segoe UI",sans-serif;
  --f-pixel:"Pixelify Sans","Courier New",monospace;
  --f-mono:ui-monospace,"JetBrains Mono",Menlo,monospace;
  --r-karte:14px; --r-knopf:10px; --r-klein:6px;
  --btn-h:40px; --btn-h-klein:32px; --btn-px:16px; --btn-px-klein:12px; --btn-r:10px; --btn-kante:3px;
}
*{box-sizing:border-box}
html{scroll-padding-top:80px}
body{background:var(--nacht);color:var(--text);font-family:var(--f-text);font-size:16px;line-height:1.55;margin:0;-webkit-text-size-adjust:100%;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}
main{flex:1 0 auto}
footer{flex-shrink:0}
a{color:inherit}
:focus-visible{outline:3px solid var(--kd);outline-offset:3px}
.wrap{max-width:1120px;margin:0 auto;padding-inline:clamp(16px,4vw,32px)}
h1,h2,h3{text-wrap:balance;margin:0}
h2{font-family:var(--f-display);font-weight:400;font-size:clamp(24px,3.4vw,30px);line-height:1.1}
.num{font-variant-numeric:tabular-nums}
[hidden]{display:none!important}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.mock{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(10px + env(safe-area-inset-bottom,0px));z-index:40;background:var(--schwarz);border:1px solid var(--linie);color:var(--grau-hell);font-size:12px;padding:6px 12px;border-radius:var(--r-knopf);white-space:nowrap}

/* ---------- Knöpfe (wie web/site): Varianten setzen nur --btn-f ---------- */
.btn{--btn-f:var(--rot);display:inline-flex;align-items:center;justify-content:center;gap:8px;height:var(--btn-h);padding:0 var(--btn-px) var(--btn-kante);font:600 15px/1 var(--f-text);color:#fff;background:var(--btn-f);border:0;border-radius:var(--btn-r);box-shadow:inset 0 calc(-1 * var(--btn-kante)) 0 color-mix(in oklab,var(--btn-f) 70%,#000);cursor:pointer;text-decoration:none;white-space:nowrap;transition:filter .1s,transform .08s}
.btn:hover{filter:brightness(1.1)}
.btn:active{box-shadow:inset 0 -1px 0 color-mix(in oklab,var(--btn-f) 70%,#000);padding-bottom:1px;transform:translateY(1px)}
.btn.ruhig{--btn-f:var(--linie)}
.btn.drin{--btn-f:var(--linie);color:var(--datum)}
.btn.klein{--btn-kante:2px;height:var(--btn-h-klein);padding-inline:var(--btn-px-klein);font-size:13px;gap:6px}
.btn.breit{width:100%}
.btn[disabled],.btn[aria-disabled="true"]{--btn-f:var(--flaeche2);color:var(--grau);cursor:not-allowed;filter:none;transform:none}
.btn svg{width:16px;height:16px;flex:none}
.zaehler{min-width:20px;height:20px;padding:0 6px;border-radius:var(--r-klein);background:var(--rot);color:#fff;font-size:12px;font-weight:700;display:inline-grid;place-items:center}
.zaehler[data-n="0"]{background:var(--schwarz);color:var(--grau)}

.karte{--f:var(--flaeche);background:var(--f);border-radius:var(--r-karte);box-shadow:inset 0 calc(-1 * var(--btn-kante)) 0 color-mix(in oklab,var(--f) 70%,#000)}

/* ---------- Kopf (volle Breite, darf eckig sein) ---------- */
header{position:sticky;top:0;z-index:30;background:color-mix(in srgb,var(--nacht) 92%,transparent);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border-bottom:1px solid var(--linie);padding-top:env(safe-area-inset-top,0px)}
.kopf{display:flex;align-items:center;gap:28px;height:64px}
.kopf .marke{display:flex;flex:none}
.kopf .marke svg{height:34px;width:auto;display:block}
nav.haupt{display:flex;gap:4px}
nav.haupt a{font-weight:500;font-size:15px;color:var(--grau-hell);text-decoration:none;padding:6px 10px;border-radius:var(--r-knopf)}
nav.haupt a:hover{color:#fff}
nav.haupt a[aria-current="page"]{color:#fff;background:var(--flaeche)}
.kopf .aktionen{margin-left:auto;display:flex;gap:8px}
@media (max-width:640px){
  .kopf{flex-wrap:wrap;height:auto;padding-block:10px 6px;gap:8px 12px}
  .kopf .marke svg{height:28px}
  nav.haupt{order:3;flex-basis:100%;margin-left:-10px}
  nav.haupt a{font-size:14px}
}

/* ---------- Gemeinsames ---------- */
.seite{padding-bottom:8px}
.reiter{display:inline-flex;background:var(--schwarz);border-radius:var(--r-knopf);padding:4px;gap:4px;max-width:100%;flex-wrap:wrap}
.reiter a{font:600 14px var(--f-text);color:var(--grau-hell);text-decoration:none;border-radius:var(--r-klein);height:34px;padding:0 12px;display:inline-flex;align-items:center}
.reiter a[aria-current="page"]{background:var(--flaeche2);color:#fff}
.reiter-zeile{padding-top:24px}
.oberzeile,.label{font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--grau)}
.hinweis{font-size:14px;color:var(--grau);margin:0}
.hinweis a{color:#fff}
.k-kopf{padding-block:40px 24px;display:grid;grid-template-columns:minmax(0,1fr);gap:14px}
.k-kopf h1{font-family:var(--f-display);font-weight:400;font-size:clamp(30px,5vw,42px);line-height:1}
.k-kopf p{margin:0;font-size:16px;max-width:62ch;color:var(--grau-hell)}
section.block{padding-block:64px 0}
.block .kopfzeile{margin-bottom:22px}
.block .kopfzeile p{color:var(--grau);margin:6px 0 0}
.f{display:grid;gap:6px}
.f label,.f .l{font-size:13px;font-weight:600;color:var(--grau-hell)}
.feld{height:var(--btn-h);font:16px var(--f-text);color:#fff;background:var(--schwarz);border:1px solid var(--linie);border-radius:var(--r-knopf);padding:0 12px;min-width:0}
.feld:focus{border-color:var(--kd);outline:0}
.feld[aria-invalid="true"]{border-color:var(--tode)}
textarea.feld{height:auto;min-height:72px;padding:10px 12px;resize:vertical;width:100%;line-height:1.4}
select.feld{appearance:none;background:var(--schwarz) url(../img/pfeil.svg) no-repeat right 12px center;padding-right:34px;width:100%}
input[type=range]{width:100%;accent-color:var(--datum)}
.zeile{display:flex;flex-wrap:wrap;gap:10px}
.zeile .feld{flex:1;min-width:180px}
.meldung{font-size:14px;margin:0;color:var(--grau-hell)}
.meldung:empty{display:none}
.meldung.fehler{color:var(--tode)}
.meldung.ok{color:var(--datum)}
/* Großer Hinweis-Kasten für Fehlerzustände */
.kasten{display:flex;gap:12px;align-items:flex-start;background:var(--schwarz);border-radius:var(--r-knopf);padding:12px 14px;font-size:15px;color:var(--grau-hell)}
.kasten b{color:#fff}
.kasten::before{content:"";flex:none;width:8px;height:8px;margin-top:8px;border-radius:2px;background:var(--grau)}
.kasten.warn::before{background:var(--tode)}
.kasten.gut::before{background:var(--datum)}
.kasten .knoepfe{margin-top:10px}
.knoepfe{display:flex;flex-wrap:wrap;gap:10px}
.ph{display:inline-flex;align-items:center;gap:6px;font-weight:700;color:var(--grau-hell);border:1px dashed var(--grau);border-radius:var(--r-klein);padding:0 7px;line-height:1.5}
.item{width:28px;height:28px;flex:none;image-rendering:pixelated;filter:drop-shadow(0 2px 0 rgba(0,0,0,.45))}
.slot{width:48px;height:48px;flex:none;display:grid;place-items:center;background:var(--schwarz);border-radius:var(--r-klein)}
.laden{color:var(--grau);font-size:14px}

/* ---------- Hero + Spendenziel ---------- */
.hero{display:grid;grid-template-columns:1.2fr 1fr;gap:clamp(28px,5vw,64px);padding-block:clamp(32px,5vw,56px) 8px;align-items:center}
.hero>*{min-width:0}
@media (max-width:880px){.hero{grid-template-columns:1fr}}
.hero .oberzeile{font-size:13px;margin-bottom:18px}
.hero h1{font-family:var(--f-display);font-weight:400;font-size:clamp(34px,6vw,58px);line-height:1}
.hero h1 em{font-style:normal;color:var(--suro)}
.hero p{color:var(--grau-hell);font-size:18px;max-width:44ch;margin:20px 0 26px}
.ziel{padding:22px;display:grid;gap:14px}
.ziel h3{font-size:20px;font-weight:700}
.balken{height:22px;background:var(--schwarz);border-radius:var(--r-klein);overflow:hidden;position:relative}
.balken i{position:absolute;inset:0 auto 0 0;width:0;background:var(--datum);border-radius:var(--r-klein);box-shadow:inset 0 -3px 0 color-mix(in oklab,var(--datum) 70%,#000);transition:width .6s ease}
.ziel .zahlen{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:14px;color:var(--grau)}
.ziel .zahlen b{color:#fff}
.ziel p{margin:0;font-size:14px;color:var(--grau-hell)}

/* ---------- Unterstützer-Rang ---------- */
.rang{display:grid;grid-template-columns:1fr 1.1fr;overflow:hidden}
@media (max-width:880px){.rang{grid-template-columns:1fr}}
.rang>*{min-width:0}
.rang-vorschau{background:var(--flaeche2);padding:24px;display:grid;gap:14px;align-content:start;box-shadow:inset 0 -3px 0 rgba(0,0,0,.25)}
.rang-info{padding:24px;display:grid;gap:18px;align-content:start}
.rang-info h3{font-family:var(--f-display);font-weight:400;font-size:26px;line-height:1}
.rang-info .sub{color:var(--grau-hell);margin:6px 0 0}
.mc-tab{background:rgba(0,0,0,.55);border-radius:var(--r-klein);padding:10px 12px;font:16px var(--f-pixel);display:grid;gap:3px;text-shadow:2px 2px 0 #222}
.mc-tab .z{display:flex;align-items:center;gap:8px;color:#fff;white-space:nowrap;overflow:hidden}
.mc-tab .z .kp{width:16px;height:16px}
.mc-tab .ich{background:rgba(255,255,255,.08);border-radius:3px;margin-inline:-4px;padding-inline:4px}
.mc-chat{font:16px var(--f-pixel);color:#fff;text-shadow:2px 2px 0 #222;background:rgba(0,0,0,.35);border-radius:var(--r-klein);padding:8px 12px;overflow-wrap:anywhere}
.farbig{color:var(--farbe,var(--gold))}
.chips{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.chip{font:600 15px var(--f-text);color:var(--farbe,var(--grau-hell));background:var(--schwarz);border:0;border-radius:var(--r-knopf);height:40px;min-width:56px;padding:0 12px;cursor:pointer}
.chip[aria-pressed="true"]{background:var(--flaeche);box-shadow:inset 0 0 0 2px var(--datum)}
.vorteile{list-style:none;margin:0;padding:0;display:grid;gap:8px;font-size:15px;color:var(--grau-hell)}
.vorteile li{display:flex;gap:10px;align-items:flex-start}
.vorteile li::before{content:"";flex:none;width:8px;height:8px;margin-top:8px;border-radius:2px;background:var(--datum)}
.nein li::before{background:var(--tode)}
.laufzeit{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px}
.lz{position:relative;display:grid;gap:4px;background:var(--schwarz);border-radius:var(--r-knopf);padding:12px;cursor:pointer;box-shadow:inset 0 0 0 1px var(--linie)}
.lz input{position:absolute;opacity:0;pointer-events:none}
.lz:has(input:checked){box-shadow:inset 0 0 0 2px var(--datum);background:var(--flaeche2)}
.lz:has(input:focus-visible){outline:3px solid var(--kd);outline-offset:3px}
.lz b{font-size:15px}
.lz span{font-size:14px;color:var(--grau-hell)}

.teaser{display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center;padding:20px 22px;margin-top:16px}
@media (max-width:640px){.teaser{grid-template-columns:auto 1fr}.teaser .btn{grid-column:1/-1}}
.teaser>div{min-width:0}
.teaser h3{font-size:19px;font-weight:700}
.teaser p{margin:2px 0 0;color:var(--grau-hell);font-size:15px}

.fair{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media (max-width:880px){.fair{grid-template-columns:1fr}}
.regel{display:flex;gap:12px;align-items:flex-start;color:var(--grau-hell);font-size:15px;padding:14px 16px}
.regel b{color:#fff;font-weight:700}
.fair-fuss{font-size:13px;color:var(--grau);margin:12px 0 0}

.einzeln{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
@media (max-width:880px){.einzeln{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.einzeln{grid-template-columns:1fr}}
.stueck{display:grid;grid-template-columns:auto 1fr;gap:12px 14px;padding:16px;align-items:start}
.stueck>div{min-width:0}
.stueck h3{font-size:16px;font-weight:700}
.stueck p{margin:2px 0 0;color:var(--grau);font-size:14px;line-height:1.4}
.stueck .unten{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:10px}
.stueck .preis{font-weight:700}

.spende{display:grid;grid-template-columns:1fr auto;gap:18px 28px;padding:22px;align-items:center}
@media (max-width:760px){.spende{grid-template-columns:1fr}}
.spende h3{font-size:20px;font-weight:700}
.spende p{margin:4px 0 0;color:var(--grau-hell)}
.feld.euro{width:110px}

/* ---------- Eigene Runde ---------- */
.runde{display:grid;grid-template-columns:1fr 360px;gap:20px;align-items:start}
.runde>*{min-width:0}
@media (max-width:980px){.runde{grid-template-columns:1fr}}
.kal-box{padding:20px;display:grid;gap:14px}
.kal-kopf{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;justify-content:space-between}
.kal-kopf h2,.einst h2,.summe h2{font-family:var(--f-text);font-weight:700;font-size:18px}
.kal-nav{display:flex;gap:8px;align-items:center;font-size:14px;color:var(--grau-hell)}
.legende{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:13px;color:var(--grau)}
.legende span{display:inline-flex;align-items:center;gap:6px}
.legende i{width:12px;height:12px;border-radius:3px;display:inline-block}
.legende .l-frei{box-shadow:inset 0 0 0 1px var(--datum)}
.legende .l-geplant{background:var(--suro)}
.legende .l-belegt{background:var(--flaeche2)}
.kal-scroll{overflow-x:auto;border-radius:var(--r-knopf);clip-path:inset(0 round var(--r-knopf))}
.kal{display:grid;grid-template-columns:48px repeat(7,minmax(64px,1fr));gap:6px;min-width:530px}
.kal .tag-k{text-align:center;font-size:13px;font-weight:600;color:var(--grau-hell);padding:4px 0 2px}
.kal .tag-k b{display:block;color:var(--datum);font-size:13px}
.kal .zeit{font-size:13px;color:var(--grau);display:flex;align-items:center}
.slot-b{font:600 13px var(--f-text);height:46px;border:0;border-radius:var(--r-klein);cursor:pointer;color:var(--datum);background:var(--schwarz);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--datum) 45%,transparent)}
.slot-b:hover{background:color-mix(in srgb,var(--datum) 12%,var(--schwarz))}
.slot-b[aria-pressed="true"]{background:var(--datum);color:var(--schwarz);box-shadow:inset 0 -3px 0 color-mix(in oklab,var(--datum) 70%,#000)}
.slot-b.belegt{color:var(--grau);background:var(--flaeche2);box-shadow:none;cursor:not-allowed}
.slot-b.geplant{color:#fff;background:var(--suro);box-shadow:inset 0 -3px 0 var(--suro-unten);cursor:not-allowed}
.slot-b.vorbei{color:color-mix(in srgb,var(--grau) 50%,transparent);background:transparent;box-shadow:inset 0 0 0 1px var(--linie);cursor:not-allowed}
.slot-b.leer{visibility:hidden}
.einst{padding:20px;display:grid;gap:14px;position:sticky;top:84px}
@media (max-width:980px){.einst{position:static}}
.gewaehlt{background:var(--schwarz);border-radius:var(--r-knopf);padding:12px 14px;font-size:15px}
.gewaehlt b{color:var(--datum)}
.gewaehlt.nix{color:var(--grau)}
.mini-reiter{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.mini-reiter label{position:relative;display:grid;place-items:center;height:40px;border-radius:var(--r-knopf);background:var(--schwarz);font-size:14px;font-weight:600;color:var(--grau-hell);cursor:pointer;text-align:center;padding:0 6px;box-shadow:inset 0 0 0 1px var(--linie)}
.mini-reiter input{position:absolute;opacity:0;pointer-events:none}
.mini-reiter label:has(input[value="suro"]){box-shadow:inset 3px 0 0 var(--suro)}
.mini-reiter label:has(input[value="special"]){box-shadow:inset 3px 0 0 var(--kodex)}
.mini-reiter label:has(input[value="olympiade"]){box-shadow:inset 3px 0 0 var(--event)}
.mini-reiter label:has(input:checked){background:var(--flaeche2);color:#fff;box-shadow:inset 0 0 0 2px var(--datum)}
.mini-reiter label:has(input:focus-visible){outline:3px solid var(--kd);outline-offset:3px}
.mini-reiter label:has(input:disabled){opacity:.5;cursor:not-allowed}
.mini-reiter.liste{grid-template-columns:1fr}
.mini-reiter.liste label{grid-auto-flow:column;justify-content:start;gap:8px;padding:0 14px}
.mini-reiter .bald{font-size:11px;font-weight:600;color:var(--grau);background:var(--flaeche);padding:1px 5px;border-radius:var(--r-klein)}
.gesamt{display:flex;justify-content:space-between;align-items:baseline;font-weight:700;font-size:17px}
.gm{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}
@media (max-width:760px){.gm{grid-template-columns:1fr}}
.gm .karte{padding:20px;display:grid;gap:10px;align-content:start}
.gm h3{font-size:17px;font-weight:700}

/* ---------- Kasse ---------- */
.schritte{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:4px;list-style:none;background:var(--schwarz);border-radius:var(--r-knopf);width:max-content;max-width:100%}
.schritte li{display:flex;align-items:center;gap:8px;height:34px;padding:0 12px;border-radius:var(--r-klein);font-size:14px;font-weight:600;color:var(--grau)}
.schritte li b{width:20px;height:20px;border-radius:var(--r-klein);display:grid;place-items:center;font-size:12px;background:var(--flaeche2);color:var(--grau-hell)}
.schritte li.fertig{color:var(--grau-hell)}
.schritte li.fertig b{background:var(--datum);color:var(--schwarz)}
.schritte li[aria-current="step"]{background:var(--flaeche2);color:#fff}
.schritte li[aria-current="step"] b{background:var(--rot);color:#fff}
.kasse{display:grid;grid-template-columns:1fr 360px;gap:20px;align-items:start}
.kasse>*{min-width:0}
@media (max-width:900px){.kasse{grid-template-columns:1fr}.kasse .summe{order:-1;position:static}}
.schritt{padding:22px;display:grid;gap:16px}
.schritt+.schritt{margin-top:16px}
.schritt h2{font-family:var(--f-text);font-weight:700;font-size:19px;display:flex;align-items:center;gap:10px}
.schritt h2 .nr{width:26px;height:26px;border-radius:var(--r-klein);display:grid;place-items:center;font-size:14px;background:var(--flaeche2)}
.schritt.zu{opacity:.55}
.schritt.zu .inhalt{display:none}
.schritt .inhalt{display:grid;gap:14px}
.treffer{display:flex;gap:14px;align-items:center;background:var(--schwarz);border-radius:var(--r-knopf);padding:12px 14px}
.treffer>div{min-width:0}
.treffer .kp{width:40px;height:40px}
.treffer .n{font-weight:700}
.treffer .u{font-size:12px;color:var(--grau);font-family:var(--f-mono);overflow-wrap:anywhere}
.treffer .btn{margin-left:auto}
@media (max-width:520px){.treffer{flex-wrap:wrap}.treffer .btn{margin-left:0;width:100%}}
.schloss{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:var(--grau-hell);background:var(--schwarz);border-radius:var(--r-knopf);padding:12px 14px}
.schloss svg{width:18px;height:18px;flex:none;margin-top:2px;color:var(--datum)}
.haken{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:var(--grau-hell);cursor:pointer}
.haken input{width:18px;height:18px;margin:2px 0 0;accent-color:var(--datum);flex:none}
.haken a{color:#fff}
.summe{padding:20px;display:grid;gap:14px;position:sticky;top:84px}
.posten{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.posten li{display:flex;gap:10px;align-items:center;font-size:15px}
.posten li>span{flex:1;min-width:0}
.posten small{display:block;font-size:12px;color:var(--grau)}
.posten .preis{font-weight:700;white-space:nowrap}
.trenn{height:1px;background:var(--linie)}
.leer{color:var(--grau);font-size:15px;margin:0}
.leer a{color:#fff}
.uhr{display:flex;gap:10px;align-items:center;background:var(--schwarz);border-radius:var(--r-knopf);padding:10px 14px;font-size:14px;color:var(--grau-hell)}
.uhr b{font-family:var(--f-display);font-weight:400;font-size:20px;color:var(--datum);line-height:1}
.uhr.knapp b{color:var(--tode)}

/* ---------- Danke / Status ---------- */
.danke{display:grid;grid-template-columns:1.1fr 1fr;gap:20px;align-items:start}
.danke>*{min-width:0}
@media (max-width:880px){.danke{grid-template-columns:1fr}}
.d-karte{padding:22px;display:grid;gap:16px}
.bestnr{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:14px;color:var(--grau)}
.bestnr b{color:#fff;font-weight:600}
.bestnr .mono{font-family:var(--f-mono);overflow-wrap:anywhere}
.verlauf{list-style:none;margin:0;padding:0;display:grid}
.verlauf li{display:grid;grid-template-columns:24px 1fr;gap:12px;padding-bottom:16px;position:relative}
.verlauf li:not(:last-child)::after{content:"";position:absolute;left:11px;top:26px;bottom:2px;width:2px;background:var(--linie)}
.verlauf .p{width:24px;height:24px;border-radius:var(--r-klein);background:var(--flaeche2);display:grid;place-items:center;font-size:13px;font-weight:700;color:var(--grau)}
.verlauf li.ok .p{background:var(--datum);color:var(--schwarz)}
.verlauf li.laeuft .p{box-shadow:inset 0 0 0 2px var(--datum)}
.verlauf li.weg .p{background:var(--tode);color:var(--schwarz)}
.verlauf b{display:block;font-size:15px}
.verlauf span{font-size:14px;color:var(--grau)}
.actionbar{background:#1d1d1d;border-radius:var(--r-knopf);padding:18px 14px;text-align:center;font:17px var(--f-pixel);color:var(--datum);text-shadow:2px 2px 0 #12401f}

/* ---------- Meine Käufe ---------- */
.mk-form{padding:20px;display:grid;gap:12px}
.tabelle-box{position:relative;overflow-x:auto;overflow-y:hidden;background:var(--flaeche);border-radius:var(--r-karte);clip-path:inset(0 round var(--r-karte));margin-top:16px}
table{width:100%;border-collapse:collapse;min-width:620px;font-variant-numeric:tabular-nums}
th{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--grau);text-align:left;font-weight:600;padding:12px 14px;border-bottom:1px solid var(--linie)}
td{padding:11px 14px;border-bottom:1px solid var(--linie);vertical-align:middle}
tr:last-child td{border-bottom:0}
th.r,td.r{text-align:right}
td.datum{color:var(--datum);font-weight:600;white-space:nowrap}
td .aktion{display:inline-flex;flex-wrap:wrap;gap:6px;align-items:center;justify-content:flex-end}
.pill{display:inline-block;font-size:12px;font-weight:600;padding:3px 8px;border-radius:var(--r-klein);background:var(--schwarz);white-space:nowrap}
.pill.ok{color:var(--datum)}
.pill.wartet{color:var(--gold)}
.pill.zurueck{color:var(--grau)}
.pill.fehler{color:var(--tode)}
.leer-box{padding:36px 20px;text-align:center;color:var(--grau)}
.leer-box b{display:block;color:#fff;font-size:17px;margin-bottom:4px}

/* ---------- Fuß ---------- */
footer{margin-top:96px;border-top:1px solid var(--linie);padding-block:28px calc(56px + env(safe-area-inset-bottom,0px));color:var(--grau);font-size:14px}
footer .wrap{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center;justify-content:space-between}
footer nav{display:flex;flex-wrap:wrap;gap:16px}
footer a{text-decoration:none}
footer a:hover{color:#fff}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}

/* ---------- Ergänzungen ---------- */
.legende .l-zu{box-shadow:inset 0 0 0 1px var(--linie)}
fieldset.zusatz{border:0;margin:0;padding:0;min-width:0;display:grid;gap:14px}
fieldset.zusatz[disabled]{opacity:.55}
.mk-fuss{margin-top:14px}
td small{display:block;font-size:12px;color:var(--grau)}
td .was{font-weight:600}
.stueck .slot{width:40px;height:40px}
.posten .slot{width:40px;height:40px}
dialog#mock-stripe{border:0;padding:0;border-radius:var(--r-karte);background:var(--flaeche);color:#fff;width:min(420px,calc(100% - 32px));box-shadow:inset 0 -3px 0 color-mix(in oklab,var(--flaeche) 70%,#000)}
dialog#mock-stripe::backdrop{background:rgba(5,17,20,.75)}
.anbieter{padding:22px;display:grid;gap:12px}
.anbieter h2{font-family:var(--f-text);font-weight:700;font-size:19px}
.anbieter p{margin:0;color:var(--grau-hell);font-size:15px}
.kasten.gut b,.kasten.warn b{color:#fff}
#zahlen-kasten{display:grid;gap:10px}
.wieder{display:grid;gap:12px}
