/* Gemeinsame Grundlage der drei Startseiten-Entwürfe (nur Prototyp, nicht verlinkt) */
:root{--ink:#183c33;--muted:#5f6f62;--paper:#f6f3ea;--card:#fffdf8;--soft:#e9efe3;--accent:#204f40;--line:rgb(32 61 52/8%);
 --spring:linear(0,.06 2%,.24 5%,.52 9%,.79 14%,.95 19%,1.03 24%,1.05 29%,1.03 37%,1.005 48%,.998 60%,1);
 --ease:cubic-bezier(.2,.8,.2,1)}
[hidden]{display:none!important}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;height:100%;overflow:hidden;overscroll-behavior:none}
body{font-family:-apple-system,BlinkMacSystemFont,'SF Pro Text','Segoe UI',sans-serif;background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;user-select:none;-webkit-user-select:none}
button{font:inherit;color:inherit;border:0;background:none;padding:0;cursor:pointer;touch-action:manipulation}
.screen{position:fixed;inset:0;padding:max(14px,env(safe-area-inset-top)) 20px max(16px,env(safe-area-inset-bottom));display:flex;flex-direction:column}
.press{transition:transform .25s var(--spring)}
.press:active{transform:scale(.96)}
svg.i{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;flex:none}
.num{font-variant-numeric:tabular-nums}
/* rollende Ziffern */
.roll{display:inline-flex;overflow:hidden;line-height:1;vertical-align:bottom}
.roll span{display:inline-block}
.roll span.neu{animation:rollIn .45s var(--spring)}
@keyframes rollIn{from{transform:translateY(60%);opacity:0}}
/* Entwurf-Umschalter + Zeit-Regler */
.wahl{position:fixed;z-index:50;top:max(10px,env(safe-area-inset-top));right:12px;display:flex;gap:2px;padding:3px;border-radius:99px;background:rgb(24 60 51/55%);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:#fff;font-size:12px;font-weight:600}
.wahl a,.wahl button{color:inherit;text-decoration:none;padding:5px 7px;border-radius:99px;font-size:11px}
.wahl a.an{background:#fff;color:var(--ink)}
.regler{position:fixed;z-index:50;left:12px;right:12px;top:calc(max(10px,env(safe-area-inset-top)) + 38px);display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:16px;background:rgb(24 60 51/80%);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:#fff;font-size:13px;transform:translateY(-8px);opacity:0;pointer-events:none;transition:.3s var(--ease)}
.regler.offen{transform:none;opacity:1;pointer-events:auto}
.regler input{flex:1;accent-color:#fff}
.regler button{font-weight:700}
/* Blatt von unten */
.schleier{position:fixed;inset:0;z-index:30;background:rgb(18 40 34/30%);opacity:0;pointer-events:none;transition:opacity .35s var(--ease)}
.schleier.offen{opacity:1;pointer-events:auto}
.blatt{position:fixed;z-index:31;left:0;right:0;bottom:0;max-height:88dvh;background:var(--card);color:var(--ink);border-radius:28px 28px 0 0;padding:10px 20px max(20px,env(safe-area-inset-bottom));transform:translateY(105%);transition:transform .55s var(--spring);box-shadow:0 -10px 40px rgb(24 60 51/18%);display:flex;flex-direction:column;gap:12px;touch-action:none}
.blatt.offen{transform:translateY(var(--zug,0px))}
.blatt.zieht{transition:none}
.griff{width:40px;height:5px;border-radius:9px;background:rgb(32 61 52/18%);margin:0 auto 4px;flex:none}
.blatt h2{margin:0;font-size:22px;letter-spacing:-.02em}
/* Kaza-Zeilen (gemeinsam) */
.kz{display:grid;gap:7px}
.kz-zeile{display:flex;align-items:center;gap:10px;padding:8px 8px 8px 14px;border-radius:16px;background:var(--paper)}
.kz-zeile b{flex:1;font-weight:600;font-size:16px}
.kz-zeile .num{font-size:19px;font-weight:700}
.kz-zeile button{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:var(--accent);color:#fff}
.kz-zeile.pop .num{animation:pop .5s var(--spring)}
@keyframes pop{40%{transform:translateY(-4px) scale(1.12)}}
.toast{position:fixed;z-index:60;left:50%;bottom:max(20px,env(safe-area-inset-bottom));width:max-content;max-width:calc(100% - 32px);display:flex;align-items:center;gap:12px;padding:10px 10px 10px 16px;border-radius:18px;background:#183c33;color:#fff;font-size:14px;transform:translate(-50%,20px);opacity:0;pointer-events:none;transition:.4s var(--spring)}
.toast.an{transform:translate(-50%,0);opacity:1;pointer-events:auto}
.toast button{padding:7px 11px;border-radius:11px;background:rgb(255 255 255/15%);font-weight:700;font-size:13px}
.haptik{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.15s!important}}
