:root{
  --bg:#f6f3ff; --bg2:#fff; --card:#ffffffcc; --text:#1d1a33; --muted:#6c6890; --line:#e6e1f7;
  --accent:#7c6cf2; --accent2:#ff8fa8; --feed:#ffe2c6; --diaper:#d8f3e7; --sleep:#dfe3ff;
  --danger:#e5484d; --ok:#2fa36b; --shadow:0 10px 30px -12px #4b3fb340; --r:24px;
  color-scheme: light;
}
:root[data-theme="dark"]{
  --bg:#0b0a1c; --bg2:#151236; --card:#19163ab3; --text:#efeaff; --muted:#a39fc8; --line:#2c2860;
  --accent:#a99dff; --accent2:#ff9fb2; --feed:#3a2a24; --diaper:#1d3a30; --sleep:#25295a;
  --danger:#ff6b70; --shadow:0 10px 30px -12px #000a; color-scheme: dark;
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;background:var(--bg);color:var(--text);font:16px/1.45 ui-rounded,"SF Pro Rounded",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
body{background:radial-gradient(1200px 500px at 80% -10%,color-mix(in srgb,var(--accent) 22%,transparent),transparent),radial-gradient(800px 400px at -10% 10%,color-mix(in srgb,var(--accent2) 16%,transparent),transparent),var(--bg);min-height:100vh}
.app{max-width:560px;margin:0 auto;padding:calc(env(safe-area-inset-top) + 12px) 16px calc(env(safe-area-inset-bottom) + 110px)}
.topbar{display:flex;justify-content:space-between;align-items:center;padding:6px 4px 14px}
.brand{margin:0;font-size:26px;letter-spacing:-.02em;background:linear-gradient(90deg,var(--accent),var(--accent2));-webkit-background-clip:text;background-clip:text;color:transparent}
.sub{margin:0;color:var(--muted);font-size:14px}
.icon-btn{width:48px;height:48px;border-radius:16px;border:1px solid var(--line);background:var(--card);font-size:22px;color:var(--text)}
.view{display:none;flex-direction:column;gap:14px;animation:fade .25s ease}
.view.active{display:flex}
@keyframes fade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.card{background:var(--card);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid var(--line);border-radius:var(--r);padding:18px;box-shadow:var(--shadow)}
.eyebrow{margin:0 0 10px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.muted{color:var(--muted)} .small{font-size:13.5px}
h2{margin:0;font-size:24px} h3{margin:0;font-size:16px}
.duty{background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 30%,var(--bg2)),color-mix(in srgb,var(--accent2) 18%,var(--bg2)))}
.duty-row{display:flex;gap:14px;align-items:center}
.avatar{width:58px;height:58px;border-radius:20px;display:grid;place-items:center;font-size:24px;font-weight:800;background:var(--bg2);color:var(--accent)}
.duty p{margin:2px 0 0}
.shiftbar{position:relative;display:flex;height:34px;border-radius:12px;overflow:hidden;margin:16px 0 8px;font-size:12px;font-weight:700}
.shiftbar div{display:flex;align-items:center;justify-content:center;color:#fff;white-space:nowrap;overflow:hidden}
.shiftbar .a{background:var(--accent)} .shiftbar .b{background:var(--accent2)}
.shiftbar .now{position:absolute;top:0;bottom:0;width:3px;background:var(--text);border-radius:2px}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;text-align:center}
.stats b{display:block;font-size:20px} .stats span{font-size:12px;color:var(--muted)}
.quick{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.qbtn{min-height:92px;border:none;border-radius:20px;font-family:inherit;font-weight:600;font-size:15px;color:var(--text);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-family:inherit}
.qbtn span{font-size:30px} .qbtn b{font-weight:600}
.qbtn.feed{background:var(--feed)} .qbtn.diaper{background:var(--diaper)} .qbtn.sleep{background:var(--sleep)}
.qbtn.sleep.running{outline:3px solid var(--accent);animation:pulse 2s infinite}
@keyframes pulse{50%{outline-color:transparent}}
.qbtn:active,button:active{transform:scale(.97)}
.row-between{display:flex;justify-content:space-between;align-items:center}
.link-btn{border:none;background:none;color:var(--accent);font-family:inherit;font-weight:600;font-size:15px;padding:8px}
.timeline{list-style:none;margin:0;padding:0}
.timeline li{display:flex;gap:12px;align-items:center;padding:10px 0;border-top:1px solid var(--line)}
.timeline li:first-child{border-top:none}
.timeline .ti{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;font-size:20px;flex:none}
.timeline .t{font-variant-numeric:tabular-nums;font-weight:700;width:48px;flex:none}
.timeline .d{flex:1} .timeline .d small{display:block;color:var(--muted)}
.timeline .del{border:none;background:none;color:var(--muted);font-size:18px;width:40px;height:40px}
.empty{color:var(--muted);text-align:center;padding:14px 0}
.lbl{display:block;margin:14px 0 6px;font-size:14px;font-weight:600}
.tag{font-size:11px;font-weight:700;background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--accent);padding:3px 8px;border-radius:99px;margin-left:4px;white-space:nowrap}
.stepper{display:flex;align-items:center;gap:10px}
.stepper button{width:64px;height:64px;border-radius:20px;border:none;background:color-mix(in srgb,var(--accent) 16%,var(--bg2));color:var(--accent);font-size:30px;font-weight:700}
.stepper output{flex:1;text-align:center;font-size:34px;font-weight:800;font-variant-numeric:tabular-nums}
input,select{font:inherit;color:var(--text);background:var(--bg2);border:1px solid var(--line);border-radius:14px;padding:12px 14px;min-height:50px;width:100%}
.inline{display:flex;align-items:center;gap:10px} .inline input{width:110px;font-size:20px;font-weight:700;text-align:center}
.inline.small input{width:80px;font-size:17px;min-height:44px;padding:8px}
.result{margin:16px 0 10px;padding:16px;border-radius:18px;background:color-mix(in srgb,var(--accent) 12%,var(--bg2));display:grid;grid-template-columns:1fr 1fr;gap:8px;text-align:center}
.result b{display:block;font-size:30px;line-height:1.1} .result span{font-size:13px;color:var(--muted)}
.result .warn{grid-column:1/-1;font-size:13.5px;color:var(--danger);text-align:left}
.result.small{display:block;text-align:left;font-size:15px}
.primary,.secondary,.ghost{width:100%;min-height:58px;border-radius:18px;border:none;font-family:inherit;font-weight:700;font-size:16px;margin-top:8px}
.primary{background:linear-gradient(135deg,var(--accent),color-mix(in srgb,var(--accent) 60%,var(--accent2)));color:#fff;box-shadow:0 8px 20px -8px var(--accent)}
.secondary{background:color-mix(in srgb,var(--accent) 16%,var(--bg2));color:var(--accent)}
.ghost{background:transparent;border:1px solid var(--line);color:var(--text)}
.danger-text{color:var(--danger)}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.timer{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px;border-radius:18px;background:var(--bg2);border:1px solid var(--line);margin-bottom:10px}
.timer p{margin:4px 0 0}
.tval{font-size:30px;font-weight:800;font-variant-numeric:tabular-nums;min-width:96px;text-align:right}
.timer.running .tval{color:var(--accent)} .timer.done{border-color:var(--ok)} .timer.done .tval{color:var(--ok)}
.timer.danger.expired{border-color:var(--danger);background:color-mix(in srgb,var(--danger) 12%,var(--bg2))} .timer.danger.expired .tval{color:var(--danger)}
.src{font-size:12px;color:var(--muted);margin:10px 0 0} .src a{color:var(--accent)}
details summary{cursor:pointer;min-height:36px;list-style:none} details summary::after{content:" ▾";color:var(--muted)}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.grid2 label{font-size:13px;font-weight:600;color:var(--muted);display:flex;flex-direction:column;gap:6px}
.name{font-size:20px;font-weight:700;margin-bottom:10px}
.seg{display:grid;grid-template-columns:1fr 1fr;gap:6px;background:var(--bg2);padding:5px;border-radius:16px;border:1px solid var(--line)}
.seg button{min-height:48px;border:none;border-radius:12px;background:transparent;color:var(--text);font-family:inherit;font-weight:600;font-size:14px}
.seg button.on{background:var(--accent);color:#fff}
.days{display:flex;gap:5px}
.days button{width:40px;height:44px;flex:1;min-width:36px;border-radius:12px;border:1px solid var(--line);background:var(--bg2);color:var(--text);font-weight:700;font-family:inherit}
.days button.on{background:var(--accent);color:#fff;border-color:var(--accent)}
.check{display:flex;gap:10px;align-items:center;margin-top:12px;font-weight:600} .check input{width:24px;min-height:24px;height:24px}
.plan-row{display:flex;align-items:center;gap:10px;padding:10px 0;border-top:1px solid var(--line);font-size:14px}
.plan-row:first-child{border-top:none}
.plan-row .day{width:62px;font-weight:700;flex:none} .plan-row .bars{flex:1}
.plan-row .mini{display:flex;height:26px;border-radius:9px;overflow:hidden;font-size:11px;font-weight:700;color:#fff}
.plan-row .mini div{display:flex;align-items:center;justify-content:center;overflow:hidden;white-space:nowrap;padding:0 4px}
.plan-row .note{font-size:12px;color:var(--muted);margin-top:4px}
.disclaimer{border-color:color-mix(in srgb,var(--accent2) 50%,var(--line))} .disclaimer p{margin:0 0 6px} .disclaimer a{color:var(--accent);font-weight:700}
.foot-disclaimer{text-align:center;font-size:11.5px;color:var(--muted);margin:18px 0 0}
.tabbar{--i:0;position:fixed;left:50%;transform:translateX(-50%);bottom:calc(env(safe-area-inset-bottom) + 10px);width:min(528px,calc(100% - 24px));display:grid;grid-template-columns:repeat(4,1fr);gap:4px;padding:6px;border-radius:26px;background:color-mix(in srgb,var(--bg2) 85%,transparent);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid var(--line);box-shadow:var(--shadow);z-index:10}
.tabbar button{min-height:60px;border:none;border-radius:20px;background:transparent;color:var(--muted);font-family:inherit;font-weight:600;font-size:12.5px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}
.tabbar button span{font-size:22px}
.tabbar button.active{background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--accent)}
.sheet-backdrop{position:fixed;inset:0;background:#0008;opacity:0;pointer-events:none;transition:.2s;z-index:20}
.sheet-backdrop.open{opacity:1;pointer-events:auto}
.sheet{visibility:hidden;position:fixed;left:0;right:0;bottom:0;max-width:560px;margin:0 auto;background:var(--bg2);border-radius:28px 28px 0 0;padding:10px 18px calc(env(safe-area-inset-bottom) + 18px);transform:translateY(105%);transition:transform .25s cubic-bezier(.2,.8,.2,1);z-index:21;max-height:88vh;overflow:auto}
.sheet.open{transform:none;visibility:visible}
.grab{width:44px;height:5px;border-radius:5px;background:var(--line);margin:0 auto 12px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips button{min-height:50px;padding:0 16px;border-radius:16px;border:1px solid var(--line);background:var(--bg);color:var(--text);font-family:inherit;font-weight:600;font-size:15px}
.chips button.on{background:var(--accent);border-color:var(--accent);color:#fff}
.toast{position:fixed;left:50%;bottom:110px;transform:translate(-50%,20px);background:var(--text);color:var(--bg);padding:12px 18px;border-radius:16px;font-weight:600;opacity:0;transition:.25s;z-index:30;pointer-events:none;max-width:90%;text-align:center}
.toast.show{opacity:1;transform:translate(-50%,0)}

/* ===================== 2026-Politur ===================== */
:root{--ease:cubic-bezier(.2,.9,.25,1.15);--ease2:cubic-bezier(.2,.8,.2,1)}
textarea{font:inherit;color:var(--text);background:var(--bg2);border:1px solid var(--line);border-radius:14px;padding:12px 14px;width:100%;resize:vertical}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 22%,transparent)}
button{cursor:pointer;transition:transform .18s var(--ease),background-color .2s,color .2s,box-shadow .2s,opacity .2s}
button:disabled{opacity:.35;pointer-events:none}
.qbtn:active,button:active{transform:scale(.94)}
.card{transition:transform .3s var(--ease2),box-shadow .3s;border-color:color-mix(in srgb,var(--line) 80%,transparent);background:linear-gradient(160deg,color-mix(in srgb,var(--card) 100%,transparent),color-mix(in srgb,var(--card) 70%,transparent));backdrop-filter:blur(20px) saturate(1.4);-webkit-backdrop-filter:blur(20px) saturate(1.4)}
:root[data-theme="dark"] .card{box-shadow:inset 0 1px 0 #ffffff12,0 14px 40px -18px #000c}
/* Sternenhimmel im Nachtmodus */
:root[data-theme="dark"] body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;opacity:.55;
  background-image:radial-gradient(1px 1px at 12% 18%,#fff9,transparent),radial-gradient(1px 1px at 68% 8%,#fff8,transparent),radial-gradient(1.5px 1.5px at 84% 32%,#fffa,transparent),radial-gradient(1px 1px at 32% 46%,#fff6,transparent),radial-gradient(1px 1px at 52% 72%,#fff5,transparent),radial-gradient(1.5px 1.5px at 8% 82%,#fff7,transparent),radial-gradient(1px 1px at 90% 88%,#fff6,transparent),radial-gradient(1px 1px at 44% 12%,#fff7,transparent);
  animation:twinkle 6s ease-in-out infinite alternate}
@keyframes twinkle{to{opacity:.25}}
.view.active{animation:viewIn .38s var(--ease2)}
@keyframes viewIn{from{opacity:0;transform:translateY(10px) scale(.99)}to{opacity:1;transform:none}}
.view.active>.card{animation:cardIn .45s var(--ease2) both}
.view.active>.card:nth-child(2){animation-delay:.04s}.view.active>.card:nth-child(3){animation-delay:.08s}.view.active>.card:nth-child(4){animation-delay:.12s}.view.active>.card:nth-child(n+5){animation-delay:.16s}
@keyframes cardIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
::view-transition-old(root){animation:.22s var(--ease2) both vtOut}
::view-transition-new(root){animation:.32s var(--ease2) both vtIn}
@keyframes vtOut{to{opacity:0;transform:translateX(calc(var(--vtdir,1) * -24px))}}
@keyframes vtIn{from{opacity:0;transform:translateX(calc(var(--vtdir,1) * 24px))}}
:root[data-dir="back"]{--vtdir:-1}
/* Tabbar mit gleitender Pille */
.tabbar::before{content:"";position:absolute;top:6px;bottom:6px;left:6px;width:calc((100% - 12px - 12px)/4);border-radius:20px;background:color-mix(in srgb,var(--accent) 20%,transparent);transform:translateX(calc(var(--i) * (100% + 4px)));transition:transform .45s var(--ease)}
.tabbar button{position:relative;z-index:1;min-height:62px}
.tabbar button.active{background:transparent}
.tabbar button span{transition:transform .35s var(--ease)}
.tabbar button.active span{transform:translateY(-2px) scale(1.12)}
.top-actions{display:flex;gap:8px}
.red-btn span{filter:saturate(.8)}
.baby-line{color:var(--text);font-weight:700;margin-top:2px}
.tiny{font-size:12px;margin:6px 0 0}
.center{text-align:center}

/* 3-Uhr-Button */
.redcta{display:flex;align-items:center;gap:14px;width:100%;min-height:76px;padding:12px 18px;border-radius:var(--r);border:1px solid color-mix(in srgb,#ff3b30 35%,var(--line));background:linear-gradient(135deg,color-mix(in srgb,#ff3b30 18%,var(--bg2)),color-mix(in srgb,#7a0010 12%,var(--bg2)));color:var(--text);font-family:inherit;text-align:left;box-shadow:var(--shadow)}
.redcta>span{font-size:28px} .redcta div{flex:1} .redcta b{display:block;font-size:17px} .redcta small{display:block;color:var(--muted);font-size:12.5px;line-height:1.3}
.redcta i{font-style:normal;font-size:28px;color:var(--muted)}

/* Übergabe & Nacht-Konto */
.handover{background:linear-gradient(150deg,color-mix(in srgb,var(--accent) 16%,var(--card)),var(--card))}
.ho-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;text-align:center;margin:4px 0 10px}
.ho-grid div{background:var(--bg2);border:1px solid var(--line);border-radius:16px;padding:10px 4px}
.ho-grid b{display:block;font-size:22px} .ho-grid span{font-size:12px;color:var(--muted)}
.ho-line{margin:6px 0} .ho-est{margin:6px 0;font-weight:600;color:var(--accent)}
.acc-names{display:flex;justify-content:space-between;font-weight:600}
.acc-names b{font-size:20px}
.acc-bar{position:relative;height:14px;border-radius:99px;background:var(--accent2);overflow:hidden;margin:8px 0}
.acc-bar div{height:100%;background:var(--accent);transition:width .6s var(--ease2)}
.acc-bar span{position:absolute;top:0;bottom:0;width:2px;background:var(--bg2)}
.acc-tip{margin:6px 0 0}

/* Namensfinder */
.nm-filters{display:flex;gap:8px}
.nm-filters .seg{flex:1}
.seg4{grid-template-columns:repeat(4,auto);margin-top:8px}
.seg4 button{font-size:13.5px;padding:0 8px;min-height:44px}
.nm-filters select{width:84px;flex:none;min-height:60px;padding:8px 10px;font-weight:700}
#matchCard .row-between{margin-bottom:6px} #matchCard .eyebrow{margin:0}
#nmWho button small{opacity:.8;font-weight:700}
.deck{position:relative;height:250px;margin:0}
.ncard{position:absolute;inset:0;border-radius:26px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:#fff;touch-action:pan-y;user-select:none;-webkit-user-select:none;cursor:grab;
  transition:transform .3s var(--ease),opacity .25s;box-shadow:0 18px 40px -18px #0009;text-shadow:0 2px 12px #0003;overflow:hidden}
.ncard::after{content:"";position:absolute;inset:0;background:radial-gradient(400px 200px at 20% 0%,#ffffff40,transparent 60%);pointer-events:none}
.ncard.w{background:linear-gradient(150deg,#ff7c9c,#c55bd8)}
.ncard.m{background:linear-gradient(150deg,#6f7dff,#3fb6e8)}
.ncard.u{background:linear-gradient(150deg,#9b7bff,#ff9a7c)}
.ncard.drag{transition:none;cursor:grabbing}
.ncard.next{transform:translateY(14px) scale(.94);opacity:.75}
.ncard.next2{transform:translateY(26px) scale(.88);opacity:.4}
.ncard.out-r{transform:translateX(140%) rotate(22deg)!important;opacity:0}
.ncard.out-l{transform:translateX(-140%) rotate(-22deg)!important;opacity:0}
.ncard .nm{font-size:clamp(34px,11vw,52px);font-weight:800;letter-spacing:-.02em;line-height:1.05;text-align:center;padding:0 16px;word-break:break-word}
.ncard .g{font-size:13px;font-weight:700;background:#ffffff33;padding:5px 12px;border-radius:99px;backdrop-filter:blur(6px)}
.ncard .g.hint{background:#0000002e}
.stamp{position:absolute;top:22px;padding:6px 12px;border:3px solid #fff;border-radius:12px;font-weight:900;font-size:20px;letter-spacing:.06em;z-index:2}
.stamp.l{left:20px;transform:rotate(-14deg);opacity:var(--like,0)} .stamp.n{right:20px;transform:rotate(14deg);opacity:var(--nope,0)}
.deck-empty{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center;border:2px dashed var(--line);border-radius:26px}
.deck-empty div{font-size:44px}
.swipe-btns{display:flex;justify-content:center;align-items:center;gap:22px;margin-top:30px}
.sbtn{width:76px;height:76px;border-radius:50%;border:1px solid var(--line);background:var(--bg2);font-size:32px;font-weight:800;box-shadow:var(--shadow);font-family:inherit}
.sbtn.nope{color:var(--danger)} .sbtn.like{color:#ff5c8a}
.sbtn.undo{width:54px;height:54px;font-size:22px;color:var(--muted)}
.mlist{list-style:none;margin:0;padding:0}
.mlist li{display:flex;align-items:center;gap:12px;padding:10px 0;border-top:1px solid var(--line);animation:cardIn .35s var(--ease2) both}
.mlist li:first-child{border-top:none}
.mlist li b{flex:1;font-size:19px}
.dot{width:12px;height:12px;border-radius:50%;flex:none}
.dot.w,.lchip.w{--c:#ff7c9c} .dot.m,.lchip.m{--c:#6f7dff} .dot.u,.lchip.u{--c:#b08bff}
.dot{background:var(--c)}
.mlist .take,.mlist .chosen{min-height:44px;padding:0 14px;border-radius:14px;border:none;font-family:inherit;font-weight:700;font-size:14px;background:color-mix(in srgb,var(--accent) 16%,var(--bg2));color:var(--accent)}
.mlist .chosen{background:var(--ok);color:#fff}
.lchips{display:flex;flex-wrap:wrap;gap:6px}
.lchip{display:inline-flex;align-items:center;gap:2px;padding:4px 4px 4px 12px;border-radius:99px;background:color-mix(in srgb,var(--c) 18%,var(--bg2));font-weight:600;font-size:14px}
.lchip button{border:none;background:none;color:var(--muted);width:30px;height:30px;font-size:13px}
.nm-g{margin:10px 0 2px}
.baby-card{background:linear-gradient(150deg,color-mix(in srgb,var(--accent2) 16%,var(--card)),var(--card))}
.baby-card .link-btn{padding:8px 0}

/* ===================== 3-Uhr-Modus (Rotlicht) ===================== */
body.red-open{overflow:hidden}
.redmode{position:fixed;inset:0;z-index:50;background:#000;color:#ff3b1f;display:flex;flex-direction:column;gap:10px;
  padding:calc(env(safe-area-inset-top) + 16px) 16px calc(env(safe-area-inset-bottom) + 16px);overflow:auto;animation:fade .3s ease}
.redmode[hidden]{display:none}
.redmode button{font-family:inherit;color:#ff3b1f}
.redmode .rm-grid button,.redmode .rm-ml button{filter:grayscale(1) sepia(1) saturate(6) hue-rotate(-40deg) brightness(.8)}
.rm-top{display:flex;justify-content:space-between;align-items:flex-start}
.rm-clock{font-size:64px;font-weight:800;line-height:1;font-variant-numeric:tabular-nums;opacity:.85}
.rm-who{margin:6px 0 0;font-size:14px;opacity:.7}
.rm-close{min-height:52px;padding:0 18px;border-radius:16px;border:1px solid #5a1208;background:#140302;font-size:16px;font-weight:700}
.rm-info{margin:4px 0 0;font-size:18px;font-weight:700;opacity:.9}
.rm-est{margin:0;font-size:14px;opacity:.65}
.rm-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:6px}
.rm-grid>button{min-height:104px;border-radius:24px;border:1px solid #4a0e06;background:#170403;font-size:32px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}
.rm-grid b{font-size:16px} .rm-grid small{font-size:14px;opacity:.8}
.rm-ml{display:grid;grid-template-rows:1fr 1fr;gap:10px}
.rm-ml button{border-radius:20px;border:1px solid #4a0e06;background:#170403;font-size:30px;font-weight:800}
.rm-wide{grid-column:1/-1}
.rm-flash{position:fixed;left:16px;right:16px;bottom:calc(env(safe-area-inset-bottom) + 16px);padding:14px 16px;border-radius:18px;background:#2a0705;border:1px solid #6a160a;font-weight:700;display:flex;justify-content:space-between;align-items:center;gap:10px;opacity:0;transform:translateY(20px);transition:.25s;pointer-events:none}
.rm-flash.show{opacity:1;transform:none;pointer-events:auto}
.rm-flash button{min-height:44px;padding:0 14px;border-radius:12px;border:1px solid #6a160a;background:#000;font-weight:700}

@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  ::view-transition-old(root),::view-transition-new(root){animation:none!important}
}

/* ===================== Sprachen & RTL ===================== */
.tabbar button b{font-weight:inherit}
#langSel{font-weight:700}
.redcta{text-align:start}
.result .warn,.result.small{text-align:start}
.acc-bar,.shiftbar,.plan-row .mini{direction:ltr}
:root[dir="rtl"] .tabbar::before{left:auto;right:6px;transform:translateX(calc(var(--i) * -1 * (100% + 4px)))}
:root[dir="rtl"] .redcta i{transform:scaleX(-1)}
:root[dir="rtl"] body{font-family:system-ui,-apple-system,"Segoe UI","Noto Sans Arabic",Tahoma,sans-serif}
:root[dir="rtl"] .acc-names{direction:ltr}
:root[dir="rtl"] .rm-clock,:root[dir="rtl"] .timeline .t,:root[dir="rtl"] .tval{direction:ltr;unicode-bidi:isolate}
:root[dir="rtl"] .lchip{padding:4px 12px 4px 4px}
:root[dir="rtl"]{--vtdir:-1} :root[dir="rtl"][data-dir="back"]{--vtdir:1}
.swipe-btns{direction:ltr}

/* ===================== Sprachknopf & Sprachauswahl ===================== */
.top-actions{gap:6px}
.lang-btn{width:auto;min-width:58px;padding:0 10px;display:inline-flex;align-items:center;justify-content:center;gap:4px;font-family:inherit}
.lang-btn span{font-size:17px} .lang-btn b{font-size:13px;font-weight:800;letter-spacing:.04em;color:var(--accent)}
.lang-list{display:flex;flex-direction:column;gap:8px;margin:14px 0 6px}
.lang-list button{display:flex;align-items:center;gap:14px;min-height:58px;padding:0 16px;border-radius:18px;border:1px solid var(--line);background:var(--bg);color:var(--text);font-family:inherit;font-size:17px;font-weight:600;text-align:start}
.lang-list button.on{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 16%,var(--bg2));box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent)}
.lang-list .lf{font-size:24px;width:30px;text-align:center;font-weight:800;color:var(--accent)}
.lang-list .ln{flex:1}
.lang-list .lc{font-size:12px;font-weight:800;color:var(--muted)}
.lang-list button.on .lc::after{content:" ✓";color:var(--accent)}
.welcome{text-align:center;padding:4px 6px 0}
.welcome .wl-icon{font-size:40px;line-height:1;margin-bottom:6px}
.welcome h2{font-size:23px} .welcome p{margin:6px 0 0;font-size:14.5px}
@media (max-width:370px){.brand{font-size:22px}.icon-btn{width:44px;height:44px}.lang-btn{min-width:52px}}
