@font-face{font-family:"Bricolage Grotesque";src:url("fonts/Bricolage.woff") format("woff");font-weight:200 800;font-display:swap}
@font-face{font-family:"Figtree";src:url("fonts/Figtree.woff") format("woff");font-weight:300 900;font-display:swap}
/* Layout: am Computer ein iPhone-Simulator in der Mitte mit Infotext daneben, auf dem Handy die App im Vollbild. */
:root{
  --bg:#F4F5F0; --surface:#FFFFFF; --surface-2:#E8EBE2; --fg:#16201A; --muted:#5D6A60; --line:#D9DED3;
  --herb:#2F7A4C; --herb-ink:#FFFFFF; --herb-soft:#DCEEDF;
  --tomato:#D9482F; --tomato-soft:#FBE3DD; --yolk:#E2A010; --yolk-soft:#FBF0D2; --yolk-ink:#8A5A00; --tomato-ink:#A8321E;
  --stage:#E3E7DD; --stage-2:#CFD8C7; --bezel:#111512; --shadow:0 1px 2px rgba(22,32,26,.06),0 8px 24px rgba(22,32,26,.07);
  --f-display:"Bricolage Grotesque","Arial Black",system-ui,sans-serif;
  --f-body:"Figtree",system-ui,-apple-system,"Segoe UI",sans-serif;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --bg:#0E130F; --surface:#171E19; --surface-2:#202A23; --fg:#E8EEE8; --muted:#97A59B; --line:#2A362D;
  --herb:#5CC98A; --herb-ink:#07140C; --herb-soft:#173826;
  --tomato:#FF7A60; --tomato-soft:#3D1D16; --yolk:#F5C04A; --yolk-soft:#3A2E10; --yolk-ink:#F5C04A; --tomato-ink:#FF8A73;
  --stage:#070A08; --stage-2:#121A14; --bezel:#000000; --shadow:0 1px 2px rgba(0,0,0,.45); color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#0E130F; --surface:#171E19; --surface-2:#202A23; --fg:#E8EEE8; --muted:#97A59B; --line:#2A362D;
  --herb:#5CC98A; --herb-ink:#07140C; --herb-soft:#173826;
  --tomato:#FF7A60; --tomato-soft:#3D1D16; --yolk:#F5C04A; --yolk-soft:#3A2E10; --yolk-ink:#F5C04A; --tomato-ink:#FF8A73;
  --stage:#070A08; --stage-2:#121A14; --bezel:#000000; --shadow:0 1px 2px rgba(0,0,0,.45); color-scheme:dark}

html{font-size:17px}
@supports (font:-apple-system-body) and (-webkit-touch-callout:none){ html{font:-apple-system-body} }
html,body{height:100%}
html,body{margin:0}
*,*::before,*::after{box-sizing:border-box}
/* Volle Bildschirmhöhe: Inhalte selbst von Notch und Home-Leiste fernhalten */
html{padding:0}
body{background:var(--bg);color:var(--fg);font-family:var(--f-body);font-size:1rem;line-height:1.45;overflow:hidden;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
:focus-visible{outline:2px solid var(--herb);outline-offset:2px;border-radius:8px}

/* ---------- iPhone-Simulator (Computer) ---------- */
#stage{height:100%;display:flex;align-items:center;justify-content:center;gap:72px}
#side{display:none}
.framed #stage{position:fixed;inset:0}
.framed body{background:radial-gradient(110% 90% at 15% 10%,var(--stage-2),var(--stage))}
.framed #side{display:flex;flex-direction:column;gap:18px;max-width:360px}
.side-logo{font-family:var(--f-display);font-weight:800;font-size:52px;letter-spacing:-.03em;line-height:.95}
.side-logo span{color:var(--tomato)}
.side-claim{font-size:1.1765rem;font-weight:700;text-wrap:balance}
.side-text{color:var(--muted)}
.side-hint{display:flex;gap:12px;align-items:center;padding:14px 16px;border:1px solid var(--line);border-radius:18px;background:var(--surface);font-size:0.8235rem}
.side-hint svg{flex:none;color:var(--herb)}
.side-note{font-size:0.7059rem;color:var(--muted)}

#phoneWrap{position:relative;width:100%;height:100%}
.framed #phoneWrap{flex:none}
#phone{position:relative;width:100%;height:100%}
.framed #phone{position:absolute;left:0;top:0;width:420px;height:874px;transform-origin:0 0;padding:15px;border-radius:66px;
  background:linear-gradient(145deg,#3a403b,var(--bezel) 30%,var(--bezel) 70%,#2d332e);box-shadow:0 0 0 1.5px #4a514b inset,0 0 0 7px #1d221e inset,0 50px 90px rgba(10,20,12,.38)}
.btn-side{display:none}
.framed .btn-side{display:block;position:absolute;width:5px;background:linear-gradient(90deg,#4a514b,#2a302b);border-radius:3px}
.framed .b1{left:-4px;top:150px;height:30px}.framed .b2{left:-4px;top:210px;height:62px}.framed .b3{left:-4px;top:286px;height:62px}.framed .b4{right:-4px;top:240px;height:96px}

#screen{position:relative;width:100%;height:100%;overflow:hidden;background:var(--bg);display:flex;flex-direction:column}
.framed #screen{border-radius:52px}
#island{display:none}
.framed #island{display:block;position:absolute;top:11px;left:50%;transform:translateX(-50%);width:124px;height:36px;border-radius:20px;background:#000;z-index:80;transition:width .35s cubic-bezier(.3,1.4,.5,1)}
.framed #island.wide{width:220px}
#statusbar{display:none}
.framed #statusbar{display:flex;height:56px;flex:none;align-items:center;justify-content:space-between;padding:8px 36px 0;font-weight:700;font-size:0.8824rem;font-variant-numeric:tabular-nums}
#statusbar .icons{display:flex;gap:6px;align-items:center}
#homebar{display:none}
.framed #homebar{display:block;position:absolute;bottom:8px;left:50%;transform:translateX(-50%);width:134px;height:5px;border-radius:5px;background:var(--fg);opacity:.85;z-index:80}

/* ---------- App-Gerüst ---------- */
#views{position:relative;flex:1;min-height:0}
.view{position:absolute;inset:0;overflow-y:auto;overflow-x:hidden;padding:6px 18px 28px;animation:viewIn .4s cubic-bezier(.2,.9,.3,1) both}
@keyframes viewIn{from{opacity:.25;transform:translateX(var(--dx,0px)) translateY(var(--dy,10px))}}
.top{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 0 14px}
.h1{font-family:var(--f-display);font-weight:800;font-size:1.5882rem;letter-spacing:-.025em;line-height:1.1;text-wrap:balance}
.h2{font-size:0.7059rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);margin:22px 0 10px;display:flex;justify-content:space-between;align-items:center}
.muted{color:var(--muted)}
.stack{display:flex;flex-direction:column;gap:10px}
.stack>*{animation:rise .5s cubic-bezier(.2,.9,.3,1) both}
.stack>*:nth-child(2){animation-delay:.05s}.stack>*:nth-child(3){animation-delay:.1s}.stack>*:nth-child(4){animation-delay:.15s}.stack>*:nth-child(n+5){animation-delay:.2s}
@keyframes rise{from{opacity:.35;transform:translateY(16px) scale(.97)}}

#tabbar{flex:none;display:grid;grid-template-columns:repeat(5,1fr);background:color-mix(in srgb,var(--surface) 92%,transparent);backdrop-filter:blur(12px);border-top:1px solid var(--line);padding:6px 6px 8px}
.framed #tabbar{padding-bottom:28px}
.tab{background:none;border:0;display:flex;flex-direction:column;align-items:center;gap:3px;font-size:0.6471rem;font-weight:700;color:var(--muted);padding:6px 0;min-height:50px;position:relative}
.tab[aria-current="page"]{color:var(--herb)}
.tab svg{width:25px;height:25px;transition:transform .2s}
.tab .ti{display:block;width:25px;height:25px;background:currentColor;-webkit-mask:var(--o) center/contain no-repeat;mask:var(--o) center/contain no-repeat;transition:transform .2s}
.tab[aria-current="page"] .ti{-webkit-mask-image:var(--f);mask-image:var(--f)}
.tab[aria-current="page"] svg{animation:pop .45s cubic-bezier(.3,1.6,.5,1)}
@keyframes pop{40%{transform:scale(1.28) translateY(-2px)}}
.tab .dot{position:absolute;top:4px;left:calc(50% + 8px);min-width:18px;height:18px;border-radius:9px;background:var(--tomato);color:#fff;font-size:0.6471rem;display:grid;place-items:center;padding:0 5px;animation:pop .5s}

/* ---------- Bausteine ---------- */
.card{background:var(--surface);border-radius:22px;padding:16px;box-shadow:var(--shadow)}
.btn{border:0;border-radius:16px;padding:13px 16px;font-weight:800;min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:transform .15s cubic-bezier(.3,1.6,.5,1),filter .15s}
.btn:hover{filter:brightness(1.05)}
.btn:active{transform:scale(.95)}
.btn-herb{background:var(--herb);color:var(--herb-ink)}
.btn-tomato{background:var(--tomato);color:#fff}
.btn-ghost{background:var(--surface-2);color:var(--fg)}
.btn-line{background:transparent;border:1.5px solid var(--line);color:var(--fg)}
.btn-block{width:100%}
.btn-sm{min-height:38px;padding:8px 12px;font-size:0.8235rem;border-radius:12px}
.chip{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:999px;font-size:0.7059rem;font-weight:800;white-space:nowrap}
.c-herb{background:var(--herb-soft);color:var(--herb)}
.c-tomato{background:var(--tomato-soft);color:var(--tomato)}
.c-yolk{background:var(--yolk-soft);color:var(--yolk-ink)}
.c-muted{background:var(--surface-2);color:var(--muted)}
.icon-btn{width:42px;height:42px;border-radius:14px;border:0;background:var(--surface-2);display:grid;place-items:center;flex:none}
.avatar{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;font-size:1.2941rem;flex:none;background:var(--surface-2);border:2.5px solid var(--surface);box-shadow:var(--shadow)}
.avatar.sm{width:28px;height:28px;font-size:0.8824rem;border-width:2px}
.avatar-stack{display:flex}
.avatar-stack .avatar{margin-left:-8px}.avatar-stack .avatar:first-child{margin-left:0}

.seg{display:flex;background:var(--surface-2);border-radius:14px;padding:3px;gap:3px}
.seg button{flex:1;border:0;background:none;border-radius:11px;padding:8px 6px;font-weight:800;font-size:0.7647rem;color:var(--muted);min-height:38px;transition:background .2s,color .2s}
.seg button[aria-pressed="true"]{background:var(--surface);color:var(--fg);box-shadow:var(--shadow)}

.who{display:flex;gap:12px;overflow-x:auto;padding:4px 2px 6px}
.who button{border:0;background:none;display:flex;flex-direction:column;align-items:center;gap:5px;font-size:0.7059rem;font-weight:700;color:var(--muted);flex:none;width:58px}
.who .avatar{width:52px;height:52px;font-size:1.5294rem;transition:transform .2s cubic-bezier(.3,1.6,.5,1),opacity .2s,filter .2s}
.who button[aria-pressed="false"] .avatar{opacity:.38;filter:grayscale(1);transform:scale(.88)}
.who button[aria-pressed="true"]{color:var(--fg)}
.who button[aria-pressed="true"] .avatar{box-shadow:0 0 0 3px var(--herb)}

/* Vorschläge */
.pick{border-radius:26px;padding:18px;color:#fff;position:relative;overflow:hidden;background:linear-gradient(150deg,var(--herb),color-mix(in srgb,var(--herb) 55%,#0b2a18));box-shadow:0 14px 30px rgba(47,122,76,.28);border:0;width:100%;text-align:left;animation:heroIn .6s cubic-bezier(.2,.9,.3,1) both}
@keyframes heroIn{from{transform:scale(.95) translateY(10px)}}
.pick .big{position:absolute;right:-6px;top:-4px;font-size:96px;animation:float 4s ease-in-out infinite;filter:drop-shadow(0 10px 14px rgba(0,0,0,.25))}
@keyframes float{50%{transform:translateY(-8px) rotate(-6deg)}}
.pick .lbl{font-size:0.7059rem;font-weight:800;letter-spacing:.09em;opacity:.85}
.pick .name{font-family:var(--f-display);font-weight:800;font-size:1.5294rem;line-height:1.1;margin:6px 110px 10px 0;text-wrap:balance}
.pick .why{font-size:0.8235rem;font-weight:600;opacity:.95;display:flex;flex-direction:column;gap:4px}
.pick .meta{display:flex;gap:6px;margin-top:12px;flex-wrap:wrap}
.pick .meta .chip{background:rgba(255,255,255,.2);color:#fff}
.rc{display:flex;gap:12px;align-items:center;background:var(--surface);border-radius:20px;padding:12px;box-shadow:var(--shadow);border:0;width:100%;text-align:left;transition:transform .15s}
.rc:active{transform:scale(.98)}
.rc .em{flex:none;width:56px;height:56px;border-radius:16px;display:grid;place-items:center;font-size:1.7647rem;background:var(--yolk-soft)}
.rc .main{flex:1;min-width:0}
.rc .t{font-weight:800;font-size:0.9412rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rc .s{font-size:0.7647rem;color:var(--muted);display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-top:3px}
.meter{height:5px;border-radius:5px;background:var(--surface-2);overflow:hidden;margin-top:7px}
.meter i{display:block;height:100%;background:var(--herb);border-radius:5px;transform-origin:left;animation:fill .8s cubic-bezier(.2,.9,.3,1) both}
@keyframes fill{from{transform:scaleX(0)}}
.banner{display:flex;gap:12px;align-items:center;background:var(--yolk-soft);border-radius:18px;padding:12px 14px;border:0;width:100%;text-align:left;animation:rise .5s both,wiggle 2.8s ease-in-out 1s infinite}
@keyframes wiggle{0%,90%,100%{transform:none}93%{transform:rotate(-1deg)}96%{transform:rotate(1deg)}}

/* Kühlschrank */
.photo-card{display:flex;gap:14px;align-items:center;background:linear-gradient(135deg,var(--tomato),color-mix(in srgb,var(--tomato) 60%,var(--yolk)));color:#fff;border-radius:24px;padding:16px;border:0;width:100%;text-align:left;box-shadow:0 12px 26px rgba(217,72,47,.25)}
.photo-card .cam{width:54px;height:54px;border-radius:18px;background:rgba(255,255,255,.22);display:grid;place-items:center;flex:none;animation:pulse 2.6s ease-in-out infinite}
@keyframes pulse{50%{transform:scale(1.08);box-shadow:0 0 0 8px rgba(255,255,255,.12)}}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.ing{border:1.5px solid var(--line);background:var(--surface);border-radius:14px;padding:8px 12px;font-weight:700;font-size:0.8235rem;display:inline-flex;gap:6px;align-items:center;min-height:42px;transition:transform .2s cubic-bezier(.3,1.6,.5,1),background .2s,border-color .2s}
.ing[aria-pressed="true"]{background:var(--herb-soft);border-color:var(--herb);color:var(--fg)}
.ing:active{transform:scale(.9)}
.ing.just{animation:popIn .5s cubic-bezier(.3,1.6,.5,1)}
@keyframes popIn{0%{transform:scale(.6)}60%{transform:scale(1.12)}}
.scan{position:relative;border-radius:22px;overflow:hidden;background:#000;aspect-ratio:4/3;max-width:100%}
.scan img{width:100%;height:100%;object-fit:cover;display:block;opacity:.85}
.scan::after{content:"";position:absolute;left:0;right:0;height:3px;background:var(--herb);box-shadow:0 0 18px 6px color-mix(in srgb,var(--herb) 60%,transparent);animation:sweep 1.6s ease-in-out infinite}
.scan.done::after{display:none}
@keyframes sweep{0%{top:4%}50%{top:94%}100%{top:4%}}

/* Familie */
.list{background:var(--surface);border-radius:20px;box-shadow:var(--shadow);overflow:hidden}
.row{display:flex;align-items:center;gap:12px;padding:12px 14px;border:0;background:none;width:100%;text-align:left;min-height:56px}
.row+.row{border-top:1px solid var(--line)}
.row .grow{flex:1;min-width:0}
.row small{display:block;color:var(--muted);font-size:0.7647rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.qr-box{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center}
#qr{background:#fff;padding:14px;border-radius:20px;box-shadow:var(--shadow);animation:heroIn .5s both}
#qr img,#qr canvas{display:block;width:180px;height:180px}
.code{font-family:var(--f-display);font-weight:800;font-size:1.2941rem;letter-spacing:.12em}
.viewfinder{position:relative;aspect-ratio:1;max-width:260px;width:100%;margin:0 auto;border-radius:28px;background:radial-gradient(circle,#1d2a21,#070a08);overflow:hidden}
.viewfinder::before{content:"";position:absolute;inset:22%;border:3px solid #fff;border-radius:18px;opacity:.9;animation:breathe 2s ease-in-out infinite}
@keyframes breathe{50%{inset:20%}}
.viewfinder::after{content:"";position:absolute;left:22%;right:22%;height:2px;background:var(--herb);box-shadow:0 0 14px 4px var(--herb);animation:sweep2 1.8s ease-in-out infinite}
@keyframes sweep2{0%,100%{top:24%}50%{top:76%}}

/* Formulare & Overlays */
.scrim{position:absolute;inset:0;background:rgba(6,12,8,.48);z-index:40;animation:fade .2s both}
@keyframes fade{from{opacity:0}}
.sheet{position:absolute;left:0;right:0;bottom:0;z-index:41;background:var(--bg);border-radius:30px 30px 0 0;max-height:93%;overflow-y:auto;padding:10px 18px 30px;animation:up .45s cubic-bezier(.2,1.1,.3,1) both}
@keyframes up{from{transform:translateY(100%)}}
.grabber{width:40px;height:5px;border-radius:5px;background:var(--line);margin:4px auto 12px}
.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}
.field label,.lbl2{font-size:0.7647rem;font-weight:800;color:var(--muted)}
.input{width:100%;border:1.5px solid var(--line);background:var(--surface);border-radius:14px;padding:12px 14px;min-height:48px;font-size:0.9412rem}
.input:focus{border-color:var(--herb);outline:none}
.emoji-pick{display:flex;gap:8px;flex-wrap:wrap}
.emoji-pick button{width:48px;height:48px;border-radius:50%;border:2px solid var(--line);background:var(--surface);font-size:1.4118rem;transition:transform .2s cubic-bezier(.3,1.6,.5,1)}
.emoji-pick button[aria-pressed="true"]{border-color:var(--herb);background:var(--herb-soft);transform:scale(1.1)}
.r-hero{font-size:88px;text-align:center;line-height:1;margin:6px 0 10px;animation:float 4s ease-in-out infinite}
.ing-line{display:flex;align-items:center;gap:10px;padding:9px 0;font-weight:600}
.ing-line+.ing-line{border-top:1px solid var(--line)}
.ing-line .ok{width:24px;height:24px;border-radius:8px;display:grid;place-items:center;font-size:0.7647rem;font-weight:900;flex:none}
.step{display:flex;gap:12px;padding:10px 0}
.step b{flex:none;width:28px;height:28px;border-radius:50%;background:var(--herb);color:var(--herb-ink);display:grid;place-items:center;font-size:0.8235rem}
.switch{width:48px;height:30px;border-radius:999px;background:var(--surface-2);position:relative;border:0;flex:none;transition:background .2s}
.switch::after{content:"";position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.3);transition:transform .25s cubic-bezier(.3,1.6,.5,1)}
.switch[aria-checked="true"]{background:var(--herb)}
.switch[aria-checked="true"]::after{transform:translateX(18px)}
.heart{transition:transform .3s cubic-bezier(.3,1.6,.5,1)}
.heart.on{color:var(--tomato);animation:beat .5s}
@keyframes beat{40%{transform:scale(1.35)}}
.empty{text-align:center;padding:26px 16px;color:var(--muted)}
.empty .g{font-size:42px;margin-bottom:6px;animation:float 4s ease-in-out infinite}
.empty b{display:block;color:var(--fg);font-size:0.9412rem;margin-bottom:4px}
.proto{font-size:0.6471rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);border:1px dashed var(--line);border-radius:10px;padding:6px 10px;text-align:center;margin-top:18px}

#toast{position:absolute;left:50%;bottom:100px;transform:translateX(-50%) translateY(20px);background:var(--fg);color:var(--bg);padding:11px 16px;border-radius:16px;font-weight:800;font-size:0.8235rem;z-index:70;opacity:0;pointer-events:none;transition:opacity .25s,transform .35s cubic-bezier(.3,1.6,.5,1);max-width:88%;text-align:center}
#toast.show{opacity:1;transform:translateX(-50%)}
#fx{position:absolute;inset:0;pointer-events:none;z-index:65}
.spin{display:inline-block;width:18px;height:18px;border:2.5px solid currentColor;border-right-color:transparent;border-radius:50%;animation:rot .8s linear infinite}
@keyframes rot{to{transform:rotate(360deg)}}

@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important}}

/* Anmelde- und Start-Bildschirme */
.center{min-height:100%;display:flex;flex-direction:column;justify-content:center;gap:14px;padding-bottom:30px}
.logo-big{font-family:var(--f-display);font-weight:800;font-size:44px;letter-spacing:-.03em;line-height:.95;text-align:center}
.logo-big span{color:var(--tomato)}
.err{background:var(--tomato-soft);color:var(--tomato);border-radius:14px;padding:10px 14px;font-weight:700;font-size:0.8235rem}
.linkbtn{background:none;border:0;color:var(--herb);font-weight:800;padding:8px;min-height:40px}

/* Mehr-Reiter */
.log{display:flex;gap:12px;padding:12px 0}
.log+.log{border-top:1px solid var(--line)}
.log .v{flex:none;font-family:var(--f-display);font-weight:800;color:var(--herb);min-width:44px}
.log ul{margin:4px 0 0;padding-left:18px;color:var(--muted);font-size:0.8235rem}
details.faq{background:var(--surface);border-radius:16px;box-shadow:var(--shadow);padding:0 14px}
details.faq+details.faq{margin-top:8px}
details.faq summary{cursor:pointer;font-weight:800;padding:14px 0;list-style:none;display:flex;justify-content:space-between;gap:10px}
details.faq summary::after{content:"+";color:var(--muted);font-size:1.1765rem;line-height:1;transition:transform .2s}
details.faq[open] summary::after{transform:rotate(45deg)}
details.faq p{margin:0 0 14px;color:var(--muted);font-size:0.8235rem}
.new-badge{background:var(--tomato);color:#fff;border-radius:6px;font-size:0.6471rem;font-weight:800;padding:2px 6px;letter-spacing:.05em}

/* Beim Aktualisieren nichts neu animieren (kein Springen/Ruckeln) */
.view.still,.view.still *,.sheet.still,.sheet.still *{animation:none!important}

/* ---------- Start-Intro ---------- */
#splash{position:absolute;inset:0;z-index:90;display:grid;place-items:center;overflow:hidden;
  background:radial-gradient(120% 80% at 50% 35%,#3c9a61,#1f5a37);animation:spOut .55s cubic-bezier(.6,0,.4,1) 2.15s forwards}
#splash.gone{display:none}
.sp-glow{position:absolute;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.28),transparent 65%);animation:spGlow 2.4s ease-out both}
.sp-logo{position:relative;display:flex;flex-direction:column;align-items:center;gap:18px}
.sp-icon{width:118px;height:118px;filter:drop-shadow(0 18px 30px rgba(0,0,0,.28));animation:spPop .7s cubic-bezier(.3,1.6,.5,1) .1s both}
.sp-lid{transform-origin:256px 238px;animation:spLid .9s cubic-bezier(.3,1.6,.5,1) .55s both}
.sp-steam path{stroke-dasharray:90;stroke-dashoffset:90;animation:spSteam 1.4s ease-out 1s forwards}
.sp-steam path:nth-child(2){animation-delay:1.12s}.sp-steam path:nth-child(3){animation-delay:1.24s}
.sp-word{font-family:var(--f-display);font-weight:800;font-size:46px;letter-spacing:-.03em;color:#fff;display:flex}
.sp-word span{display:inline-block;animation:spUp .55s cubic-bezier(.3,1.5,.5,1) both}
.sp-word span:nth-child(1){animation-delay:.55s}.sp-word span:nth-child(2){animation-delay:.6s}.sp-word span:nth-child(3){animation-delay:.65s}
.sp-word span:nth-child(4){animation-delay:.72s}.sp-word span:nth-child(5){animation-delay:.77s}.sp-word span:nth-child(6){animation-delay:.82s}
.sp-word span:nth-child(7){animation-delay:.87s}.sp-word span:nth-child(8){animation-delay:.92s}.sp-word span:nth-child(9){animation-delay:.97s}
.sp-word .sp-q{color:#FF8A6E;animation:spQ .8s cubic-bezier(.3,1.8,.5,1) 1.1s both}
.sp-claim{color:rgba(255,255,255,.85);font-weight:700;font-size:0.8824rem;animation:spFade .6s ease 1.35s both}
.sp-food span{position:absolute;font-size:1.7647rem;bottom:-40px;animation:spFloat 2.2s ease-out both}
.sp-food span:nth-child(1){left:12%;animation-delay:.3s}.sp-food span:nth-child(2){left:30%;animation-delay:.55s}.sp-food span:nth-child(3){left:48%;animation-delay:.4s}
.sp-food span:nth-child(4){left:64%;animation-delay:.65s}.sp-food span:nth-child(5){left:80%;animation-delay:.45s}.sp-food span:nth-child(6){left:90%;animation-delay:.75s}
@keyframes spPop{0%{transform:scale(0) rotate(-25deg)}100%{transform:none}}
@keyframes spLid{0%{transform:translateY(-70px) rotate(-18deg);opacity:0}60%{opacity:1}100%{transform:none}}
@keyframes spSteam{to{stroke-dashoffset:0}}
@keyframes spUp{0%{transform:translateY(40px);opacity:0}100%{transform:none;opacity:1}}
@keyframes spQ{0%{transform:scale(0) rotate(-90deg);opacity:0}70%{transform:scale(1.35) rotate(12deg);opacity:1}100%{transform:none}}
@keyframes spFade{from{opacity:0;transform:translateY(8px)}}
@keyframes spGlow{from{transform:scale(.3);opacity:0}}
@keyframes spFloat{0%{transform:translateY(0) rotate(0);opacity:0}25%{opacity:1}100%{transform:translateY(-560px) rotate(200deg);opacity:0}}
@keyframes spOut{to{opacity:0;transform:scale(1.15);visibility:hidden}}

/* ---------- Ablauf ---------- */
.exp{display:inline-block;font-size:0.6471rem;font-weight:800;line-height:1.3;color:var(--yolk-ink);background:var(--yolk-soft);border-radius:6px;padding:1px 5px;margin-left:4px}
.exp.hot{color:var(--tomato-ink);background:var(--tomato-soft)}
.exp.hot::before{content:"⚠︎ "}
.input.date{width:auto;min-height:40px;padding:6px 10px;font-size:0.8235rem}

/* ---------- Abstimmung ---------- */
.opt{position:relative;overflow:hidden;display:flex;align-items:center;gap:10px;width:100%;border:1.5px solid var(--line);background:var(--surface);border-radius:14px;padding:10px 12px;text-align:left;min-height:50px;transition:border-color .2s,transform .15s}
.opt:active{transform:scale(.98)}
.opt>i{position:absolute;left:0;top:0;bottom:0;background:var(--herb-soft);transition:width .5s cubic-bezier(.2,.9,.3,1);z-index:0}
.opt>*:not(i){position:relative;z-index:1}
.opt .oe{font-size:1.2941rem}.opt .on{flex:1;font-weight:700;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.opt.mine,.opt[aria-pressed="true"]{border-color:var(--herb)}
.opt .tick{width:24px;height:24px;border-radius:8px;display:grid;place-items:center;font-weight:900;color:transparent;border:1.5px solid var(--line)}
.opt[aria-pressed="true"] .tick{background:var(--herb);color:var(--herb-ink);border-color:var(--herb)}
.poll-win{display:flex;align-items:center;gap:12px;width:100%;border:0;background:linear-gradient(135deg,var(--yolk-soft),var(--surface))}
.trophy{font-size:40px;animation:float 3s ease-in-out infinite}

/* ---------- Ganze Bildschirmfläche nutzen ---------- */
.view{padding-top:calc(6px + env(safe-area-inset-top,0px));padding-left:max(18px,env(safe-area-inset-left,0px));padding-right:max(18px,env(safe-area-inset-right,0px))}
#tabbar{padding-bottom:calc(8px + env(safe-area-inset-bottom,0px))}
.sheet{padding-bottom:calc(30px + env(safe-area-inset-bottom,0px))}
#toast{bottom:calc(100px + env(safe-area-inset-bottom,0px))}

/* ---------- Kochmodus: Liquid Glass ---------- */
@property --c1{syntax:'<color>';inherits:true;initial-value:#2f8a55}
@property --c2{syntax:'<color>';inherits:true;initial-value:#1d5f7a}
@property --c3{syntax:'<color>';inherits:true;initial-value:#c9a227}
.cook{--ck-fg:#f4f8f5;--ck-muted:rgba(244,248,245,.62);--ck-acc:#7be3a6;--ck-hot:#ffb08f;
  --c1:#2f8a55;--c2:#1d5f7a;--c3:#c9a227;
  position:absolute;inset:0;z-index:60;background:#0b120e;color:var(--ck-fg);overflow:hidden;isolation:isolate;
  display:grid;grid-template-rows:auto 1fr auto;gap:14px;
  padding:calc(12px + env(safe-area-inset-top,0px)) max(20px,env(safe-area-inset-right,0px)) calc(14px + env(safe-area-inset-bottom,0px)) max(20px,env(safe-area-inset-left,0px));
  transition:--c1 1.2s ease,--c2 1.2s ease,--c3 1.2s ease}
.cook.enter{animation:ckIn .6s cubic-bezier(.2,.9,.3,1) both}
@keyframes ckIn{from{opacity:0;transform:scale(1.03)}}
/* Farbe passend zum Arbeitsschritt */
.tone-chop{--c1:#2f9a5a;--c2:#7fbf3a;--c3:#1b6b52}
.tone-fry{--c1:#e0782a;--c2:#c2412b;--c3:#f2b53c}
.tone-bake{--c1:#d1452f;--c2:#e8892e;--c3:#7a2a3a}
.tone-boil{--c1:#1f7fb0;--c2:#2bb3a6;--c3:#3a4fb8}
.tone-stir{--c1:#8a4fd1;--c2:#d14f9a;--c3:#3a7fd1}
.tone-knead{--c1:#c79a55;--c2:#e2c07a;--c3:#8a5a33}
.tone-season{--c1:#5a7184;--c2:#9fb3c2;--c3:#3a4f5f}
.tone-rest{--c1:#3a3fb8;--c2:#6a4fd1;--c3:#1f5f8a}
.tone-serve{--c1:#d9a422;--c2:#2f9a5a;--c3:#e46f4a}
.tone-idle{--c1:#2f8a55;--c2:#1d5f7a;--c3:#c9a227}

/* Leuchtende Farbflächen im Hintergrund – durch das Glas sichtbar */
.ck-aura{position:absolute;inset:-20%;z-index:-1;opacity:.85;pointer-events:none;contain:strict}
.ck-aura i{position:absolute;width:75%;height:80%;border-radius:50%;mix-blend-mode:screen;will-change:transform}
.ck-aura i:nth-child(1){background:radial-gradient(closest-side,var(--c1),color-mix(in srgb,var(--c1) 45%,transparent) 45%,transparent);left:5%;top:10%;animation:aura1 14s ease-in-out infinite}
.ck-aura i:nth-child(2){background:radial-gradient(closest-side,var(--c2),color-mix(in srgb,var(--c2) 45%,transparent) 45%,transparent);right:5%;top:30%;animation:aura2 17s ease-in-out infinite}
.ck-aura i:nth-child(3){background:radial-gradient(closest-side,var(--c3),color-mix(in srgb,var(--c3) 45%,transparent) 45%,transparent);left:30%;bottom:0;width:40%;height:45%;opacity:.7;animation:aura3 20s ease-in-out infinite}
@keyframes aura1{50%{transform:translate(18%,12%) scale(1.15)}}
@keyframes aura2{50%{transform:translate(-20%,-10%) scale(.9)}}
@keyframes aura3{50%{transform:translate(12%,-18%) scale(1.2)}}
.cook::after{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(120% 90% at 50% 120%,rgba(0,0,0,.55),transparent 60%);pointer-events:none}

/* Glas */
.cook .glass{position:relative;background:linear-gradient(140deg,rgba(255,255,255,.17),rgba(255,255,255,.05) 55%,rgba(255,255,255,.09));
  -webkit-backdrop-filter:blur(24px) saturate(1.9);backdrop-filter:blur(24px) saturate(1.9);
  border:1px solid rgba(255,255,255,.2);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.45),inset 0 -1px 0 rgba(255,255,255,.08),inset 0 0 22px rgba(255,255,255,.05),0 12px 34px rgba(0,0,0,.28)}
.cook .glass::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  background:radial-gradient(80% 60% at 18% 0%,rgba(255,255,255,.28),transparent 55%)}
.cook button.glass{transition:transform .25s cubic-bezier(.3,1.6,.5,1),background .25s,box-shadow .25s}
.cook button.glass:active{transform:scale(.95)}

/* Kopfzeile */
.ck-top{display:flex;align-items:center;gap:14px;padding:8px 18px 8px 8px;border-radius:26px}
.ck-icon{width:42px;height:42px;border-radius:50%;border:0;background:rgba(255,255,255,.12);color:var(--ck-fg);display:grid;place-items:center;flex:none;transition:background .2s}
.ck-icon:active{background:rgba(255,255,255,.25)}
.ck-icon svg{width:18px;height:18px}
.ck-title{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.2}
.ck-title b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:0.8824rem;font-weight:700}
.ck-title span{font-size:0.7059rem;color:var(--ck-muted);font-variant-numeric:tabular-nums}
.ck-clock{font-family:var(--f-display);font-weight:300;font-size:38px;letter-spacing:-.03em;line-height:1;font-variant-numeric:tabular-nums}
.ck-timer{display:inline-flex;align-items:center;gap:8px;font-family:var(--f-display);font-weight:600;font-size:1rem;font-variant-numeric:tabular-nums;
  padding:7px 13px;border-radius:999px;background:rgba(255,176,143,.22);border:1px solid rgba(255,176,143,.4);color:#fff}
.ck-timer i{width:8px;height:8px;border-radius:50%;background:var(--ck-hot);animation:tick 1s ease-in-out infinite}
@keyframes tick{50%{opacity:.25;transform:scale(.7)}}
.ck-bar{position:absolute;left:22px;right:22px;bottom:-1px;height:2px;border-radius:2px;background:rgba(255,255,255,.12);overflow:hidden}
.ck-bar i{display:block;height:100%;border-radius:2px;background:linear-gradient(90deg,var(--ck-acc),#fff);box-shadow:0 0 12px var(--ck-acc);transition:width .7s cubic-bezier(.2,.9,.3,1)}

/* Schritt */
.ck-main{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:clamp(18px,4vw,40px);min-height:0;grid-area:2/1}
.ck-main.out{pointer-events:none;animation:stepOut .4s cubic-bezier(.4,0,.6,1) forwards}
.ck-main.out.back{animation-name:stepOutBack}
.ck-main.in .ck-orb{animation:orbIn .7s cubic-bezier(.3,1.4,.5,1) both}
.ck-main.in .ck-copy>*{animation:copyIn .6s cubic-bezier(.2,.9,.3,1) both}
.ck-main.in .ck-copy>*:nth-child(2){animation-delay:.07s}
.ck-main.in .ck-copy>*:nth-child(3){animation-delay:.14s}
.ck-main.in.back .ck-copy>*{animation-name:copyInBack}
@keyframes stepOut{to{opacity:0;transform:translateX(-60px) scale(.98)}}
@keyframes stepOutBack{to{opacity:0;transform:translateX(60px) scale(.98)}}
@keyframes orbIn{from{opacity:0;transform:scale(.7) rotate(-8deg)}}
@keyframes copyIn{from{opacity:0;transform:translateX(40px);filter:blur(8px)}}
@keyframes copyInBack{from{opacity:0;transform:translateX(-40px);filter:blur(8px)}}
.ck-orb{width:clamp(150px,30vh,200px);aspect-ratio:1;border-radius:50%;display:grid;place-items:center}
.ck-orb::after{content:"";position:absolute;inset:-14px;border-radius:50%;border:1px solid rgba(255,255,255,.12);animation:ring 3.2s ease-in-out infinite}
@keyframes ring{50%{transform:scale(1.05);opacity:.4}}
.ck-copy{min-width:0}
.ck-kicker{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.ck-pill{font-size:0.6471rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;padding:5px 10px;border-radius:999px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.2)}
.ck-count{font-size:0.7647rem;color:var(--ck-muted);font-variant-numeric:tabular-nums}
.ck-text{margin:0;font-family:var(--f-display);font-weight:500;font-size:clamp(21px,3.3vw,32px);line-height:1.25;letter-spacing:-.01em;text-wrap:balance}
.framed .ck-text{font-size:1.5294rem}
.ck-tbtn{margin-top:18px;display:inline-flex;align-items:center;gap:10px;border-radius:999px;padding:11px 18px;min-height:46px;color:#fff;font-weight:700;font-size:0.8824rem}
.ck-tdot{width:9px;height:9px;border-radius:50%;background:var(--ck-hot);box-shadow:0 0 10px var(--ck-hot)}

/* Navigation */
.ck-nav{display:grid;grid-template-columns:auto 1fr;gap:12px}
.ck-prev,.ck-next{border-radius:26px;min-height:64px;color:#fff;font-family:var(--f-display);font-size:1.2353rem;font-weight:600;display:flex;align-items:center;justify-content:center;gap:10px}
.ck-prev{padding:0 22px;font-size:1.7647rem;font-weight:300}
.ck-prev span{font-size:0.9412rem;font-weight:600}
.ck-prev:disabled{opacity:.3}
.cook .ck-next.tint{background:linear-gradient(140deg,rgba(123,227,166,.55),rgba(123,227,166,.22));border-color:rgba(190,255,215,.45)}
.cook .ck-next.gold{background:linear-gradient(140deg,rgba(255,210,110,.6),rgba(255,160,90,.3));border-color:rgba(255,230,170,.5)}
.ck-arrow{font-size:1.7647rem;font-weight:300;line-height:0;transition:transform .3s}
.ck-next:hover .ck-arrow{transform:translateX(4px)}

/* Szenen im Glas */
.scene{display:grid;place-items:center}
.sc-stage{position:relative;width:170px;height:170px;display:grid;place-items:center;transform:scale(.9)}
.sc-main{font-size:76px;position:relative;z-index:2;filter:drop-shadow(0 12px 18px rgba(0,0,0,.35))}
.sc-board{opacity:.75}
.sc-ing{position:absolute;font-size:1.7647rem;left:calc(50% - 15px + var(--x));top:-10px;z-index:3;animation:ingDrop 1.6s cubic-bezier(.3,1.4,.5,1) var(--d) infinite}
@keyframes ingDrop{0%{transform:translateY(-30px);opacity:0}25%{opacity:1}55%{transform:translateY(70px)}80%{opacity:1}100%{transform:translateY(80px) scale(.6);opacity:0}}
.sc-chop .sc-main{animation:chop .5s ease-in-out infinite;transform-origin:80% 80%}
@keyframes chop{50%{transform:rotate(-28deg) translateY(-6px)}}
.sc-board{position:absolute;bottom:34px;width:110px;height:16px;border-radius:8px;background:#8a5a33}
.sc-fry .sc-main{animation:shake .25s linear infinite}
@keyframes shake{25%{transform:translate(-2px,1px) rotate(-2deg)}75%{transform:translate(2px,-1px) rotate(2deg)}}
.sc-sizzle i,.sc-bubbles i,.sc-heat i,.sc-grains i{position:absolute;display:block}
.sc-sizzle i{width:4px;height:14px;border-radius:4px;background:#ffd36e;top:40px;animation:spark .7s ease-out infinite}
.sc-sizzle i:nth-child(1){left:50px}.sc-sizzle i:nth-child(2){left:75px;animation-delay:.2s}.sc-sizzle i:nth-child(3){left:100px;animation-delay:.4s}.sc-sizzle i:nth-child(4){left:120px;animation-delay:.1s}
@keyframes spark{from{transform:translateY(0);opacity:1}to{transform:translateY(-36px) rotate(25deg);opacity:0}}
.sc-boil .sc-main{animation:bob 1.6s ease-in-out infinite}
@keyframes bob{50%{transform:translateY(-6px)}}
.sc-bubbles i{width:12px;height:12px;border-radius:50%;border:2px solid rgba(255,255,255,.7);top:52px;animation:bubble 1.8s ease-in infinite}
.sc-bubbles i:nth-child(1){left:58px}.sc-bubbles i:nth-child(2){left:78px;animation-delay:.4s}.sc-bubbles i:nth-child(3){left:96px;animation-delay:.8s}.sc-bubbles i:nth-child(4){left:112px;animation-delay:1.1s}.sc-bubbles i:nth-child(5){left:68px;animation-delay:1.4s}
@keyframes bubble{from{transform:translateY(0) scale(.6);opacity:0}30%{opacity:1}to{transform:translateY(-50px) scale(1.2);opacity:0}}
.sc-bake .sc-stage{background:radial-gradient(circle,rgba(255,138,110,.35),rgba(255,138,110,.05) 70%);animation:glowO 1.8s ease-in-out infinite}
@keyframes glowO{50%{box-shadow:0 0 40px rgba(255,138,110,.45)}}
.sc-heat i{width:6px;height:40px;border-radius:6px;background:linear-gradient(transparent,rgba(255,200,150,.8),transparent);top:10px;animation:heat 1.4s ease-in-out infinite}
.sc-heat i:nth-child(1){left:60px}.sc-heat i:nth-child(2){left:82px;animation-delay:.3s}.sc-heat i:nth-child(3){left:104px;animation-delay:.6s}
@keyframes heat{50%{transform:translateY(-12px) skewX(12deg);opacity:.4}}
.sc-stir .sc-main{animation:stir 1.4s linear infinite}
@keyframes stir{0%{transform:rotate(0) translateX(14px) rotate(0)}100%{transform:rotate(360deg) translateX(14px) rotate(-360deg)}}
.sc-swirl{position:absolute;inset:30px;border-radius:50%;border:3px dashed rgba(255,255,255,.25);animation:rot 3s linear infinite}
.sc-knead .sc-main{animation:squish 1s ease-in-out infinite}
@keyframes squish{50%{transform:scale(1.18,.82)}}
.sc-season .sc-main{animation:salt .6s ease-in-out infinite;transform-origin:50% 0}
@keyframes salt{50%{transform:rotate(25deg)}}
.sc-grains i{width:4px;height:4px;border-radius:50%;background:#fff;top:110px;animation:grain 1s ease-in infinite}
.sc-grains i:nth-child(1){left:70px}.sc-grains i:nth-child(2){left:82px;animation-delay:.15s}.sc-grains i:nth-child(3){left:94px;animation-delay:.3s}.sc-grains i:nth-child(4){left:76px;animation-delay:.45s}.sc-grains i:nth-child(5){left:88px;animation-delay:.6s}.sc-grains i:nth-child(6){left:100px;animation-delay:.75s}
@keyframes grain{from{transform:translateY(0);opacity:1}to{transform:translateY(40px);opacity:0}}
.sc-rest .sc-main{animation:flip 2s ease-in-out infinite}
@keyframes flip{0%,40%{transform:rotate(0)}60%,100%{transform:rotate(180deg)}}
.sc-serve .sc-main{animation:bob 2s ease-in-out infinite}
.sc-sparkle i{position:absolute;font-style:normal;font-size:1.1765rem;animation:twinkle 1.6s ease-in-out infinite}
.sc-sparkle i:nth-child(1){left:20px;top:30px}.sc-sparkle i:nth-child(2){right:20px;top:50px;animation-delay:.5s}.sc-sparkle i:nth-child(3){left:60px;bottom:20px;animation-delay:1s}
@keyframes twinkle{0%,100%{transform:scale(.4);opacity:0}50%{transform:scale(1.2);opacity:1}}
.sc-idle .sc-main{animation:bob 2.4s ease-in-out infinite}
.sc-bake .sc-stage{background:none;animation:none}

/* Handy drehen */
.rotate{display:none}
@media (orientation:portrait) and (pointer:coarse){
  .cook:not(.force) .rotate{display:flex;position:absolute;inset:0;z-index:5;background:#0b120e;align-items:center;justify-content:center;padding:30px;isolation:isolate}
}
.rot-card{display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center;padding:30px 24px;border-radius:32px;max-width:320px}
.rot-card b{font-family:var(--f-display);font-size:1.4118rem;font-weight:700}
.rot-card p{color:var(--ck-muted);margin:0}
.rot-card .linkbtn{color:var(--ck-muted);font-size:0.7647rem;margin-top:8px}
.rot-phone{width:62px;height:106px;border:3px solid rgba(255,255,255,.85);border-radius:16px;position:relative;animation:rotPhone 2.4s cubic-bezier(.5,0,.3,1) infinite;box-shadow:0 0 30px rgba(123,227,166,.35)}
.rot-phone span{position:absolute;bottom:7px;left:50%;width:16px;height:3px;margin-left:-8px;border-radius:3px;background:rgba(255,255,255,.85)}
@keyframes rotPhone{0%,20%{transform:rotate(0)}55%,80%{transform:rotate(-90deg)}100%{transform:rotate(0)}}
/* Hochformat (wenn erzwungen): untereinander */
@media (orientation:portrait){
  .cook.force .ck-main{grid-template-columns:1fr;justify-items:center;text-align:center;align-content:center}
  .cook.force .ck-kicker{justify-content:center}
  .cook.force .ck-orb{width:150px}
  .cook.force .ck-clock{font-size:1.6471rem}
}
@media (prefers-reduced-motion: reduce){ .ck-aura i,.ck-orb::after{animation:none} }


/* Simulator am Computer: Handy dreht sich ins Querformat */
.framed #phone{transition:width .6s cubic-bezier(.5,0,.3,1),height .6s cubic-bezier(.5,0,.3,1)}
.framed #phoneWrap{transition:width .6s cubic-bezier(.5,0,.3,1),height .6s cubic-bezier(.5,0,.3,1)}
.framed.cooking #phone{width:874px;height:420px}
.framed.cooking #side{display:none}
.framed.cooking #statusbar{display:none}
.framed.cooking #island{top:50%;left:12px;transform:translateY(-50%);width:36px;height:124px}
.framed.cooking .cook{padding-left:62px;padding-top:16px}
.framed.cooking .b1,.framed.cooking .b2,.framed.cooking .b3,.framed.cooking .b4{display:none}

/* ---------- Was gibt's? Plus ---------- */
.plus-widget{display:flex;align-items:center;gap:10px;margin-top:22px;padding:10px 8px 10px 14px;border-radius:18px;background:linear-gradient(135deg,var(--yolk-soft),var(--surface));border:1px solid var(--line)}
.pw-ic{font-size:1.2941rem}
.pw-main{flex:1;border:0;background:none;text-align:left;padding:0;display:flex;flex-direction:column;min-width:0}
.pw-main small{color:var(--muted);font-size:0.7353rem}
.pw-x{width:36px;height:36px;border-radius:12px;border:0;background:var(--surface-2);color:var(--muted);font-weight:800;flex:none}
.plus-head{position:relative;margin:-10px -18px 0;padding:26px 22px 22px;border-radius:30px 30px 0 0;background:linear-gradient(140deg,#2F7A4C,#1f5a37 60%,#3a2a10);color:#fff}
.plus-head p{margin:6px 0 0;opacity:.85}
.plus-x{position:absolute;top:14px;right:14px;width:44px;height:44px;border-radius:50%;border:0;background:rgba(255,255,255,.18);color:#fff;font-size:1.0588rem;font-weight:800}
.plus-badge{display:inline-block;font-size:0.7059rem;font-weight:800;letter-spacing:.12em;background:rgba(255,255,255,.18);padding:4px 10px;border-radius:999px;margin-bottom:10px}
.perk-row{display:flex;gap:12px;align-items:center;font-weight:700;background:var(--surface);border-radius:14px;padding:12px 14px;box-shadow:var(--shadow)}
.perk-row span{font-size:1.2941rem}
.plus-prices{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0 8px}
.plus-prices div{border:1.5px solid var(--line);border-radius:16px;padding:12px;text-align:center;background:var(--surface)}
.plus-prices b{display:block;font-family:var(--f-display);font-size:1.2941rem}
.plus-prices small{color:var(--muted);font-size:0.7059rem}
.plus-prices .best{border-color:var(--herb);background:var(--herb-soft)}
.sheet:has(.plus-head) .grabber{display:none}

/* ---------- 1.6: Ankündigung, Push-Hilfe ---------- */
.banner.ann{background:var(--herb-soft, var(--yolk-soft));animation:rise .5s both;margin-bottom:6px}
.icon-btn.sm{width:32px;height:32px;border-radius:10px;background:transparent}
.icon-btn.sm svg{width:16px;height:16px}
.steps{margin:0;padding-left:22px;display:grid;gap:10px;line-height:1.45}

/* ---------- 1.8: etwas ruhiger und minimalistischer ---------- */
:root{ --shadow:0 1px 2px rgba(22,32,26,.05) }
.card,.rc{box-shadow:none;border:1px solid var(--line)}
.rc .em{background:var(--surface-2);width:50px;height:50px;font-size:1.5294rem;border-radius:14px}
.banner{animation:rise .4s both;border:1px solid transparent}
.pick{background:var(--herb);box-shadow:none}
.pick .big{animation:none;font-size:80px;filter:none;opacity:.95}
.pick .name{font-size:1.4118rem}
.photo-card{background:var(--surface);color:var(--fg);border:1px solid var(--line);box-shadow:none}
.photo-card .cam{background:var(--tomato-soft);color:var(--tomato);animation:none}
.photo-card small,.photo-card p{color:var(--muted)}
.h2{letter-spacing:.06em;margin:20px 0 9px}
.seg button[aria-pressed="true"]{box-shadow:0 1px 2px rgba(0,0,0,.08)}
.btn:active{transform:scale(.98)}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .pick{background:#1E5A38}}
:root[data-theme="dark"] .pick{background:#1E5A38}

/* ---------- Oberer Rand: Inhalt läuft sauber unter Uhrzeit und Dynamic Island durch ---------- */
#topfade{position:absolute;left:0;right:0;top:0;height:env(safe-area-inset-top,0px);z-index:30;pointer-events:none;
  background:color-mix(in srgb,var(--bg) 78%,transparent);-webkit-backdrop-filter:blur(14px) saturate(1.4);backdrop-filter:blur(14px) saturate(1.4);
  opacity:0;transition:opacity .25s}
#topfade.on{opacity:1}
.framed #topfade{display:none}
.cooking #topfade{display:none}

/* ---------- 1.8.2: wirklich der ganze Bildschirm, auch hinter Statusleiste und Dynamic Island ---------- */
html:not(.framed) #stage{position:fixed;inset:0;height:auto}
html:not(.framed),html:not(.framed) body{background:var(--bg)}
/* Intro: oben exakt dieselbe Farbe wie die Statusleiste, kein Streifen */
#splash{background:radial-gradient(85% 42% at 50% 48%,#3c9a61,#1f5a37)}
html:not(.framed) #splash{position:fixed}
@keyframes spOut{to{opacity:0;transform:scale(1.04);visibility:hidden}}
.sp-food{position:absolute;inset:0;pointer-events:none}

/* Kochmodus: Feinschliff */
.ck-timer[hidden]{display:none}
.ck-aura{opacity:.72}
.ck-orb{background:linear-gradient(140deg,rgba(255,255,255,.16),rgba(0,0,0,.12) 60%,rgba(255,255,255,.06))!important}
.cook .ck-next.tint{background:linear-gradient(140deg,rgba(255,255,255,.34),rgba(255,255,255,.12));border-color:rgba(255,255,255,.4);font-weight:700}
.ck-main.out{animation-duration:.28s}
.ck-main.in .ck-orb{animation-delay:.08s}
.ck-orb{--orb:clamp(130px,34vh,200px);width:var(--orb);height:var(--orb);min-height:0;overflow:visible}
.ck-orb .scene{position:absolute;inset:0;overflow:hidden;border-radius:50%}
.ck-orb .sc-stage{transform:scale(calc(var(--orb) / 200px * .9))}
@supports not (transform:scale(calc(1px / 1px))){ .ck-orb .sc-stage{transform:scale(.8)} }
.cook .ck-next.tint.gold{background:linear-gradient(140deg,rgba(255,214,120,.62),rgba(255,160,90,.3));border-color:rgba(255,232,175,.55)}
/* Glas-Kreis: feste, runde Größe je nach Bildschirm */
.ck-orb{--orb:200px;--s:.95;width:var(--orb)!important;height:var(--orb)!important;aspect-ratio:auto}
.ck-orb .sc-stage{position:absolute;left:50%;top:50%;width:170px;height:170px;margin:-85px 0 0 -85px;transform:scale(var(--s))}
@media (max-height:520px){ .ck-orb{--orb:140px;--s:.66} .ck-text{font-size:clamp(19px,3vw,26px)} }
@media (orientation:portrait){ .cook.force .ck-orb{--orb:170px;--s:.8} }
.cook .ck-next.tint.gold{background:linear-gradient(140deg,rgba(255,214,120,.78),rgba(255,170,95,.42))}

/* ---------- 2.0: Einkaufsliste, Wochenplan, Fotos, aufgeräumte Startseite ---------- */
.seg-n{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--surface-2);font-size:0.6471rem;margin-left:4px;color:var(--muted)}
.seg button[aria-pressed="true"] .seg-n{background:var(--herb-soft);color:var(--herb)}
.seg-n.hot{background:var(--tomato);color:#fff!important}
.seg.mini{flex:none}
.seg.mini button{min-height:34px;padding:6px 11px;font-size:0.7647rem}

/* Startseite: alle Filter in einer kompakten Karte */
.filters{padding:12px;display:grid;gap:10px;margin-top:4px}
.who.sm{gap:6px;padding:0;flex-wrap:nowrap}
.who.sm button{flex-direction:row;width:auto;gap:6px;padding:4px 10px 4px 4px;border-radius:999px;background:var(--surface-2);font-size:0.7647rem;transition:background .2s,color .2s}
.who.sm button[aria-pressed="true"]{background:var(--herb-soft);color:var(--herb)}
.who.sm .avatar{width:28px;height:28px;font-size:0.9412rem;box-shadow:none!important;transform:none!important}
.frow{display:flex;gap:8px;justify-content:space-between}
.frow .seg.mini{flex:1}
.frow .seg.mini button{flex:1}

/* Kühlschrank */
.fbar{display:flex;gap:8px;align-items:center;margin-top:14px}
.fbar .input{flex:1;min-width:0;min-height:42px}

/* Einkaufsliste */
.shop-add{display:flex;gap:8px}
.shop-add .input{flex:1;min-width:0}
.shop-add .btn{width:52px;padding:0;font-size:1.4118rem}
.list-card{padding:4px 6px}
.shop-row{display:flex;align-items:center;gap:10px;padding:8px 6px;min-height:52px}
.shop-row+.shop-row{border-top:1px solid var(--line)}
.shop-row .grow{flex:1;min-width:0;font-weight:700}
.shop-row .tick{width:30px;height:30px;border-radius:50%;border:2px solid var(--line);background:none;color:transparent;font-weight:900;display:grid;place-items:center;flex:none;transition:background .2s,border-color .2s,transform .25s cubic-bezier(.3,1.6,.5,1)}
.shop-row .tick[aria-pressed="true"]{background:var(--herb);border-color:var(--herb);color:#fff;transform:scale(1.05)}
.shop-row.done .grow{text-decoration:line-through;color:var(--muted);font-weight:600}
.shop-row .x{width:34px;height:34px;border:0;background:none;color:var(--muted);display:grid;place-items:center;border-radius:10px;flex:none}
.shop-row .x svg{width:16px;height:16px}
.banner.soft{background:var(--herb-soft);margin:12px 0}

/* Wochenplan */
.week{display:grid;gap:8px}
.week-row{display:grid;grid-template-columns:62px 1fr;gap:10px;align-items:center}
.wd{display:flex;flex-direction:column;line-height:1.15}
.wd b{font-size:0.8235rem}
.wd small{color:var(--muted);font-size:0.7059rem}
.week-row.today .wd b{color:var(--herb)}
.week-row .rc{padding:8px}
.week-empty{border:1.5px dashed var(--line);background:none;border-radius:20px;min-height:66px;color:var(--muted);font-weight:700;font-size:0.8235rem}
.week-actions{display:flex;gap:8px;margin-top:14px;flex-wrap:wrap}
.week-actions .btn{flex:1;min-width:150px}

/* Fotos */
.rc .em.ph{padding:0;overflow:hidden;background:var(--surface-2)}
.rc .em.ph img,.pick .big.ph img{width:100%;height:100%;object-fit:cover;display:block;animation:fade .4s both}
.pick .big.ph{right:14px;top:14px;width:104px;height:104px;border-radius:24px;overflow:hidden;font-size:0;box-shadow:0 8px 20px rgba(0,0,0,.25);border:2px solid rgba(255,255,255,.25)}
.pick.planned{background:color-mix(in srgb,var(--herb) 70%,#0b2a18)}
.r-photo{margin:0 -18px 14px;position:relative;aspect-ratio:16/10;max-height:260px;overflow:hidden;border-radius:0 0 26px 26px;margin-top:-6px}
.r-photo img{width:100%;height:100%;object-fit:cover;display:block;animation:fade .5s both}
.r-photo figcaption{position:absolute;right:8px;bottom:8px;max-width:80%}
.r-photo figcaption a{display:block;font-size:0.6471rem;font-weight:600;color:#fff;background:rgba(0,0,0,.45);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:3px 8px;border-radius:999px;text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* Kochmodus: Sprachsteuerung */
.ck-tool{background:rgba(255,255,255,.1)}
.ck-tool[aria-pressed="true"]{background:rgba(123,227,166,.35);box-shadow:0 0 0 1px rgba(190,255,215,.5),0 0 18px rgba(123,227,166,.45)}
#ckMic[aria-pressed="true"]{animation:micPulse 1.6s ease-in-out infinite}
@keyframes micPulse{50%{box-shadow:0 0 0 6px rgba(123,227,166,.12),0 0 22px rgba(123,227,166,.5)}}
.ck-voice{position:absolute;left:50%;bottom:calc(92px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);display:flex;align-items:center;gap:10px;padding:8px 16px;border-radius:999px;font-size:0.8235rem;font-weight:600;white-space:nowrap;max-width:calc(100% - 40px);overflow:hidden;text-overflow:ellipsis;animation:fade .3s both;z-index:3}
.ck-voice[hidden]{display:none}
.ck-mic-dot{width:9px;height:9px;border-radius:50%;background:#7be3a6;box-shadow:0 0 10px #7be3a6;animation:tick 1.2s ease-in-out infinite;flex:none}
@media (max-height:520px){ .ck-voice{bottom:calc(84px + env(safe-area-inset-bottom,0px));font-size:0.7647rem} }
.week-row{grid-template-columns:58px minmax(0,1fr)}
.week-row .rc{min-width:0}

/* ---------- 2.1: Plus sichtbarer ---------- */
.plus-widget.big{position:relative;overflow:hidden;background:linear-gradient(135deg,#2F7A4C,#1f5a37 55%,#b8862b);color:#fff;border:0;padding:14px 10px 14px 16px}
.plus-widget.big .pw-main small{color:rgba(255,255,255,.85)}
.plus-widget.big .pw-x{background:rgba(255,255,255,.16);color:#fff}
.pw-cta{margin-top:6px;font-weight:800;font-size:0.7647rem;color:#ffe08a}
.pw-glow{position:absolute;width:160px;height:160px;right:-40px;top:-60px;border-radius:50%;background:radial-gradient(circle,rgba(255,224,138,.45),transparent 65%);animation:pwGlow 4s ease-in-out infinite;pointer-events:none}
@keyframes pwGlow{50%{transform:translate(-20px,20px) scale(1.15)}}
.plus-widget.big .pw-ic{font-size:1.5294rem;animation:pwSpin 6s ease-in-out infinite}
@keyframes pwSpin{0%,80%,100%{transform:none}88%{transform:rotate(20deg) scale(1.2)}}
.plus-hint{display:flex;align-items:center;gap:8px;margin:14px 0;padding:6px 6px 6px 12px;border-radius:18px;background:linear-gradient(135deg,var(--yolk-soft),var(--surface));border:1px solid color-mix(in srgb,var(--yolk) 35%,transparent)}
.ph-main{flex:1;min-width:0;display:flex;align-items:center;gap:10px;border:0;background:none;text-align:left;padding:4px 0}
.ph-main .grow{flex:1;min-width:0;display:flex;flex-direction:column}
.ph-main b{font-size:0.8235rem}
.ph-main small{color:var(--muted);font-size:0.7059rem;line-height:1.3}
.ph-ic{font-size:1.2941rem;flex:none}
.ph-tag{font-size:0.6471rem;font-weight:900;letter-spacing:.1em;padding:3px 7px;border-radius:999px;background:linear-gradient(135deg,#e2a010,#d9482f);color:#fff;flex:none}
.plus-card{position:relative;overflow:hidden;display:flex;flex-direction:column;gap:6px;width:100%;text-align:left;border:0;border-radius:24px;padding:18px;margin:2px 0 6px;color:#fff;
  background:linear-gradient(140deg,#2F7A4C,#1f5a37 55%,#b8862b)}
.plus-card b{font-family:var(--f-display);font-size:1.2941rem;letter-spacing:-.02em}
.plus-card span{color:rgba(255,255,255,.88);font-size:0.8235rem}
.plus-card .plus-badge{align-self:flex-start;color:#fff}
.plus-card .pc-cta{margin-top:6px;font-weight:800;color:#fff;text-decoration:underline;text-underline-offset:3px}
.pc-glow{position:absolute;width:220px;height:220px;right:-60px;top:-80px;border-radius:50%;background:radial-gradient(circle,rgba(255,224,138,.5),transparent 65%);animation:pwGlow 5s ease-in-out infinite;pointer-events:none}

/* Oberer Rand: dieselbe Farbe wie die ganze App (kein eigener Streifen) */
:root{--band:var(--bg)}
#topfade{background:var(--bg);-webkit-backdrop-filter:none;backdrop-filter:none}

/* ---------- 2.2: Haltbarkeit per Foto ---------- */
.exp-photo{position:relative;border-radius:22px;overflow:hidden;background:#000;aspect-ratio:4/3;max-height:300px}
.exp-photo img{width:100%;height:100%;object-fit:cover;display:block}
.exp-photo.sm{aspect-ratio:auto;height:150px}
.exp-scanline{position:absolute;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent,#7be3a6,transparent);box-shadow:0 0 18px #7be3a6;animation:scanY 1.6s ease-in-out infinite}
@keyframes scanY{0%{top:8%}50%{top:88%}100%{top:8%}}
.exp-raw{position:absolute;left:10px;bottom:10px;background:rgba(0,0,0,.6);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;font-weight:700;font-size:0.7647rem;padding:5px 10px;border-radius:999px}
.exp-prod{display:flex;align-items:center;gap:12px;padding:12px;border-radius:18px;background:var(--surface);border:1px solid var(--line)}
.exp-prod .grow{flex:1;min-width:0;display:flex;flex-direction:column}
.exp-prod b{font-size:1rem}
.exp-prod small{color:var(--muted);font-size:0.7059rem}
.exp-em{font-size:2rem;width:52px;height:52px;display:grid;place-items:center;border-radius:14px;background:var(--surface-2);flex:none}
.exp-store{display:flex;align-items:center;gap:12px;margin-top:8px;padding:10px 14px;border-radius:16px;background:var(--herb-soft);animation:rise .4s both}
.exp-store>span:first-child{font-size:1.4118rem}
.exp-store>span:last-child{display:flex;flex-direction:column}
.exp-store small{color:var(--muted);font-size:0.7059rem}
.exp-left{margin-top:8px;font-weight:700;font-size:0.8235rem;color:var(--herb)}
.exp-left.warn{color:#a86f00}
.exp-left.bad{color:var(--tomato)}

/* ---------- 2.3: Kochschritte werden vorbereitet ---------- */
.ck-prep{align-self:center;justify-self:center;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;padding:26px 28px;border-radius:30px;max-width:420px;grid-row:2;animation:orbIn .6s cubic-bezier(.3,1.4,.5,1) both}
.ck-prep b{font-family:var(--f-display);font-size:1.1765rem;font-weight:600}
.ck-prep span{color:var(--ck-muted);font-size:0.8235rem}
.ck-prep-ic{font-size:46px;animation:bob 2s ease-in-out infinite}
.ck-dots{display:flex;gap:6px;margin-top:6px}
.ck-dots i{width:8px;height:8px;border-radius:50%;background:#fff;opacity:.4;animation:dotUp 1.2s ease-in-out infinite}
.ck-dots i:nth-child(2){animation-delay:.15s}.ck-dots i:nth-child(3){animation-delay:.3s}
@keyframes dotUp{50%{opacity:1;transform:translateY(-6px)}}
.ck-pill.heat{background:rgba(255,160,110,.25);border-color:rgba(255,190,150,.45);letter-spacing:.02em;text-transform:none;font-size:0.7059rem}

/* =====================================================================
   Halloween-Look (24. Oktober – 2. November, abschaltbar)
   ===================================================================== */
:root.halloween{
  --bg:#F7F3EE; --surface:#FFFFFF; --surface-2:#EFE7DD; --line:#E6DBCE; --muted:#6E6258;
  --herb:#D2601A; --herb-ink:#FFFFFF; --herb-soft:#FBE3D0;
  --hw-night:#2A1638; --hw-night-2:#160B1F; --hw-glow:#FF9A4D;
}
@media (prefers-color-scheme: dark){
  :root.halloween:not([data-theme="light"]){
    --bg:#110C14; --surface:#1B1420; --surface-2:#251C2C; --fg:#F2EAF1; --muted:#A795AC; --line:#33273B;
    --herb:#FF8F3F; --herb-ink:#1C0D03; --herb-soft:#3A2012;
  }
}
:root.halloween[data-theme="dark"]{
  --bg:#110C14; --surface:#1B1420; --surface-2:#251C2C; --fg:#F2EAF1; --muted:#A795AC; --line:#33273B;
  --herb:#FF8F3F; --herb-ink:#1C0D03; --herb-soft:#3A2012;
}
/* Vorschlagskarte als Nachthimmel mit Kürbis-Leuchten */
:root.halloween .pick,:root.halloween[data-theme="dark"] .pick,:root.halloween .pick.planned{background:
  radial-gradient(90% 70% at 100% 0%, rgba(255,154,77,.55), transparent 60%),
  radial-gradient(60% 50% at 0% 100%, rgba(140,70,190,.35), transparent 70%),
  linear-gradient(155deg, var(--hw-night), var(--hw-night-2));
  box-shadow:0 16px 34px rgba(42,22,56,.35)}
.halloween .pick .meta .chip{background:rgba(255,255,255,.14)}
.halloween .pick::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.5;
  background:radial-gradient(1.5px 1.5px at 18% 22%,#fff,transparent),radial-gradient(1px 1px at 42% 12%,#fff,transparent),
  radial-gradient(1.2px 1.2px at 63% 30%,#fff,transparent),radial-gradient(1px 1px at 30% 70%,#fff,transparent),radial-gradient(1.3px 1.3px at 80% 80%,#fff,transparent)}

/* Halloween-Special-Karte */
.hw-card{position:relative;overflow:hidden;border-radius:24px;margin:0 0 12px;color:#fff;isolation:isolate;
  background:radial-gradient(120% 90% at 85% 10%, rgba(255,154,77,.38), transparent 55%), linear-gradient(150deg,#3B1E4E,#1A0D24);
  box-shadow:0 12px 28px rgba(42,22,56,.28);animation:heroIn .6s cubic-bezier(.2,.9,.3,1) both}
.hw-main{display:flex;flex-direction:column;gap:3px;width:100%;text-align:left;background:none;border:0;color:inherit;padding:16px 110px 16px 18px;font:inherit;cursor:pointer}
.hw-main b{font-family:var(--f-display);font-weight:800;font-size:1.1176rem;line-height:1.15}
.hw-main span{font-size:0.7647rem;opacity:.8;font-weight:600}
.hw-main .hw-kicker{font-size:0.6471rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--hw-glow);opacity:1}
.hw-main .hw-cta{margin-top:8px;align-self:flex-start;background:var(--hw-glow);color:#2A1206;opacity:1;font-weight:800;border-radius:999px;padding:6px 12px}
.hw-x{position:absolute;top:10px;right:10px;width:28px;height:28px;border-radius:50%;border:0;background:rgba(255,255,255,.14);color:#fff;font-size:0.7059rem;z-index:3}
.hw-pump{position:absolute;right:14px;bottom:-6px;font-size:72px;z-index:1;filter:drop-shadow(0 0 22px rgba(255,140,50,.65));animation:hwGlow 3.2s ease-in-out infinite}
.hw-moon{position:absolute;right:58px;top:-28px;width:92px;height:92px;border-radius:50%;z-index:0;
  background:radial-gradient(circle at 38% 38%,#FFF4DA,#F6D89A 60%,#E8B964);opacity:.18}
.hw-bat{position:absolute;left:58%;top:12px;width:30px;color:#0B0510;opacity:.9;z-index:1;animation:hwBat 6s ease-in-out infinite}
.hw-bat svg{display:block;width:100%}
@keyframes hwGlow{50%{transform:translateY(-3px) rotate(-4deg);filter:drop-shadow(0 0 30px rgba(255,140,50,.9))}}
@keyframes hwBat{0%,100%{transform:translate(0,0) scaleX(1)}25%{transform:translate(-14px,6px) scaleX(.8)}50%{transform:translate(-4px,-4px) scaleX(1)}75%{transform:translate(10px,4px) scaleX(.85)}}

/* Spinnennetz in der Ecke, ganz dezent */
.halloween #views::before{content:"";position:absolute;top:env(safe-area-inset-top,0px);right:0;width:120px;height:120px;z-index:2;pointer-events:none;opacity:.16;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 120' fill='none' stroke='%23888' stroke-width='1.2'%3E%3Cpath d='M120 0L0 120M120 0L40 120M120 0L0 40M120 0L80 120M120 0L0 80'/%3E%3Cpath d='M120 20Q108 18 102 6M120 44Q96 40 88 18 80 6 78 0M120 70Q88 64 74 40 62 18 60 0M120 96Q78 90 60 62 44 34 40 0'/%3E%3C/svg%3E") no-repeat top right/contain}
:root.halloween[data-theme="dark"] #views::before{opacity:.22}

/* Start-Intro bei Halloween */
.halloween #splash{background:radial-gradient(120% 80% at 50% 35%,#4A2266,#1a0f22)}
.halloween .sp-glow{background:radial-gradient(circle,rgba(255,154,77,.4),transparent 65%)}
.halloween .sp-word .sp-q{color:#FF9A4D}

/* Aktiver Tab im Kürbis-Ton */
.halloween .badge-new,.halloween .new-badge{background:var(--herb)}
@media (prefers-reduced-motion: reduce){ .hw-pump,.hw-bat{animation:none} }
.halloween .plus-card{background:linear-gradient(140deg,#4A2266,#24112F 55%,#C8641E)}
.hw-moon{opacity:.12}

/* 2.4.1: Statusleiste immer exakt in App-Farbe, nichts scheint durch */
#topfade{opacity:1;background:var(--bg)}

/* ---------- App installieren ---------- */
.ic8{display:inline-block;width:22px;height:22px;flex:none;background:currentColor;vertical-align:-5px;
  -webkit-mask:var(--ic) center/contain no-repeat;mask:var(--ic) center/contain no-repeat}
.ic8.in{width:18px;height:18px;vertical-align:-3px;margin:0 1px}
.ic8.big{width:56px;height:56px;color:var(--herb)}
.ic8.light{color:var(--herb-ink)}
.row .ic8.row-ic{width:24px;height:24px;color:var(--herb)}
.inst-demo{display:grid;place-items:center;margin:2px 0 14px}
.inst-grid{display:grid;grid-template-columns:repeat(4,46px);gap:12px;padding:16px 18px;border-radius:26px;
  background:linear-gradient(160deg,color-mix(in srgb,var(--herb) 22%,var(--surface-2)),var(--surface-2));position:relative}
.inst-grid i{height:46px;border-radius:12px;background:color-mix(in srgb,var(--fg) 9%,transparent)}
.inst-grid img{width:46px;height:46px;border-radius:12px;box-shadow:0 8px 18px rgba(0,0,0,.25);animation:instPop 2.6s cubic-bezier(.3,1.5,.5,1) .3s infinite both}
@keyframes instPop{0%{transform:translateY(-70px) scale(.4);opacity:0}22%,78%{transform:none;opacity:1}88%,100%{transform:scale(.9);opacity:0}}
.inst-dev{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:14px;background:var(--herb-soft);color:var(--fg);font-size:0.8235rem;margin-bottom:12px}
.inst-dev .ic8{color:var(--herb)}
.inst-warn{padding:14px;border-radius:16px;background:var(--tomato-soft);font-size:0.8235rem;line-height:1.45;margin-bottom:12px}
.inst-warn .btn{display:flex;width:max-content;align-items:center;gap:6px}
.inst-now{display:flex;align-items:center;justify-content:center;gap:8px}
.inst-steps{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-direction:column;gap:10px}
.inst-steps li{display:grid;grid-template-columns:26px 44px 1fr;align-items:center;gap:10px;padding:12px;border-radius:18px;background:var(--surface);
  border:1px solid var(--line);animation:instIn .45s cubic-bezier(.2,.9,.3,1) var(--d) both}
@keyframes instIn{from{opacity:0;transform:translateY(10px)}}
.inst-n{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--herb);color:var(--herb-ink);font-weight:800;font-size:0.7647rem}
.inst-ic{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;background:var(--surface-2)}
.inst-ic .ic8{width:24px;height:24px;color:var(--fg)}
.inst-t{font-size:0.8529rem;line-height:1.4}
.inst-t .ic8.in{color:var(--herb)}
.inst-note{font-size:0.7647rem;color:var(--muted);margin:12px 2px 0;line-height:1.45}
.inst-why{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}
.inst-why span{font-size:0.7353rem;font-weight:700;padding:6px 10px;border-radius:999px;background:var(--surface-2);color:var(--muted)}
.inst-other{margin-top:16px;font-size:0.7647rem;color:var(--muted);text-align:center}
.inst-other .linkbtn{font-size:0.7647rem;padding:4px}
.inst-other .linkbtn[aria-pressed="true"]{color:var(--herb);font-weight:800}
.inst-done{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;padding:18px 6px 6px}
.inst-done b{font-family:var(--f-display);font-size:1.2941rem}.inst-done p{margin:0;color:var(--muted)}
.inst-credit{text-align:center;font-size:0.6471rem;color:var(--muted);margin:16px 0 0}.inst-credit a{color:inherit}
.inst-banner{position:relative;margin:0 0 12px;border-radius:20px;background:var(--surface);border:1px solid var(--line);box-shadow:0 6px 18px rgba(0,0,0,.06);animation:heroIn .5s both}
.inst-b-main{display:flex;align-items:center;gap:12px;width:100%;padding:12px 44px 12px 12px;background:none;border:0;text-align:left;color:inherit;font:inherit}
.inst-b-main img{width:44px;height:44px;border-radius:11px;flex:none}
.inst-b-main span{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}
.inst-b-main b{font-size:0.8824rem}.inst-b-main small{font-size:0.7353rem;color:var(--muted)}
.inst-b-cta{flex:none!important;background:var(--herb);color:var(--herb-ink);font-weight:800;font-size:0.7647rem;padding:7px 12px;border-radius:999px}
.inst-b-x{position:absolute;top:6px;right:6px;width:26px;height:26px;border-radius:50%;border:0;background:transparent;color:var(--muted);font-size:0.7059rem}
.center > .inst-banner{width:100%}
@media (prefers-reduced-motion: reduce){ .inst-grid img,.inst-steps li{animation:none} }

/* ---------- Benachrichtigungen-Abfrage ---------- */
.pp-hero{position:relative;width:110px;height:110px;margin:0 auto 6px;display:grid;place-items:center;border-radius:50%;background:var(--herb-soft)}
.pp-hero .ic8.pp-bell{width:54px;height:54px;color:var(--herb);transform-origin:50% 10%;animation:ppRing 2.4s ease-in-out .4s infinite}
.pp-ring{position:absolute;inset:0;border-radius:50%;border:2px solid var(--herb);opacity:0;animation:ppWave 2.4s ease-out .4s infinite}
.pp-ring.r2{animation-delay:1.2s}
@keyframes ppRing{0%,60%,100%{transform:none}8%{transform:rotate(16deg)}16%{transform:rotate(-14deg)}24%{transform:rotate(10deg)}32%{transform:rotate(-6deg)}40%{transform:rotate(2deg)}}
@keyframes ppWave{0%{transform:scale(.9);opacity:.5}100%{transform:scale(1.5);opacity:0}}
.pp-title{font-family:var(--f-display);font-weight:800;font-size:1.5294rem;letter-spacing:-.02em;text-align:center;line-height:1.1;margin-top:8px}
.pp-sub{text-align:center;color:var(--muted);margin:4px 0 16px;font-size:0.9412rem;font-weight:600}
.pp-promise{display:flex;align-items:center;gap:14px;padding:16px 18px;border-radius:20px;background:var(--herb);color:var(--herb-ink);margin-bottom:14px}
.pp-promise b{font-family:var(--f-display);font-weight:800;font-size:1.3529rem;line-height:1.12;letter-spacing:-.01em}
.pp-promise .ic8.pp-nob{width:44px;height:44px;color:var(--herb-ink)}
.pp-list{list-style:none;margin:0 0 18px;padding:0;display:flex;flex-direction:column;gap:12px}
.pp-list li{display:flex;align-items:center;gap:14px}
.pp-list .ic8{width:30px;height:30px;color:var(--herb);flex:none}
.pp-list span{display:flex;flex-direction:column}
.pp-list b{font-size:1rem}.pp-list small{font-size:0.8235rem;color:var(--muted)}
.pp-on{display:flex;align-items:center;justify-content:center;gap:8px;font-size:1rem;padding:16px}
.pp-later{display:block;margin:10px auto 0;color:var(--muted);font-size:0.8824rem}
.pp-banner{display:flex;align-items:center;gap:12px;width:100%;margin:0 0 12px;padding:14px;border-radius:20px;border:2px solid var(--herb);background:var(--herb-soft);color:var(--fg);text-align:left;font:inherit}
.pp-banner > span:not(.inst-b-cta){display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}
.pp-banner b{font-size:0.9412rem}.pp-banner small{font-size:0.7647rem;color:var(--muted);font-weight:600}
.pp-banner .ic8.pp-b-ic{width:32px;height:32px;color:var(--herb)}
@media (prefers-reduced-motion: reduce){ .pp-hero .ic8.pp-bell,.pp-ring{animation:none} }

/* =====================================================================
   Computer-Ansicht: nur ein realistisches iPhone in der Mitte (2.7)
   ===================================================================== */
.framed #side{display:none!important}
.framed #stage{gap:0}
.framed body{background:
  radial-gradient(60% 55% at 50% 42%, var(--stage-2), transparent 70%),
  var(--stage)}
:root{--stage:#E6E9E3;--stage-2:#F6F7F3}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--stage:#060807;--stage-2:#18201A}}
:root[data-theme="dark"]{--stage:#060807;--stage-2:#18201A}
/* Rahmen: Titan mit Kantenlicht, darin der schwarze Glasrand */
.framed #phone{padding:17px;border-radius:70px;background:#1e1f21;
  box-shadow:
    inset 0 0 0 1px #9a9ca0, inset 0 0 0 2px #3a3b3e, inset 0 0 0 3.5px #6e7074, inset 0 0 0 5px #242528,
    0 0 0 1px rgba(0,0,0,.55),
    0 1px 2px rgba(0,0,0,.25), 0 24px 40px -12px rgba(0,0,0,.35), 0 70px 110px -30px rgba(0,0,0,.45)}
.framed #phone::before{content:"";position:absolute;inset:5px;border-radius:65px;background:#030303;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.05);pointer-events:none}
.framed #screen{border-radius:53px;z-index:1}
/* leichte Spiegelung auf dem Glas */
.glare{display:none}
.framed .glare{display:block;position:absolute;inset:17px;border-radius:53px;z-index:95;pointer-events:none;
  background:linear-gradient(118deg,rgba(255,255,255,.075) 0%,rgba(255,255,255,.025) 22%,transparent 38%)}
/* Dynamic Island mit Kameralinse */
.framed #island{top:12px;width:122px;height:35px;background:#000;box-shadow:0 0 0 .5px rgba(255,255,255,.04)}
.framed #island::after{content:"";position:absolute;right:13px;top:50%;width:11px;height:11px;margin-top:-5.5px;border-radius:50%;
  background:radial-gradient(circle at 35% 35%,#2b3a5c 0 18%,#0d1220 40%,#05070c 70%);box-shadow:0 0 0 1.5px #0b0d12}
/* Statusleiste wie iOS */
.framed #statusbar{font-family:-apple-system,"SF Pro Text","Figtree",sans-serif;font-weight:600;font-size:0.9706rem;letter-spacing:-.01em;padding:10px 34px 0 44px}
/* Seitentasten: Action-Taste, Lauter, Leiser, Seitentaste, Kamerasteuerung */
.framed .btn-side{width:4px;border-radius:2px;background:linear-gradient(90deg,#2b2c2f,#8d8f93 45%,#4a4b4e);box-shadow:0 0 0 .5px rgba(0,0,0,.6)}
.framed .b1{left:-3px;top:142px;height:34px}
.framed .b2{left:-3px;top:206px;height:64px}
.framed .b3{left:-3px;top:284px;height:64px}
.framed .b4{left:auto;right:-3px;top:228px;height:100px;background:linear-gradient(270deg,#2b2c2f,#8d8f93 45%,#4a4b4e)}
.framed .b5{right:-2px;top:470px;height:66px;width:3px;background:linear-gradient(270deg,#1f2022,#5d5f62)}
.framed #homebar{width:138px;bottom:9px;opacity:.9}
/* Querformat (Kochmodus) */
.framed.cooking #phone::before{border-radius:65px}
.framed.cooking .b5{display:none}

/* =====================================================================
   iPhone-Emulator (Computer-Ansicht): Sperrbildschirm, Home-Bildschirm,
   Kontrollzentrum, Lautstärke, Action-Taste
   ===================================================================== */
#emu,#emu-bar,#emu-hud,#emu-ccbar,#emu-cc,#emu-dim,.emu-zoom,.emu-banner{display:none}
.framed #island{z-index:120}
.framed #emu{display:block;position:absolute;inset:0;z-index:100;border-radius:53px;overflow:hidden;color:#fff;font-family:-apple-system,"SF Pro Text","Figtree",sans-serif;user-select:none}
.framed #emu[data-s="app"]{display:none}
.emu-wall{position:absolute;inset:-20px;background:
  radial-gradient(70% 45% at 18% 12%,#7fd6a0 0,transparent 60%),
  radial-gradient(60% 45% at 92% 30%,#f2b25c 0,transparent 62%),
  radial-gradient(80% 60% at 30% 78%,#1f6f4a 0,transparent 65%),
  radial-gradient(70% 50% at 95% 95%,#e0703c 0,transparent 60%),
  linear-gradient(170deg,#2f8a5a,#174d33 55%,#0e2e20)}
#emu[data-s="lock"] .emu-wall{filter:saturate(1.1)}
#emu[data-s="home"] .emu-wall{filter:blur(0)}
.emu-sb{position:absolute;left:0;right:0;top:0;height:54px;display:flex;align-items:center;justify-content:space-between;padding:10px 34px 0 46px;font-weight:600;font-size:0.9706rem;z-index:5;text-shadow:0 1px 2px rgba(0,0,0,.15)}
.emu-ic{display:flex;gap:6px;align-items:center}
/* Sperrbildschirm */
.emu-lock{position:absolute;inset:0;z-index:3;display:none;flex-direction:column;align-items:center;cursor:grab;touch-action:none}
#emu[data-s="lock"] .emu-lock{display:flex}
.emu-lockic{margin-top:58px;height:20px}.emu-lockic .ic8{width:15px;height:15px;color:#fff;opacity:.9}
.emu-date{margin-top:4px;font-weight:600;font-size:1.1176rem;letter-spacing:-.01em;text-shadow:0 1px 6px rgba(0,0,0,.18)}
.emu-clock{font-family:-apple-system,"SF Pro Display","Bricolage Grotesque",sans-serif;font-weight:700;font-size:104px;line-height:.95;letter-spacing:-.02em;margin-top:2px;
  color:rgba(255,255,255,.92);text-shadow:0 2px 18px rgba(0,0,0,.18);font-variant-numeric:tabular-nums}
.emu-notes{position:absolute;left:12px;right:12px;bottom:126px;display:flex;flex-direction:column;gap:8px}
.emu-note{display:flex;gap:10px;padding:12px 14px;border-radius:24px;background:rgba(255,255,255,.2);backdrop-filter:blur(22px) saturate(1.6);-webkit-backdrop-filter:blur(22px) saturate(1.6);
  box-shadow:inset 0 0 0 .5px rgba(255,255,255,.35),0 6px 20px rgba(0,0,0,.08);animation:emuIn .5s calc(var(--i)*80ms) cubic-bezier(.2,.9,.25,1) both;cursor:pointer}
.emu-note img{width:36px;height:36px;border-radius:9px;flex:none}
.emu-note > div{flex:1;min-width:0}
.emu-nh{display:flex;justify-content:space-between;font-size:0.7647rem;opacity:.95}.emu-nh span{opacity:.75}
.emu-nt{font-weight:600;font-size:0.8529rem;margin-top:1px}.emu-ns{font-size:0.8235rem;opacity:.9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@keyframes emuIn{from{opacity:0;transform:translateY(16px) scale(.97)}}
.emu-round{position:absolute;bottom:46px;width:50px;height:50px;border-radius:50%;border:0;display:grid;place-items:center;cursor:pointer;
  background:rgba(255,255,255,.18);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:inset 0 0 0 .5px rgba(255,255,255,.35)}
.emu-round .ic8{width:22px;height:22px;color:#fff}
.emu-round.l{left:46px}.emu-round.r{right:46px}
.emu-hint{position:absolute;bottom:28px;font-size:0.7647rem;font-weight:600;opacity:.8;animation:emuHint 2.6s ease-in-out infinite}
@keyframes emuHint{0%,60%,100%{transform:none;opacity:.8}30%{transform:translateY(-5px);opacity:1}}
/* Home-Bildschirm */
.emu-home{position:absolute;inset:0;z-index:2;display:none;padding:66px 22px 0}
#emu[data-s="home"] .emu-home{display:block}
.emu-widgets{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.emu-w{position:relative;height:150px;border-radius:22px;border:0;padding:14px 14px 30px;text-align:left;color:#fff;cursor:pointer;display:flex;flex-direction:column;gap:3px;
  background:rgba(255,255,255,.2);backdrop-filter:blur(22px) saturate(1.6);-webkit-backdrop-filter:blur(22px) saturate(1.6);box-shadow:inset 0 0 0 .5px rgba(255,255,255,.4),0 8px 22px rgba(0,0,0,.1);font-family:inherit}
.emu-wk{display:flex;align-items:center;gap:5px;font-size:0.7059rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;opacity:.9}
.emu-wk .ic8{width:14px;height:14px;color:#fff}
.emu-w b{font-size:1.0588rem;line-height:1.15;font-weight:700;margin-top:4px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.emu-w b.emu-num{font-size:44px;line-height:1;margin-top:6px}
.emu-ws{font-size:0.7353rem;opacity:.85}
.emu-wl{position:absolute;left:0;right:0;bottom:-20px;text-align:center;font-size:0.7059rem;font-weight:500;text-shadow:0 1px 3px rgba(0,0,0,.3)}
.emu-grid{display:grid;grid-template-columns:repeat(4,1fr);row-gap:22px;margin-top:38px}
.emu-app{border:0;background:none;padding:0;display:flex;flex-direction:column;align-items:center;gap:5px;color:#fff;cursor:pointer;font-family:inherit}
.emu-app img{width:62px;height:62px;border-radius:14px;box-shadow:0 4px 12px rgba(0,0,0,.18),inset 0 0 0 .5px rgba(255,255,255,.3);transition:transform .15s}
.emu-app:active img{transform:scale(.92);filter:brightness(.85)}
.emu-app span{font-size:0.7059rem;font-weight:500;text-shadow:0 1px 3px rgba(0,0,0,.3)}
.emu-search{position:absolute;left:50%;bottom:120px;transform:translateX(-50%);display:flex;align-items:center;gap:5px;padding:7px 14px;border-radius:999px;font-size:0.7647rem;font-weight:600;
  background:rgba(255,255,255,.2);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:inset 0 0 0 .5px rgba(255,255,255,.35)}
.emu-search .ic8{width:12px;height:12px;color:#fff}
.emu-dock{position:absolute;left:12px;right:12px;bottom:12px;height:92px;border-radius:38px;display:flex;align-items:center;justify-content:flex-start;padding:0 20px;
  background:rgba(255,255,255,.22);backdrop-filter:blur(26px) saturate(1.7);-webkit-backdrop-filter:blur(26px) saturate(1.7);box-shadow:inset 0 0 0 .5px rgba(255,255,255,.45),inset 0 1px 0 rgba(255,255,255,.35)}
/* Aus (Seitentaste) */
.emu-off{position:absolute;inset:0;background:#000;z-index:10;display:none}
#emu[data-s="off"]{background:#000}
#emu[data-s="off"] .emu-off{display:block}
#emu[data-s="off"] .emu-sb{display:none}
/* App öffnen/schließen */
.framed .emu-zoom{display:grid;place-items:center;position:absolute;z-index:110;background:var(--bg);overflow:hidden;pointer-events:none}
.emu-zoom img{width:62px;height:62px;border-radius:14px}
/* Home-Strich zum Wischen */
.framed #emu-bar{display:block;position:absolute;left:90px;right:90px;bottom:0;height:34px;z-index:125;cursor:grab;touch-action:none}
.framed.cooking #emu-bar{display:none}
.framed #homebar{z-index:126;pointer-events:none}
html[data-emu="lock"] .framed #homebar,html.framed[data-emu="lock"] #homebar,html.framed[data-emu="home"] #homebar{background:#fff}
html.framed[data-emu="off"] #homebar{opacity:0}
/* Lautstärke-Anzeige (links, neben den Tasten) */
.framed #emu-hud{display:flex;flex-direction:column;align-items:center;gap:8px;position:absolute;left:10px;top:150px;width:46px;padding:12px 0;border-radius:24px;z-index:130;
  background:rgba(40,40,44,.55);backdrop-filter:blur(20px) saturate(1.6);-webkit-backdrop-filter:blur(20px) saturate(1.6);box-shadow:inset 0 0 0 .5px rgba(255,255,255,.25);
  opacity:0;transform:translateX(-20px) scale(.9);transition:opacity .25s,transform .35s cubic-bezier(.3,1.4,.5,1);pointer-events:none}
.framed #emu-hud.on{opacity:1;transform:none}
#emu-hud .ic8{width:16px;height:16px;color:#fff}
.emu-hud-track{position:relative;width:8px;height:120px;border-radius:5px;background:rgba(255,255,255,.25);overflow:hidden}
.emu-hud-track i{position:absolute;left:0;right:0;bottom:0;height:56%;background:#fff;border-radius:5px;transition:height .15s}
/* Action-Taste: Dynamic Island zeigt Stumm/Klingeln */
.emu-isl{display:none}
#island.emu-on{width:236px!important}
#island.emu-on .emu-isl{display:flex;align-items:center;justify-content:space-between;height:100%;padding:0 22px 0 18px;color:#fff;font:600 13px -apple-system,"Figtree",sans-serif;animation:fade .25s .1s both}
.emu-isl .ic8{width:18px;height:18px;color:#fff}.emu-isl .ic8.mute{color:#ff6b5e}
.framed .btn-side{cursor:pointer}
.framed .btn-side::after{content:"";position:absolute;inset:-4px -10px}
.framed .btn-side:active{filter:brightness(1.3)}
/* Kontrollzentrum */
.framed #emu-ccbar{display:block;position:absolute;right:0;top:0;width:150px;height:40px;z-index:124;cursor:s-resize}
.framed #emu-cc{display:block;position:absolute;inset:0;z-index:115;border-radius:53px;overflow:hidden;color:#fff;font-family:-apple-system,"Figtree",sans-serif;
  background:rgba(20,20,24,.38);backdrop-filter:blur(30px) saturate(1.5) brightness(.8);-webkit-backdrop-filter:blur(30px) saturate(1.5) brightness(.8);
  opacity:0;pointer-events:none;transition:opacity .28s}
.framed #emu-cc.on{opacity:1;pointer-events:auto}
#emu-cc .cc-in{position:absolute;inset:0;padding:64px 22px 0;transform:translateY(-30px) scale(.96);transition:transform .38s cubic-bezier(.2,.9,.25,1)}
#emu-cc.on .cc-in{transform:none}
.cc-top{position:absolute;top:18px;left:30px;right:30px;display:flex;justify-content:space-between;font-size:1.2941rem;font-weight:300;opacity:.9}
.cc-grid{display:grid;grid-template-columns:repeat(4,72px);grid-auto-rows:72px;gap:14px;justify-content:center}
.cc-tile{border-radius:22px;background:rgba(255,255,255,.18);box-shadow:inset 0 0 0 .5px rgba(255,255,255,.3);position:relative}
.cc-conn{grid-column:span 2;grid-row:span 2;border-radius:30px;display:grid;grid-template-columns:1fr 1fr;place-items:center;padding:12px}
.cc-b{width:56px;height:56px;border-radius:50%;border:0;display:grid;place-items:center;cursor:pointer;background:rgba(255,255,255,.2);box-shadow:inset 0 0 0 .5px rgba(255,255,255,.3);transition:background .2s}
.cc-b .ic8{width:24px;height:24px;color:#fff}
.cc-b[aria-pressed="true"]{background:#fff}.cc-b[aria-pressed="true"] .ic8{color:#1d1d1f}
.cc-b.on-green[aria-pressed="true"]{background:#34c759}.cc-b.on-green[aria-pressed="true"] .ic8{color:#fff}
.cc-b.on-blue[aria-pressed="true"]{background:#0a84ff}.cc-b.on-blue[aria-pressed="true"] .ic8{color:#fff}
.cc-b.on-orange[aria-pressed="true"]{background:#ff9f0a}.cc-b.on-orange[aria-pressed="true"] .ic8{color:#fff}
.cc-np{grid-column:span 2;grid-row:span 2;border-radius:30px;padding:16px;display:flex;flex-direction:column;justify-content:space-between;cursor:pointer;border:0;color:#fff;text-align:left;font-family:inherit}
.cc-np img{width:50px;height:50px;border-radius:12px}
.cc-np b{font-size:0.8235rem}.cc-np small{font-size:0.7353rem;opacity:.7;display:block}
.cc-round{display:grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.18);border:0;cursor:pointer;box-shadow:inset 0 0 0 .5px rgba(255,255,255,.3);transition:background .2s}
.cc-round .ic8{width:26px;height:26px;color:#fff}
.cc-round[aria-pressed="true"]{background:#fff}.cc-round[aria-pressed="true"] .ic8{color:#1d1d1f}
.cc-round.red[aria-pressed="true"]{background:#fff}.cc-round.red[aria-pressed="true"] .ic8{color:#ff3b30}
.cc-slider{grid-row:span 2;border-radius:24px;overflow:hidden;position:relative;cursor:ns-resize;background:rgba(255,255,255,.18);box-shadow:inset 0 0 0 .5px rgba(255,255,255,.3);touch-action:none}
.cc-slider .fill{position:absolute;left:0;right:0;bottom:0;background:#fff}
.cc-slider .ic8{position:absolute;left:50%;bottom:16px;width:24px;height:24px;margin-left:-12px;color:#8e8e93;z-index:1;mix-blend-mode:normal}
.cc-focus{grid-column:span 2;border-radius:999px;display:flex;align-items:center;gap:10px;padding:0 16px;border:0;color:#fff;font:600 15px inherit;cursor:pointer;font-family:inherit}
.cc-focus .ic8{width:22px;height:22px;color:#fff}
.cc-focus[aria-pressed="true"]{background:#fff;color:#5e5ce6}.cc-focus[aria-pressed="true"] .ic8{color:#5e5ce6}
.cc-hint{position:absolute;left:0;right:0;bottom:40px;text-align:center;font-size:0.7059rem;opacity:.6}
/* Helligkeit */
.framed #emu-dim{display:block;position:absolute;inset:0;z-index:140;background:#000;opacity:0;pointer-events:none;border-radius:53px}
/* Mitteilungs-Banner oben */
.framed .emu-banner{display:flex;gap:10px;position:absolute;left:10px;right:10px;top:10px;z-index:121;padding:12px 14px;border-radius:26px;color:#fff;cursor:pointer;
  background:rgba(40,40,44,.6);backdrop-filter:blur(26px) saturate(1.6);-webkit-backdrop-filter:blur(26px) saturate(1.6);box-shadow:inset 0 0 0 .5px rgba(255,255,255,.25),0 10px 30px rgba(0,0,0,.25);
  font-family:-apple-system,"Figtree",sans-serif;animation:emuBan .5s cubic-bezier(.2,1.2,.3,1) both}
.emu-banner.out{animation:emuBanOut .35s ease-in both}
@keyframes emuBan{from{transform:translateY(-120%) scale(.9);opacity:0}}
@keyframes emuBanOut{to{transform:translateY(-120%) scale(.95);opacity:0}}
.emu-banner img{width:38px;height:38px;border-radius:9px;flex:none}
.emu-banner > div{flex:1;min-width:0}

/* =====================================================================
   VERSION 3.0
   ===================================================================== */
/* --- Ruhiger & flüssiger --- */
.banner{animation:rise .5s both}
.paused,.paused *,html.bg *{animation-play-state:paused!important}
.view.leaving{pointer-events:none;animation:viewOut .26s cubic-bezier(.4,0,.6,1) forwards;z-index:0}
@keyframes viewOut{to{opacity:0;transform:translateX(var(--dx,0px))}}
.view{will-change:auto}
.view .stack>*,.view .list>*,.sheet .stack>*,.sheet .list>*{animation:itemIn .44s cubic-bezier(.2,.9,.3,1) both}
.view .stack>:nth-child(2),.view .list>:nth-child(2),.sheet .stack>:nth-child(2),.sheet .list>:nth-child(2){animation-delay:.035s}
.view .stack>:nth-child(3),.view .list>:nth-child(3),.sheet .stack>:nth-child(3),.sheet .list>:nth-child(3){animation-delay:.07s}
.view .stack>:nth-child(4),.view .list>:nth-child(4),.sheet .stack>:nth-child(4),.sheet .list>:nth-child(4){animation-delay:.105s}
.view .stack>:nth-child(5),.view .list>:nth-child(5),.sheet .stack>:nth-child(5),.sheet .list>:nth-child(5){animation-delay:.14s}
.view .stack>:nth-child(n+6),.view .list>:nth-child(n+6),.sheet .stack>:nth-child(n+6),.sheet .list>:nth-child(n+6){animation-delay:.17s}
@keyframes itemIn{from{opacity:0;transform:translateY(12px)}}
:where(button,.rc,.row,a.row){transition:transform .16s cubic-bezier(.3,1.4,.5,1),background-color .2s,opacity .2s}
:where(button,.rc,.row,a.row):active{transform:scale(.97)}
:where(.ing,.tab,.seg button,.chips button):active{transform:scale(.94)}
.sheet{touch-action:pan-y;will-change:transform}
.grabber{cursor:grab}
/* Textgröße */
.view>*,.sheet>*{zoom:var(--tz,1)}
/* Lade-Platzhalter */
.skel{display:flex;flex-direction:column}
.sk{display:block;background:linear-gradient(100deg,var(--surface-2) 30%,color-mix(in srgb,var(--surface-2) 50%,var(--surface)) 50%,var(--surface-2) 70%);background-size:300% 100%;animation:shim 1.3s linear infinite}
@keyframes shim{from{background-position:100% 0}to{background-position:-50% 0}}

/* --- Obere Leiste aus Glas --- */
#navbar{position:absolute;left:0;right:0;top:env(safe-area-inset-top,0px);height:50px;z-index:32;display:flex;align-items:center;justify-content:center;padding:0 64px;
  background:color-mix(in srgb,var(--bg) 74%,transparent);-webkit-backdrop-filter:blur(20px) saturate(1.7);backdrop-filter:blur(20px) saturate(1.7);
  box-shadow:0 .5px 0 color-mix(in srgb,var(--fg) 12%,transparent);opacity:0;transform:translateY(-8px);pointer-events:none;transition:opacity .22s ease,transform .32s cubic-bezier(.2,.9,.3,1);cursor:pointer}
#navbar.on{opacity:1;transform:none;pointer-events:auto}
#navbar b{font-family:var(--f-display);font-weight:800;font-size:1rem;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#navbar .nb-av{position:absolute;right:14px;width:34px;height:34px;border-radius:50%;border:0;display:grid;place-items:center;background:var(--surface-2);font-size:1.1176rem}
.framed #navbar{top:56px}
.cooking #navbar,.cooking #ftimers{display:none}
.view .top .h1{transform-origin:left center;will-change:opacity,transform}
#topfade{z-index:33}

/* --- Ziehen zum Aktualisieren --- */
#ptr{position:absolute;left:50%;top:calc(env(safe-area-inset-top,0px) + 6px);z-index:34;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;font-size:1.2941rem;
  background:var(--surface);box-shadow:0 6px 18px rgba(0,0,0,.14);opacity:0;transform:translate(-50%,-54px);pointer-events:none}
.framed #ptr{top:62px}
#ptr.ready{background:var(--herb-soft)}
#ptr.spin span{display:block;animation:ptrSpin .7s linear infinite}
@keyframes ptrSpin{to{transform:rotate(360deg)}}

/* --- Schwebende Tab-Leiste --- */
#tabbar{position:absolute;left:12px;right:12px;bottom:calc(10px + env(safe-area-inset-bottom,0px));z-index:35;display:grid;grid-template-columns:repeat(5,1fr);padding:6px!important;border:0;border-radius:32px;
  background:color-mix(in srgb,var(--surface) 72%,transparent);-webkit-backdrop-filter:blur(22px) saturate(1.8);backdrop-filter:blur(22px) saturate(1.8);
  box-shadow:0 12px 32px rgba(10,20,14,.14),0 2px 6px rgba(10,20,14,.06),inset 0 0 0 .5px color-mix(in srgb,var(--fg) 12%,transparent),inset 0 1px 0 rgba(255,255,255,.35);
  transition:transform .4s cubic-bezier(.3,1.2,.5,1),opacity .3s}
.framed #tabbar{bottom:22px;padding:6px!important}
#tabbar.mini{transform:translateY(8px) scale(.9)}
#tabbar[hidden]{display:none}
.tab-pill{position:absolute;left:6px;top:6px;bottom:6px;width:calc((100% - 12px) / 5);border-radius:26px;background:color-mix(in srgb,var(--herb) 15%,transparent);
  transition:transform .5s cubic-bezier(.3,1.25,.45,1);pointer-events:none}
.tab{z-index:1;min-height:48px;padding:5px 0}
.view{padding-bottom:calc(120px + env(safe-area-inset-bottom,0px))}
.framed .view{padding-bottom:130px}
#toast{bottom:calc(112px + env(safe-area-inset-bottom,0px))}
.framed #toast{bottom:120px}
/* laufende Timer über der Tab-Leiste */
#ftimers{position:absolute;left:0;right:0;bottom:calc(84px + env(safe-area-inset-bottom,0px));z-index:36;display:flex;flex-direction:column;align-items:center;gap:6px;pointer-events:none}
.framed #ftimers{bottom:96px}
.ftimer{pointer-events:auto;display:flex;align-items:center;gap:10px;padding:9px 14px;border-radius:999px;border:0;background:#141a16;color:#fff;font-weight:700;font-size:0.8235rem;box-shadow:0 8px 24px rgba(0,0,0,.25);animation:popIn .35s both}
.ftimer i{width:8px;height:8px;border-radius:50%;background:#ff7a60;animation:tick 1s ease-in-out infinite}
.ftimer b{font-family:var(--f-display);font-variant-numeric:tabular-nums;font-size:0.9412rem}
.ck-timers{display:flex;gap:6px;flex-wrap:wrap}
.ck-timers .ck-timer{border:0;cursor:pointer}
.ck-serv{width:auto!important;padding:0 12px;border-radius:999px!important;font-size:0.8824rem;gap:4px;display:flex!important;align-items:center}

/* --- Bewertungen --- */
.rate-hero{display:flex;flex-direction:column;align-items:center}
.rate-em{font-size:64px;animation:popIn .5s cubic-bezier(.3,1.6,.5,1) both}
.rate-row{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}
.rate-b{display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 4px;border-radius:20px;border:0;background:var(--surface-2);animation:popIn .45s calc(var(--i)*.05s) cubic-bezier(.3,1.6,.5,1) both}
.rate-b span{font-size:2rem;transition:transform .2s}
.rate-b small{font-size:0.6765rem;font-weight:800;color:var(--muted)}
.rate-b:hover span{transform:scale(1.15) rotate(-6deg)}
.rate-b[aria-pressed="true"]{background:var(--herb-soft);box-shadow:inset 0 0 0 2px var(--herb)}
.rate-ban{background:var(--herb-soft)}

/* --- Familie: Küche, Rückblick, Neuigkeiten --- */
.kitchen-card{display:block;width:100%;text-align:left;border:0;border-radius:24px;padding:16px;margin:4px 0 10px;background:var(--surface);box-shadow:var(--shadow);color:var(--fg)}
.kc-head{display:flex;justify-content:space-between;align-items:baseline}.kc-head b{font-family:var(--f-display);font-size:1.1176rem}.kc-head span{font-size:0.7647rem;color:var(--herb);font-weight:800}
.kc-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:12px}
.kc-stats span{display:flex;flex-direction:column;align-items:center;padding:10px 4px;border-radius:16px;background:var(--surface-2)}
.kc-stats b{font-family:var(--f-display);font-size:1.2941rem;line-height:1}.kc-stats small{font-size:0.6471rem;font-weight:700;color:var(--muted);margin-top:4px}
.wrapped-card{position:relative;overflow:hidden;display:flex;align-items:center;gap:12px;width:100%;border:0;border-radius:24px;padding:16px;margin-bottom:6px;color:#fff;text-align:left;
  background:linear-gradient(120deg,#5b2bd1,#d1418a 55%,#f2a33a)}
.wrapped-card .wc-glow{position:absolute;inset:-40%;background:conic-gradient(from 0deg,transparent,rgba(255,255,255,.25),transparent 30%);animation:rot 6s linear infinite;pointer-events:none}
.wrapped-card .wc-em{font-size:1.7647rem;position:relative}.wrapped-card>span:not(.wc-glow):not(.wc-em){position:relative;flex:1;display:flex;flex-direction:column}
.wrapped-card b{font-family:var(--f-display);font-size:1.0588rem}.wrapped-card small{opacity:.9;font-size:0.7647rem}.wrapped-card svg{position:relative;opacity:.8}
.feed .row{align-items:flex-start}.feed .grow>span{font-size:0.8529rem;line-height:1.35}
.kstats{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.kstats div{display:flex;flex-direction:column;padding:14px;border-radius:20px;background:var(--surface-2)}
.kstats span{font-size:1.2941rem}.kstats b{font-family:var(--f-display);font-size:1.7647rem;line-height:1.05;margin-top:4px}.kstats small{font-size:0.7353rem;color:var(--muted);font-weight:700}
.medal{font-size:1.5294rem}
.badges{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.badge{display:flex;flex-direction:column;align-items:center;text-align:center;gap:3px;padding:12px 6px;border-radius:18px;background:var(--surface-2);opacity:.55}
.badge span{font-size:1.7647rem;filter:grayscale(1)}.badge b{font-size:0.7353rem}.badge small{font-size:0.6471rem;color:var(--muted);line-height:1.25}
.badge.ok{opacity:1;background:var(--yolk-soft)}.badge.ok span{filter:none;animation:popIn .5s both}

/* --- Rückblick-Story --- */
#story{position:absolute;inset:0;z-index:96;color:#fff;overflow:hidden;background:#140c24;animation:fade .3s both;font-family:var(--f-body)}
.framed #story{border-radius:53px}
#story.out{animation:fadeOut .3s both}
@keyframes fadeOut{to{opacity:0}}
.st-bars{position:absolute;left:14px;right:14px;top:calc(env(safe-area-inset-top,0px) + 12px);display:flex;gap:4px;z-index:3}
.framed .st-bars{top:60px}
.st-bars i{flex:1;height:3px;border-radius:2px;background:rgba(255,255,255,.3);overflow:hidden}
.st-bars i b{display:block;height:100%;width:0;background:#fff}
.st-bars i.done b{width:100%}.st-bars i.run b{animation:stRun 5.2s linear forwards}
@keyframes stRun{to{width:100%}}
.st-x{position:absolute;right:14px;top:calc(env(safe-area-inset-top,0px) + 26px);z-index:4;width:38px;height:38px;border-radius:50%;border:0;background:rgba(255,255,255,.18);color:#fff;display:grid;place-items:center}
.framed .st-x{top:74px}
.st-s{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px 30px;opacity:0;transition:opacity .45s}
.st-s.on{opacity:1}
.st-s.s0{background:radial-gradient(circle at 30% 20%,#7b3cf0,transparent 60%),linear-gradient(160deg,#2a1150,#140c24)}
.st-s.s1{background:linear-gradient(160deg,#0f6b46,#0b2b1e)}
.st-s.s2{background:linear-gradient(160deg,#d9482f,#5c1610)}
.st-s.s3{background:linear-gradient(160deg,#1f5fb0,#0d1f45)}
.st-s.s4{background:linear-gradient(160deg,#d99a18,#5a3a05)}
.st-s.s5{background:linear-gradient(160deg,#c2338a,#3d0d2c)}
.st-s.s6{background:linear-gradient(160deg,#2f7a4c,#0f2a1b)}
.st-k{font-size:0.7647rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;opacity:.8}
.st-big{font-size:110px;line-height:1.1;margin:14px 0 6px}
.st-num{font-family:var(--f-display);font-weight:800;font-size:150px;line-height:1;letter-spacing:-.04em;margin:10px 0 0}
.st-s h2{font-family:var(--f-display);font-weight:800;font-size:2rem;letter-spacing:-.02em;margin:6px 0;text-wrap:balance}
.st-s p{font-size:1rem;opacity:.9;margin:4px 0 0;text-wrap:balance}
.st-s.on .st-pop{animation:stPop .7s cubic-bezier(.3,1.6,.5,1) both}
.st-s.on h2{animation:stUp .6s .12s cubic-bezier(.2,.9,.3,1) both}.st-s.on p{animation:stUp .6s .22s cubic-bezier(.2,.9,.3,1) both}
@keyframes stPop{from{transform:scale(.3) rotate(-20deg);opacity:0}}
@keyframes stUp{from{transform:translateY(20px);opacity:0}}
.st-hint{position:absolute;bottom:60px;font-size:0.7647rem;opacity:.6}
.st-btn{margin-top:22px;border:0;border-radius:999px;padding:14px 30px;background:#fff;color:#16201a;font-weight:800;font-size:0.9412rem;position:relative;z-index:5}
.st-nav{position:absolute;inset:0;display:grid;grid-template-columns:1fr 2fr;z-index:2}
.st-s.s6 .st-btn{pointer-events:auto}
#story .st-s{z-index:1}#story .st-s.on{z-index:3;pointer-events:none}#story .st-s.on .st-btn{pointer-events:auto}

/* --- Glücksrad --- */
.slot-btn{display:flex;align-items:center;gap:12px;width:100%;margin-top:12px;padding:14px 16px;border-radius:22px;border:1.5px dashed color-mix(in srgb,var(--herb) 50%,transparent);background:var(--surface);text-align:left;color:var(--fg)}
.slot-btn .slot-ic{font-size:1.7647rem;animation:wiggle 3s ease-in-out infinite}
.slot-btn>span:nth-child(2){flex:1;display:flex;flex-direction:column}.slot-btn b{font-size:0.9412rem}.slot-btn small{color:var(--muted);font-size:0.7647rem}
.slot{position:relative;height:222px;overflow:hidden;border-radius:24px;background:var(--surface-2);margin:4px 0 16px;
  -webkit-mask-image:linear-gradient(transparent,#000 22%,#000 78%,transparent);mask-image:linear-gradient(transparent,#000 22%,#000 78%,transparent)}
.slot-win{position:absolute;left:10px;right:10px;top:74px;height:74px;border-radius:18px;background:var(--surface);box-shadow:0 6px 18px rgba(0,0,0,.08),inset 0 0 0 2px var(--herb);z-index:0}
.slot-reel{position:relative;z-index:1;will-change:transform}
.slot-item{height:74px;display:flex;align-items:center;gap:14px;padding:0 24px}
.slot-item span{font-size:2rem}.slot-item b{font-family:var(--f-display);font-size:1.1176rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.slot.done .slot-win{animation:winGlow 1.2s ease-out}
@keyframes winGlow{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--herb) 60%,transparent),inset 0 0 0 2px var(--herb)}100%{box-shadow:0 0 0 22px transparent,inset 0 0 0 2px var(--herb)}}
.slot-res{animation:rise .5s both}

/* --- Saison --- */
.season-row{margin:4px 0 2px}
.sr-k{font-size:0.7059rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:10px 2px 8px}
.sr-chips{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;margin:0 -18px;padding:0 18px 4px}
.sr-chips::-webkit-scrollbar{display:none}
.sr-chips button{flex:none;border:0;border-radius:999px;padding:8px 13px;background:var(--surface);box-shadow:var(--shadow);font-weight:700;font-size:0.8235rem;color:var(--fg)}
.fchips{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;margin:0 -18px 10px;padding:0 18px 2px}
.fchips::-webkit-scrollbar{display:none}
.fchips button{flex:none;border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:7px 12px;font-weight:700;font-size:0.7647rem;color:var(--fg)}
.fchips button[aria-pressed="true"]{background:var(--herb);border-color:var(--herb);color:var(--herb-ink)}

/* --- Einkaufsliste & Einkaufs-Modus --- */
.shop-tools{display:grid;grid-template-columns:1.4fr 1fr;gap:8px;margin:12px 0 2px}
.h2.aisle{margin-top:16px}
.shopmode{position:absolute;inset:0;z-index:60;background:var(--bg);display:flex;flex-direction:column}
.framed .shopmode{border-radius:53px;overflow:hidden}
.shopmode.enter{animation:up .45s cubic-bezier(.2,1,.3,1) both}.shopmode.out{animation:smOut .28s ease-in both}
@keyframes smOut{to{transform:translateY(40px);opacity:0}}
.sm-top{display:flex;align-items:center;gap:12px;padding:calc(env(safe-area-inset-top,0px) + 10px) 18px 12px;border-bottom:1px solid var(--line)}
.framed .sm-top{padding-top:60px}
.sm-top>div{flex:1;display:flex;flex-direction:column}.sm-top b{font-family:var(--f-display);font-size:1.2941rem}.sm-top small{color:var(--muted);font-weight:700;font-size:0.7647rem}
.sm-ring{width:58px;height:58px;transform:rotate(-90deg)}
.sm-ring circle{fill:none;stroke:var(--surface-2);stroke-width:6}.sm-ring circle.p{stroke:var(--herb);stroke-linecap:round;transition:stroke-dashoffset .5s cubic-bezier(.3,1.2,.5,1)}
.sm-ring text{transform:rotate(90deg);transform-origin:30px 30px;text-anchor:middle;font:800 13px var(--f-body);fill:var(--fg)}
.sm-list{flex:1;overflow-y:auto;padding:6px 14px calc(30px + env(safe-area-inset-bottom,0px))}
.sm-h{font-size:0.7647rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);margin:18px 6px 8px}
.sm-item{display:flex;align-items:center;gap:16px;width:100%;min-height:68px;padding:10px 16px;margin-bottom:8px;border-radius:20px;border:0;background:var(--surface);box-shadow:var(--shadow);text-align:left;color:var(--fg);animation:itemIn .35s both}
.sm-box{width:32px;height:32px;border-radius:10px;border:2.5px solid var(--line);display:grid;place-items:center;font-weight:900;color:#fff;flex:none;transition:all .2s}
.sm-name{font-size:1.1765rem;font-weight:700}
.sm-item.tick .sm-box{background:var(--herb);border-color:var(--herb);transform:scale(1.15)}
.sm-item.tick{opacity:.6}
.sm-item.done{opacity:.5;box-shadow:none;background:var(--surface-2)}.sm-item.done .sm-box{background:var(--herb);border-color:var(--herb)}.sm-item.done .sm-name{text-decoration:line-through}
.sm-done{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;padding:60px 20px}
.sm-done-em{font-size:80px;animation:popIn .6s cubic-bezier(.3,1.6,.5,1) both}.sm-done b{font-family:var(--f-display);font-size:1.6471rem}.sm-done span{color:var(--muted);margin-bottom:12px}

/* --- Erste-Schritte-Tour --- */
#tour{position:absolute;inset:0;z-index:95;background:var(--bg);display:flex;flex-direction:column;animation:fade .35s both}
.framed #tour{border-radius:53px;overflow:hidden}
#tour.out{animation:fadeOut .3s both}
.tour-skip{position:absolute;right:16px;top:calc(env(safe-area-inset-top,0px) + 12px);z-index:3;border:0;background:var(--surface-2);border-radius:999px;padding:8px 14px;font-weight:800;font-size:0.7647rem;color:var(--muted)}
.framed .tour-skip{top:64px}
.tour-track{flex:1;display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
.tour-track::-webkit-scrollbar{display:none}
.tour-s{flex:none;width:100%;scroll-snap-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px 32px 0}
.tour-art{position:relative;width:230px;height:230px;border-radius:50%;display:grid;place-items:center;margin-bottom:28px}
.t1 .tour-art{background:radial-gradient(circle,#dff1e6,#b9e2c8)}.t2 .tour-art{background:radial-gradient(circle,#fdeccc,#f5d08a)}.t3 .tour-art{background:radial-gradient(circle,#fbe0d9,#f2b3a3)}.t4 .tour-art{background:radial-gradient(circle,#dde8fb,#a9c3f2)}
.ta-main{font-size:110px;filter:drop-shadow(0 14px 22px rgba(0,0,0,.18))}
.ta-s{position:absolute;font-size:40px;width:64px;height:64px;border-radius:50%;background:var(--surface);display:grid;place-items:center;box-shadow:0 8px 20px rgba(0,0,0,.12)}
.ta-s.s0{left:-10px;top:30px}.ta-s.s1{right:-14px;top:70px}.ta-s.s2{left:24px;bottom:-6px}
.tour-s.on .ta-main{animation:stPop .7s cubic-bezier(.3,1.6,.5,1) both}
.tour-s.on .ta-s{animation:popIn .5s cubic-bezier(.3,1.6,.5,1) both,float 4s ease-in-out .6s infinite}
.tour-s.on .ta-s.s1{animation-delay:.12s,.8s}.tour-s.on .ta-s.s2{animation-delay:.24s,1s}
.tour-n{font-size:0.7059rem;font-weight:800;color:var(--herb);letter-spacing:.1em}
.tour-s h2{font-family:var(--f-display);font-weight:800;font-size:1.8824rem;letter-spacing:-.02em;margin:6px 0 8px}
.tour-s p{color:var(--muted);font-size:0.9706rem;line-height:1.45;max-width:320px;margin:0}
.tour-s.on h2,.tour-s.on p{animation:stUp .55s .1s cubic-bezier(.2,.9,.3,1) both}
.tour-foot{display:flex;align-items:center;justify-content:space-between;padding:16px 22px calc(26px + env(safe-area-inset-bottom,0px))}
.framed .tour-foot{padding-bottom:40px}
.tour-dots{display:flex;gap:6px}.tour-dots i{width:8px;height:8px;border-radius:4px;background:var(--line);transition:all .3s}.tour-dots i.on{width:24px;background:var(--herb)}
.tour-next{min-width:140px}
.wn-hero{display:flex;flex-direction:column;align-items:center}.wn-hero>span{font-size:64px;animation:stPop .7s cubic-bezier(.3,1.6,.5,1) both}
.wn-list{display:flex;flex-direction:column;gap:10px}
.wn-i{display:flex;gap:12px;align-items:center;padding:10px 12px;border-radius:18px;background:var(--surface);animation:itemIn .45s calc(var(--i)*.05s) both}
.wn-i>span{font-size:1.5294rem;width:44px;height:44px;border-radius:14px;background:var(--surface-2);display:grid;place-items:center;flex:none}
.wn-i b{display:block;font-size:0.8824rem}.wn-i small{color:var(--muted);font-size:0.7647rem}

/* --- Advent --- */
:root.advent{--bg:#FAF6F0;--surface:#FFFFFF;--surface-2:#F1EAE0;--line:#E8DDD0;--herb:#B8322A;--herb-ink:#FFFFFF;--herb-soft:#F7DEDA;--yolk:#C8962B;--yolk-soft:#F6EBD2}
@media (prefers-color-scheme: dark){:root.advent:not([data-theme="light"]){--bg:#0D1411;--surface:#16201B;--surface-2:#1F2B25;--fg:#F2EEE6;--muted:#A3ADA4;--line:#2A3830;--herb:#F0605A;--herb-ink:#1A0A08;--herb-soft:#3B1C19;--yolk:#E8B74A;--yolk-soft:#3A2F14}}
:root.advent[data-theme="dark"]{--bg:#0D1411;--surface:#16201B;--surface-2:#1F2B25;--fg:#F2EEE6;--muted:#A3ADA4;--line:#2A3830;--herb:#F0605A;--herb-ink:#1A0A08;--herb-soft:#3B1C19;--yolk:#E8B74A;--yolk-soft:#3A2F14}
:root.advent .pick,:root.advent[data-theme="dark"] .pick,:root.advent .pick.planned{background:
  radial-gradient(80% 70% at 100% 0%,rgba(232,183,74,.45),transparent 60%),linear-gradient(155deg,#a3241d,#1d3b2b);box-shadow:0 16px 34px rgba(120,20,15,.28)}
.advent .plus-card{background:linear-gradient(140deg,#a3241d,#1d3b2b 60%,#c8962b)}
.advent #splash{background:radial-gradient(120% 80% at 50% 35%,#b8322a,#1d3b2b)}
.advent .sp-word .sp-q{color:#E8B74A}
.adv-card{position:relative;overflow:hidden;display:flex;flex-direction:column;gap:3px;width:100%;margin:0 0 12px;padding:16px 110px 16px 18px;border-radius:24px;border:0;text-align:left;color:#fff;
  background:linear-gradient(140deg,#b8322a,#7a1c17 55%,#1d3b2b);box-shadow:0 12px 28px rgba(120,20,15,.25);animation:heroIn .6s both}
.adv-glow{position:absolute;right:-30px;top:-40px;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,rgba(232,183,74,.55),transparent 65%);animation:advGlow 4s ease-in-out infinite}
@keyframes advGlow{50%{transform:scale(1.18);opacity:.75}}
.adv-snow{position:absolute;left:58%;top:8px;font-size:0.9412rem;opacity:.7;animation:float 5s ease-in-out infinite}
.adv-k{font-size:0.6471rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#F3C66A}
.adv-card b{font-family:var(--f-display);font-weight:800;font-size:1.1765rem;line-height:1.15;position:relative}.adv-s{font-size:0.7647rem;opacity:.85;position:relative}
.adv-n{position:absolute;right:20px;top:50%;transform:translateY(-50%);width:72px;height:84px;border-radius:14px;display:grid;place-items:center;font-family:var(--f-display);font-weight:800;font-size:40px;
  background:linear-gradient(160deg,#E8B74A,#b5831f);color:#3a2205;box-shadow:inset 0 0 0 3px rgba(255,255,255,.35),0 8px 18px rgba(0,0,0,.25)}
.adv-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;perspective:600px}
.adv-door{position:relative;aspect-ratio:1/1.05;border:0;padding:0;background:none;border-radius:14px;transform-style:preserve-3d}
.adv-door .ad-f,.adv-door .ad-b{position:absolute;inset:0;border-radius:14px;display:grid;place-items:center;backface-visibility:hidden}
.adv-door .ad-f{background:linear-gradient(150deg,#b8322a,#7a1c17);color:#fff;box-shadow:inset 0 0 0 2px rgba(232,183,74,.55);transition:transform .6s cubic-bezier(.4,0,.2,1);transform-origin:left center}
.adv-door:nth-child(3n) .ad-f{background:linear-gradient(150deg,#1d5c3e,#123726)}.adv-door:nth-child(4n+1) .ad-f{background:linear-gradient(150deg,#c8962b,#8a6416)}
.adv-door .ad-f b{font-family:var(--f-display);font-size:1.4118rem}
.adv-door .ad-b{background:var(--surface-2);font-size:1.7647rem;z-index:-1}
.adv-door.open .ad-f,.adv-door.opening .ad-f{transform:rotateY(-105deg)}
.adv-door.open .ad-b,.adv-door.opening .ad-b{z-index:0}
.adv-door.today .ad-f{animation:advPulse 1.6s ease-in-out infinite}
@keyframes advPulse{50%{box-shadow:inset 0 0 0 2px #F3C66A,0 0 18px 4px rgba(243,198,106,.6)}}
.adv-door.locked .ad-f{filter:saturate(.6) brightness(.85)}
.adv-out{margin-top:16px;animation:rise .5s both}.adv-day{font-size:0.7059rem;font-weight:800;color:var(--herb);letter-spacing:.1em;text-transform:uppercase;margin:0 2px 8px}
.adv-tip{margin-top:10px;font-weight:600;line-height:1.45;background:var(--yolk-soft)}
#snow{position:absolute;left:0;right:0;top:0;height:320px;z-index:31;pointer-events:none;overflow:hidden;-webkit-mask-image:linear-gradient(#000 40%,transparent);mask-image:linear-gradient(#000 40%,transparent)}
.framed #snow{border-radius:53px 53px 0 0}
#snow i{position:absolute;left:var(--x);top:-10px;width:var(--s);height:var(--s);border-radius:50%;background:#fff;opacity:.85;box-shadow:0 0 4px rgba(255,255,255,.8);animation:snowFall var(--d) linear var(--t) infinite}
:root.advent:not([data-theme="dark"]) #snow i{background:#c9d6e2}
@media (prefers-color-scheme: dark){:root.advent:not([data-theme="light"]) #snow i{background:#fff}}
@keyframes snowFall{to{transform:translate(30px,330px)}}
@media (prefers-reduced-motion: reduce){ #snow,.wrapped-card .wc-glow,.adv-glow{display:none} .view .stack>*,.view .list>*{animation:none} }
.cook{grid-template-columns:minmax(0,1fr)}
.ck-top{min-width:0}
@media (orientation:portrait){ .cook .ck-clock{display:none} .cook .ck-top{gap:8px} }
/* 3.0.1: Oben keine Streifen mehr – Statusleiste und Titelleiste sind eine durchgehende Fläche in App-Farbe */
#navbar{background:var(--bg);-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:0 .5px 0 color-mix(in srgb,var(--fg) 10%,transparent)}
/* 3.0.2: Naht zwischen Statusleiste und Leiste schließen (Subpixel-Spalt) */
.framed #navbar::before{content:"";position:absolute;left:0;right:0;bottom:100%;height:6px;background:var(--bg);pointer-events:none}
#navbar{transform:none}
.framed #navbar{top:55px;height:51px}
/* 3.0.4: Statusleiste auf dem Handy komplett durchsichtig – die App läuft darunter weiter */
#topfade{display:none!important}
#navbar:not(.on){opacity:0}
.framed #statusbar{background:var(--bg)}
/* keine sichtbaren Scrollbalken (wie am iPhone) */
.view,.sheet,.sm-list{scrollbar-width:none}
.view::-webkit-scrollbar,.sheet::-webkit-scrollbar,.sm-list::-webkit-scrollbar{display:none}

/* ===== 3.1 Sponsor PiHILL ===== */
.sp-sponsor{position:absolute;left:0;right:0;bottom:calc(46px + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;align-items:center;gap:8px;color:rgba(255,255,255,.8);font-weight:700;font-size:0.7353rem;letter-spacing:.04em;text-transform:uppercase;animation:spFade .6s ease 1.2s both}
.sp-sponsor img{width:92px;height:auto;opacity:.95}
.framed .sp-sponsor{bottom:46px}
.sp-foot{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;margin:26px 0 0;padding:12px;border:0;background:none;color:var(--muted);font:700 12px/1 var(--f-body,inherit);letter-spacing:.05em;text-transform:uppercase;cursor:pointer;opacity:.85}
.sp-foot img{height:34px;width:auto}
[data-theme=dark] .sp-foot img,.dark .sp-foot img{filter:invert(1) brightness(1.6)}
@media (prefers-color-scheme:dark){html:not([data-theme=light]) .sp-foot img,html:not([data-theme=light]) .spw img,html:not([data-theme=light]) .sp-hero img,html:not([data-theme=light]) .sponsor-ic{filter:invert(1) brightness(1.6)}}
[data-theme=dark] .spw img,[data-theme=dark] .sp-hero img{filter:invert(1) brightness(1.6)}
.spw{position:relative;margin-top:22px;border-radius:20px;background:var(--surface);box-shadow:0 0 0 1px var(--line);overflow:hidden}
.spw-ad{position:absolute;top:9px;right:12px;font-size:0.6471rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);background:var(--surface-2);padding:3px 8px;border-radius:999px}
.spw-main{display:flex;align-items:center;gap:14px;width:100%;padding:16px 14px 14px;border:0;background:none;text-align:left;color:inherit;cursor:pointer}
.spw-main img{width:58px;height:58px;object-fit:contain;flex:none}
.spw-main b{display:block;font-family:var(--f-display);font-size:0.9706rem;margin-bottom:2px}
.spw-main small{color:var(--muted);font-size:0.7647rem;font-weight:600;line-height:1.35}
.spw-ad-btn{display:block;width:100%;border:0;border-top:1px solid var(--line);background:var(--herb-soft);color:var(--herb);font:700 14px/1.2 inherit;padding:12px;cursor:pointer}
.sp-sheet .sp-hero{position:relative;display:grid;place-items:center;padding:26px 0 10px;border-radius:22px;background:var(--surface-2)}
.sp-sheet .sp-hero img{width:150px;height:auto}
.sp-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:16px 0}
.sp-facts div{background:var(--surface-2);border-radius:14px;padding:10px;text-align:center}
.sp-facts b{display:block;font-family:var(--f-display);font-size:0.9412rem}.sp-facts small{color:var(--muted);font-weight:700;font-size:0.7059rem}
.adbox{position:fixed;inset:0;z-index:200;background:#F6EFE6;display:flex;align-items:center;justify-content:center;animation:fadeIn .25s ease both}
.framed .adbox{position:absolute}
#phone .adbox,#screen .adbox{position:absolute}
.adbox video{width:100%;height:100%;object-fit:contain;background:#F6EFE6}
.ad-top{position:absolute;top:calc(14px + env(safe-area-inset-top,0px));left:14px;right:60px;display:flex;align-items:center;gap:10px}
.ad-top .spw-ad{position:static;background:rgba(78,69,66,.12);color:#4E4542}
.ad-left{min-width:34px;height:34px;border-radius:50%;background:#4E4542;color:#fff;display:grid;place-items:center;font-weight:800;font-size:0.8235rem}
.ad-x{position:absolute;top:calc(12px + env(safe-area-inset-top,0px));right:14px;width:38px;height:38px;border-radius:50%;border:0;background:rgba(78,69,66,.14);color:#4E4542;font-size:0.9412rem;cursor:pointer}
.ad-bar{position:absolute;left:0;right:0;bottom:0;height:5px;background:rgba(78,69,66,.12)}
.ad-bar i{display:block;height:100%;width:0;background:#4E4542}
.ad-msg{position:absolute;left:16px;right:16px;bottom:calc(22px + env(safe-area-inset-bottom,0px));text-align:center;background:#fff;color:#4E4542;border-radius:16px;padding:12px 14px;font-weight:700;font-size:0.8529rem;box-shadow:0 8px 24px rgba(78,69,66,.18)}
@keyframes fadeIn{from{opacity:0}}
.acc-row{display:flex;gap:10px;flex-wrap:wrap}
.acc{border:0;background:none;display:flex;flex-direction:column;align-items:center;gap:6px;cursor:pointer;color:var(--muted);font-weight:700}
.acc i{width:40px;height:40px;border-radius:50%;background:var(--c);box-shadow:0 0 0 3px var(--surface),0 0 0 4px var(--line)}
.acc[aria-pressed=true] i{box-shadow:0 0 0 3px var(--surface),0 0 0 6px var(--c)}
.acc small{font-size:0.7059rem}
html[data-accent=blue]{--herb:#2D6CB5;--herb-soft:#DCE8F6}
html[data-accent=berry]{--herb:#B03A6B;--herb-soft:#F6DCE7}
html[data-accent=violet]{--herb:#6B4BC4;--herb-soft:#E6DFF7}
html[data-accent=amber]{--herb:#B86E0E;--herb-soft:#F8E8CF}
html[data-theme=dark][data-accent=blue]{--herb:#7DB2F0;--herb-soft:#15263A}
html[data-theme=dark][data-accent=berry]{--herb:#EE86B2;--herb-soft:#3A1828}
html[data-theme=dark][data-accent=violet]{--herb:#A994F2;--herb-soft:#241B3D}
html[data-theme=dark][data-accent=amber]{--herb:#F2B054;--herb-soft:#3A2810}
@media (prefers-color-scheme:dark){
html:not([data-theme=light])[data-accent=blue]{--herb:#7DB2F0;--herb-soft:#15263A}
html:not([data-theme=light])[data-accent=berry]{--herb:#EE86B2;--herb-soft:#3A1828}
html:not([data-theme=light])[data-accent=violet]{--herb:#A994F2;--herb-soft:#241B3D}
html:not([data-theme=light])[data-accent=amber]{--herb:#F2B054;--herb-soft:#3A2810}}
.spw-main{padding-top:30px}
.spw>.spw-ad{left:14px;right:auto}
/* ===== 3.2 Profil ===== */
.avatar,.r-hero,.st-big,.nb-av{position:relative}
.avi{display:grid;place-items:center;width:100%;height:100%;border-radius:50%;overflow:hidden;line-height:1}
.avi img{width:100%;height:100%;object-fit:cover;display:block}
.avatar .avi.has-pc{box-shadow:inset 0 0 0 2.5px var(--pc);background:color-mix(in srgb,var(--pc) 16%,transparent)}
.avatar.sm .avi.has-pc{box-shadow:inset 0 0 0 2px var(--pc)}
.avatar:has(.avi img){padding:0;overflow:hidden}
.avatar .avi.has-pc img{padding:2.5px;border-radius:50%}
.r-hero .avi,.st-big .avi{width:1.25em;height:1.25em;margin:0 auto}
.nb-av .avi{width:100%;height:100%}
.pf-edit{display:flex;align-items:center;gap:16px;margin:4px 0 14px}
.pf-big{width:86px!important;height:86px!important;font-size:44px!important}
.pf-btns{display:flex;flex-direction:column;align-items:flex-start;gap:6px}
.pf-cols{display:flex;flex-wrap:wrap;gap:10px}
.pf-cols button{width:36px;height:36px;border-radius:50%;border:0;background:var(--c);color:var(--muted);font-weight:800;cursor:pointer;box-shadow:0 0 0 3px var(--surface),0 0 0 4px var(--line)}
.pf-cols button[aria-pressed=true]{box-shadow:0 0 0 3px var(--surface),0 0 0 6px var(--c)}
.pf-card{position:relative;text-align:center;margin:-6px -4px 0}
.pf-cover{height:96px;border-radius:22px;background:linear-gradient(135deg,var(--pcc),color-mix(in srgb,var(--pcc) 55%,#fff))}
.pf-hero{width:104px!important;height:104px!important;font-size:54px!important;margin:-56px auto 0;border-width:4px!important}
.pf-hero .avi.has-pc{box-shadow:none;background:color-mix(in srgb,var(--pc) 16%,var(--surface))}
.pf-status{margin:6px 16px 0;font-weight:700;font-size:0.8824rem}
.pf-tags{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin-top:10px}
.pf-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:16px}
.pf-stats div{background:var(--surface-2);border-radius:16px;padding:12px 6px;text-align:center}
.pf-stats b{display:block;font-family:var(--f-display);font-size:1.4118rem}
.pf-stats small{color:var(--muted);font-weight:700;font-size:0.7059rem}
/* ===== Party / Countdown ===== */
.party-card{position:relative;overflow:hidden;margin:4px 0 14px;padding:18px 18px 16px;border-radius:24px;color:#fff;
  background:linear-gradient(135deg,#6B3FD4 0%,#C2408F 55%,#F08A3C 100%);box-shadow:0 14px 30px -14px rgba(107,63,212,.6)}
.pty-conf{position:absolute;inset:0;pointer-events:none}
.pty-conf i{position:absolute;font-style:normal;font-size:1.2941rem;opacity:.85;top:calc(6% + var(--i)*10%);right:calc(4% + var(--i)*3%);animation:ptyFloat calc(2.6s + var(--i)*.35s) ease-in-out infinite alternate}
@keyframes ptyFloat{from{transform:translateY(-6px) rotate(-10deg)}to{transform:translateY(8px) rotate(12deg)}}
.pty-k{display:inline-block;font-size:0.6765rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;background:rgba(255,255,255,.2);padding:4px 10px;border-radius:999px}
.pty-t{display:block;position:relative;font-family:var(--f-display);font-size:1.4118rem;letter-spacing:-.02em;margin:10px 0 12px;max-width:72%}
.pty-cd{position:relative;display:flex;gap:8px}
.pty-cd span{min-width:64px;background:rgba(255,255,255,.95);color:#4A2A8C;border-radius:14px;padding:6px 8px 7px;text-align:center}
.pty-cd b{display:block;font-family:var(--f-display);font-size:1.5294rem;font-variant-numeric:tabular-nums;line-height:1.1}
.pty-cd small{font-size:0.6471rem;font-weight:800;opacity:.7}
.pty-s{display:block;position:relative;margin-top:12px;font-weight:700;font-size:0.7941rem;opacity:.92}
.party-chip{display:flex;align-items:center;gap:8px;width:100%;margin:-4px 0 12px;padding:9px 14px;border:0;border-radius:14px;cursor:pointer;color:#fff;font:700 13.5px/1.2 var(--f-body);
  background:linear-gradient(90deg,#6B3FD4,#C2408F,#F08A3C)}
.party-chip b{flex:1;text-align:left}
.pc-t{font-family:var(--f-display);font-weight:800;font-variant-numeric:tabular-nums;background:rgba(255,255,255,.22);padding:3px 9px;border-radius:999px}
html.party:not(.banned) #views::after{content:"";position:absolute;left:0;right:0;top:0;height:140px;pointer-events:none;z-index:1;opacity:.5;
  background-image:radial-gradient(circle,#C2408F 1.6px,transparent 2.2px),radial-gradient(circle,#F0A23C 1.6px,transparent 2.2px),radial-gradient(circle,#6B3FD4 1.4px,transparent 2px);
  background-size:46px 38px,58px 44px,70px 52px;background-position:6px 10px,24px 30px,40px 4px;-webkit-mask-image:linear-gradient(#000,transparent);mask-image:linear-gradient(#000,transparent)}
@media (prefers-reduced-motion:reduce){.pty-conf i{animation:none}}
/* 3.2.2 Statusleisten-Farbe für iOS 26 */
#sbcol{display:none}
html:not(.framed) #sbcol{display:block;position:fixed;left:0;right:0;top:0;height:max(env(safe-area-inset-top,0px),1px);background:var(--sb,var(--bg));z-index:1000;pointer-events:none}
/* 3.2.4: Ladebildschirm in App-Farbe – das iPhone übernimmt die Farbe beim Start für den Bereich hinter Uhrzeit/Akku */
#splash,.halloween #splash,.advent #splash{background:var(--bg)}
.sp-glow{background:radial-gradient(circle,color-mix(in srgb,var(--herb) 22%,transparent),transparent 65%)}
.sp-word{color:var(--fg)}
.sp-word .sp-q{color:var(--tomato,#E0533D)}
.sp-claim{color:var(--muted)}
.sp-icon rect{fill:var(--herb)}
.sp-icon .sp-steam{stroke:#fff}
.sp-icon .sp-pot,.sp-icon .sp-lid{fill:#fff}
.sp-icon{filter:drop-shadow(0 14px 24px color-mix(in srgb,var(--herb) 35%,transparent))}
.sp-sponsor{color:var(--muted)}
[data-theme=dark] .sp-ph{filter:invert(1) brightness(1.6)}
@media (prefers-color-scheme:dark){html:not([data-theme=light]) .sp-ph{filter:invert(1) brightness(1.6)}}
/* ===== 4.0 ===== */
.wk-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}
.wk-extra{border:0;background:var(--surface-2);border-radius:12px;padding:7px 10px;text-align:left;font:600 13px/1.3 var(--f-body);color:var(--fg);cursor:pointer}
.out-row{display:flex;gap:8px}.out-row .input{flex:1;min-width:0}
.shop-name{border:0;background:none;text-align:left;color:inherit;font:inherit;padding:0;cursor:pointer;display:flex;flex-direction:column;gap:2px;min-width:0}
.shop-note{color:var(--muted);font-weight:700;font-size:0.7353rem}
.shop-who{color:var(--herb);font-weight:800;font-size:0.7059rem}
.live-shop{background:var(--herb-soft);color:var(--fg);align-items:center}
.ls-dot{width:10px;height:10px;border-radius:50%;background:var(--herb);box-shadow:0 0 0 0 var(--herb);animation:lsPulse 1.6s infinite;flex:none}
@keyframes lsPulse{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--herb) 60%,transparent)}100%{box-shadow:0 0 0 10px transparent}}
.mic-btn{padding:0 14px}.mic-btn.on{background:var(--tomato-soft);color:var(--tomato);animation:lsPulse 1.2s infinite}
.fam-warn{background:var(--tomato-soft);color:var(--tomato);margin-top:12px;font-size:0.8235rem}
.fam-warn b{display:block;margin-bottom:4px}
.notes,.board{padding:8px 14px}
.note-row{display:flex;gap:10px;align-items:flex-start;padding:8px 0;border-bottom:1px solid var(--line);font-size:0.8235rem}
.note-row:last-child{border-bottom:0}
.note-row .x{border:0;background:none;color:var(--muted);cursor:pointer;padding:2px}
.note-add,.board-add{display:flex;gap:8px;padding:8px 0}.note-add .input,.board-add .input{flex:1;min-width:0}
.step-t{border:0;background:var(--herb-soft);color:var(--herb);font:800 13px/1 var(--f-body);padding:4px 8px;border-radius:999px;cursor:pointer;white-space:nowrap}
.prep{padding:4px 12px}
.prep-row{display:flex;align-items:center;gap:10px;width:100%;border:0;background:none;padding:10px 2px;border-bottom:1px solid var(--line);font:600 15px/1.3 var(--f-body);color:var(--fg);text-align:left;cursor:pointer}
.prep-row:last-child{border-bottom:0}
.prep-row .tick{width:22px;height:22px;border-radius:7px;border:2px solid var(--line);flex:none;display:grid;place-items:center;font-size:0.7647rem;color:#fff}
.prep-row.on .tick{background:var(--herb);border-color:var(--herb)}.prep-row.on .tick::after{content:"✓"}
.prep-row.on{color:var(--muted);text-decoration:line-through}
.prep-bar{height:6px;border-radius:9px;background:var(--surface-2);margin-top:12px;overflow:hidden}.prep-bar i{display:block;height:100%;width:0;background:var(--herb);transition:width .25s}
.rank .rk{width:28px;text-align:center;font-size:1.0588rem}
.party-g{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;font-weight:800}
.stepper{display:flex;align-items:center;gap:14px}.stepper button{width:40px;height:40px;border-radius:50%;border:0;background:var(--surface-2);font:800 20px/1 var(--f-body);color:var(--fg);cursor:pointer}.stepper b{font-family:var(--f-display);font-size:1.4118rem;min-width:32px;text-align:center}
.chk{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--surface-2);font-weight:800;flex:none}.chk.on{background:var(--herb);color:#fff}
.rc .x{border:0;background:none;color:var(--muted);cursor:pointer}
.coll-row{display:flex;gap:8px;overflow-x:auto;margin:0 -4px 12px;padding:2px 4px;scrollbar-width:none}
.coll{flex:none;display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:110px;padding:10px 12px;border-radius:16px;border:0;background:var(--surface);box-shadow:0 0 0 1px var(--line);text-align:left;cursor:pointer;color:var(--fg)}
.coll span{font-size:1.2941rem}.coll b{font-size:0.8235rem}.coll small{color:var(--muted);font-weight:700}
.coll.add{background:var(--surface-2);box-shadow:none}
.week-actions{flex-wrap:wrap}
/* 4.0 Bugfixes Darstellung (kleine Handys, große Schrift) */
.seg{overflow-x:auto;scrollbar-width:none;max-width:100%}.seg::-webkit-scrollbar{display:none}
.seg button{white-space:nowrap}
.who{min-width:0;max-width:100%}
.frow{flex-wrap:wrap}
.frow>*{min-width:0}
.plus-head{margin-left:calc(-18px / var(--tz,1));margin-right:calc(-18px / var(--tz,1))}
.sr-chips{margin-left:calc(-18px / var(--tz,1));margin-right:calc(-18px / var(--tz,1));padding-left:calc(18px / var(--tz,1));padding-right:calc(18px / var(--tz,1))}
.fchips{margin-left:calc(-18px / var(--tz,1));margin-right:calc(-18px / var(--tz,1));padding-left:calc(18px / var(--tz,1));padding-right:calc(18px / var(--tz,1))}
.r-photo{margin-left:calc(-18px / var(--tz,1));margin-right:calc(-18px / var(--tz,1))}
.offline-bar{margin:-4px 0 12px;padding:10px 14px;border-radius:14px;background:var(--yolk-soft);color:var(--fg);font-size:0.7941rem;font-weight:600;line-height:1.35}
.top>div:first-child{min-width:0;flex:1}
.top .h1{overflow-wrap:anywhere}
.top .avatar{flex:none}
.pty-btn{position:relative;margin-top:12px;border:0;border-radius:999px;background:#fff;color:#4A2A8C;font:800 14px/1 var(--f-body);padding:10px 16px;cursor:pointer}

/* ---------- Hilfe & Support (Version 4.2) ---------- */
.sup-badge{min-width:22px;height:22px;padding:0 7px;border-radius:11px;background:var(--tomato);color:#fff;font-size:0.7059rem;font-weight:800;display:inline-grid;place-items:center;flex:none}
.sup-status{display:flex;flex-direction:column;gap:2px;padding:12px 14px;border-radius:16px;background:var(--herb-soft);color:var(--herb);font-size:0.8235rem;margin-bottom:10px}
.sup-status.warn{background:var(--yolk-soft);color:var(--fg)}
.sup-status.warn b{color:var(--yolk-ink)}
.sup-online{display:flex;align-items:center;gap:8px;font-size:0.7941rem;font-weight:700;color:var(--muted);margin:0 2px 14px}
.sup-online i{width:9px;height:9px;border-radius:50%;background:var(--muted);flex:none}
.sup-online.on{color:var(--herb)}
.sup-online.on i{background:#2fbf63;box-shadow:0 0 0 0 rgba(47,191,99,.6);animation:supPulse 1.8s infinite}
@keyframes supPulse{70%{box-shadow:0 0 0 8px rgba(47,191,99,0)}100%{box-shadow:0 0 0 0 rgba(47,191,99,0)}}
.sup-acts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.sup-act{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:14px 12px;border-radius:20px;border:1px solid var(--line);background:var(--surface);text-align:left;cursor:pointer;min-width:0;transition:transform .25s cubic-bezier(.34,1.56,.64,1)}
.sup-act:active{transform:scale(.96)}
.sup-act span{font-size:1.5294rem;margin-bottom:4px}
.sup-act b{font-size:0.8824rem}
.sup-act small{font-size:0.7059rem;color:var(--muted);font-weight:600}
.sup-act.red{background:var(--tomato-soft);border-color:transparent}
.sup-act.red b{color:var(--tomato)}
.sup-plus{font-size:0.7647rem;color:var(--muted);font-weight:600;margin:12px 2px 0}
.sup-faq{padding:4px 16px}
.sup-faq details{border-bottom:1px solid var(--line);padding:12px 0}
.sup-faq details:last-of-type{border-bottom:0}
.sup-faq summary{font-weight:700;cursor:pointer;list-style:none}
.sup-faq summary::-webkit-details-marker{display:none}
.sup-faq summary::after{content:"+";float:right;color:var(--muted);font-weight:800}
.sup-faq details[open] summary::after{content:"–"}
.sup-faq p{margin:8px 0 0;color:var(--muted);font-size:0.8235rem}
.sup-none{padding:14px 0;text-align:center;font-size:0.8235rem}
#sup-q{margin-bottom:10px}
.sup-back{display:block;color:var(--herb);font-weight:800;font-size:0.8235rem;margin:0 0 6px}
.sup-tip{padding:12px 14px;border-radius:16px;background:var(--yolk-soft);font-size:0.8235rem;font-weight:600;margin-bottom:14px}
.sup-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:-4px 0 12px;font-size:0.7647rem}
.sup-meta .chip{font-size:0.7059rem;font-weight:800;padding:3px 9px;border-radius:999px;background:var(--surface-2)}
.sup-meta .c-yolk{background:var(--yolk-soft);color:var(--yolk-ink)}
.sup-meta .c-herb{background:var(--herb-soft);color:var(--herb)}
.sup-meta .c-tomato{background:var(--tomato-soft);color:var(--tomato)}
.sup-chat{display:flex;flex-direction:column;gap:8px;max-height:46vh;overflow-y:auto;padding:4px 2px 8px}
.bub{max-width:82%;padding:10px 13px;border-radius:20px;font-size:0.8529rem;line-height:1.4;display:flex;flex-direction:column;gap:2px;animation:bubIn .35s cubic-bezier(.2,.8,.2,1) both;overflow-wrap:anywhere;white-space:pre-wrap}
.bub.me{align-self:flex-end;background:var(--herb);color:var(--herb-ink);border-bottom-right-radius:6px}
.bub.them{align-self:flex-start;background:var(--surface-2);border-bottom-left-radius:6px}
.bub b{font-size:0.7059rem;color:var(--herb)}
.bub small{font-size:0.6471rem;opacity:.7;align-self:flex-end}
@keyframes bubIn{from{opacity:0;transform:translateY(8px) scale(.97)}}
.sup-wait{align-self:center;font-size:0.7353rem;color:var(--muted);font-weight:600;padding:4px 10px}
.sup-rate{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:12px 14px;border-radius:16px;background:var(--surface-2);font-weight:700;font-size:0.8235rem;margin:8px 0}
.sup-rate div{display:flex;gap:8px}
.sup-input{display:flex;gap:8px;align-items:flex-end;margin-top:8px}
.sup-input textarea{flex:1;min-height:46px;resize:none}
.sup-input .btn{width:48px;min-height:46px;padding:0;flex:none;font-size:1.0588rem}
.sup-chips{display:flex;flex-wrap:wrap;gap:8px}
.chip-btn{padding:8px 14px;border-radius:999px;border:1px solid var(--line);background:var(--surface);font-weight:700;cursor:pointer}
.chip-btn[aria-pressed="true"]{background:var(--tomato);color:#fff;border-color:transparent}
.note-row .x.rep{font-size:0.8235rem;opacity:.55}
@media (max-width:360px){ .sup-acts{grid-template-columns:1fr 1fr 1fr;gap:6px} .sup-act{padding:12px 8px} .sup-act small{display:none} }

/* ---------- Design-Feinschliff nach Apple-Richtlinien (4.2) ---------- */
.fsum{display:flex;align-items:center;gap:10px;width:100%;padding:12px 14px;margin:12px 0 0;border-radius:16px;border:1px solid var(--line);background:var(--surface);color:var(--fg);font-size:0.8529rem;text-align:left;cursor:pointer}
.fsum .grow{flex:1;min-width:0;color:var(--muted)}
.fsum .grow b{color:var(--fg)}
.fsum.on{border-color:var(--herb);background:var(--herb-soft)}
.fsum-ic{font-size:1rem;color:var(--muted)}
.fsum-chev{color:var(--muted);font-size:0.7647rem}
#home-filters{margin-top:8px}
/* Rückblick-Karte ruhig in App-Farben – die Plan-Karte bleibt die einzige laute Stelle */
.wrapped-card{background:var(--surface) !important;color:var(--fg) !important;border:1px solid var(--line) !important;box-shadow:none !important}
.wrapped-card .wc-glow{display:none}
.wrapped-card small{color:var(--muted);opacity:1}
.wrapped-card .wc-em{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:var(--herb-soft);font-size:1.4118rem}
.ing-ok{display:inline-grid;place-items:center;width:17px;height:17px;border-radius:50%;background:var(--herb);color:var(--herb-ink);font-size:0.6471rem;font-weight:900;margin-right:5px;vertical-align:-2px}
#home-filters[hidden]{display:none !important}
#home-filters .frow{flex-direction:column;align-items:stretch;gap:8px}
#home-filters .frow .seg{display:flex;width:100%}
#home-filters .frow .seg button{flex:1}

/* ---------- 4.3: Neuer Ladebildschirm – „Der Teller füllt sich" ---------- */
#splash{display:flex !important;flex-direction:column;align-items:center;justify-content:center;gap:0;background:var(--bg) !important;animation:s2Out .5s cubic-bezier(.6,0,.4,1) 2.75s forwards !important}
#splash.gone{display:none !important}
.s2-stage{position:relative;width:200px;height:200px;animation:s2Lift .6s cubic-bezier(.3,1.4,.5,1) 1.55s both}
.s2-plate{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.s2-rim{fill:var(--surface);stroke:var(--line);stroke-width:2;filter:drop-shadow(0 16px 24px rgba(22,32,26,.14));transform-origin:110px 110px;animation:s2Plate .55s cubic-bezier(.3,1.5,.5,1) both}
.s2-in{fill:none;stroke:var(--herb);stroke-width:3;stroke-dasharray:465;stroke-dashoffset:465;opacity:.55;animation:s2Draw .9s cubic-bezier(.4,0,.2,1) .15s forwards}
.s2-food span{position:absolute;left:50%;top:50%;font-size:46px;line-height:1;margin:-23px 0 0 -23px;opacity:0;
  transform:rotate(var(--a)) translateX(240px) rotate(calc(-1 * var(--a)));animation:s2Fly .7s cubic-bezier(.3,1.35,.5,1) var(--d) forwards}
.s2-food span:last-child{font-size:52px;z-index:2}
.s2-word{margin-top:26px;font-family:var(--f-display);font-weight:800;font-size:38px;letter-spacing:-.03em;color:var(--fg);display:flex;align-items:baseline;gap:.25em;opacity:0;animation:s2Up .5s cubic-bezier(.3,1.4,.5,1) .55s forwards}
.s2-slot{position:relative;display:inline-block;height:1.15em;overflow:hidden;color:var(--herb);width:3.3em}
.s2-slot i{position:absolute;left:0;top:0;font-style:normal;white-space:nowrap;transform:translateY(110%);opacity:0}
.s2-slot i:nth-child(1){animation:s2Tick .34s ease .8s both}
.s2-slot i:nth-child(2){animation:s2Tick .34s ease 1.1s both}
.s2-slot i:nth-child(3){animation:s2Tick .34s ease 1.4s both}
.s2-slot i:nth-child(4){color:var(--tomato);animation:s2Land .5s cubic-bezier(.3,1.6,.5,1) 1.7s both}
.s2-claim{margin-top:8px;color:var(--muted);font-weight:700;font-size:15px;opacity:0;animation:s2Fade .5s ease 1.95s forwards}
.s2-sponsor{position:absolute;left:0;right:0;bottom:calc(36px + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;align-items:center;gap:6px;color:var(--muted);font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:0;animation:s2Fade .6s ease .9s forwards}
.s2-sponsor img{height:46px;width:auto}
@keyframes s2Plate{from{transform:scale(.2);opacity:0}}
@keyframes s2Draw{to{stroke-dashoffset:0}}
@keyframes s2Fly{0%{opacity:0}30%{opacity:1}100%{opacity:1;transform:translate(var(--x),var(--y)) rotate(var(--r))}}
@keyframes s2Lift{0%{transform:none}45%{transform:translateY(-8px) scale(1.04)}100%{transform:none}}
@keyframes s2Up{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes s2Tick{0%{transform:translateY(110%);opacity:0}35%,70%{transform:none;opacity:1}100%{transform:translateY(-110%);opacity:0}}
@keyframes s2Land{from{transform:translateY(110%) scale(.9);opacity:0}to{transform:none;opacity:1}}
@keyframes s2Fade{to{opacity:1}}
@keyframes s2Out{to{opacity:0;transform:scale(1.04)}}
@media (max-width:350px){ .s2-word{font-size:32px} .s2-stage{width:170px;height:170px} }

.sp-hint{display:flex;align-items:center;gap:10px;width:100%;margin:14px 0 4px;padding:9px 12px;border-radius:16px;border:1px dashed color-mix(in srgb,var(--muted) 35%,transparent);background:transparent;color:var(--fg);text-align:left;cursor:pointer}
.sp-hint img{width:34px;height:34px;object-fit:contain;flex:none}
.sp-hint .grow{min-width:0;display:flex;flex-direction:column}
.sp-hint b{font-size:0.8235rem;font-weight:700;line-height:1.3}
.sp-hint small{font-size:0.7059rem;color:var(--muted);font-weight:600}
.sp-hint-ad{flex:none;font-size:0.6471rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);border:1px solid var(--line);border-radius:6px;padding:2px 6px}
[data-theme=dark] .sp-hint img{filter:invert(1) brightness(1.6)}
@media (prefers-color-scheme:dark){html:not([data-theme=light]) .sp-hint img{filter:invert(1) brightness(1.6)}}
.ad-snd{width:34px;height:34px;border-radius:50%;border:0;background:rgba(78,69,66,.14);font-size:15px;cursor:pointer}
/* Rückgängig-Leiste */
#toast.undo{display:flex;align-items:center;gap:14px;pointer-events:auto;padding:8px 8px 8px 16px;min-width:min(340px,92%);text-align:left}
#toast.undo span{flex:1}
.undo-btn{border:0;border-radius:12px;background:color-mix(in srgb,var(--bg) 18%,transparent);color:var(--bg);font:800 0.8235rem/1 var(--f-body);padding:10px 12px;cursor:pointer;white-space:nowrap}
