/* STS Schüler-App */
:root{
  --bg:#f2f2f7;--card:#fff;--ink:#1d1d1f;--ink2:#6e6e73;--ink3:#aeaeb2;--line:rgba(60,60,67,.12);--fill:rgba(118,118,128,.12);
  --accent:#0a84ff;--indigo:#5e5ce6;--purple:#bf5af2;--green:#30d158;--red:#ff3b30;
  --sh:0 1px 2px rgba(0,0,0,.04),0 10px 26px -12px rgba(0,0,0,.16);
  --spring:linear(0,.009,.035 2.1%,.141 4.4%,.723 15.5%,.938 21.6%,1.017 26.6%,1.043 31.6%,1.035 37.7%,1.007 53.3%,.998 63.7%,1);
  color-scheme:light dark;
}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#000;--card:#1c1c1e;--ink:#f5f5f7;--ink2:#a1a1a6;--ink3:#636366;--line:rgba(84,84,88,.5);--fill:rgba(118,118,128,.24)}}:root[data-theme=dark]{--bg:#000;--card:#1c1c1e;--ink:#f5f5f7;--ink2:#a1a1a6;--ink3:#636366;--line:rgba(84,84,88,.5);--fill:rgba(118,118,128,.24)}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;min-height:100%;background:var(--bg);color:var(--ink);font:16px/1.45 -apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Roboto,sans-serif;-webkit-font-smoothing:antialiased}
.app{max-width:560px;margin:0 auto;min-height:100vh;padding:calc(14px + env(safe-area-inset-top)) 16px calc(30px + env(safe-area-inset-bottom))}
.splash{min-height:80vh;display:grid;place-items:center}
.logo{display:inline-block;width:64px;height:64px;flex:none;vertical-align:middle;filter:drop-shadow(0 6px 12px rgba(94,92,230,.35))}.logo svg{display:block;width:100%;height:100%}
.splash .logo{animation:pulse 1.4s ease-in-out infinite}
@keyframes pulse{50%{transform:scale(.92)}}
h1{font:700 32px/1.12 -apple-system,"SF Pro Display",sans-serif;letter-spacing:-.025em;margin:10px 4px 4px}
.sub{color:var(--ink2);margin:0 4px 18px;font-size:15px}
.card{background:var(--card);border-radius:22px;padding:18px;box-shadow:var(--sh);margin-bottom:12px;animation:up .6s var(--spring) both;animation-delay:var(--d,0ms)}
@keyframes up{from{opacity:0;transform:translateY(16px) scale(.98)}}
.ct{font-size:12px;font-weight:700;color:var(--ink2);text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px}
.hero{background:linear-gradient(140deg,var(--indigo),var(--purple));color:#fff;position:relative;overflow:hidden}
.hero:after{content:"";position:absolute;right:-30px;top:-40px;width:150px;height:150px;border-radius:50%;background:rgba(255,255,255,.18)}
.hero .ct{color:rgba(255,255,255,.85)}.hero b{font-size:20px;display:block}
.soon{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.soon div{background:var(--fill);border-radius:16px;padding:14px;font-size:14px;font-weight:600}
.soon span{display:block;font-size:24px;margin-bottom:6px}
.muted{color:var(--ink2)}.sm{font-size:13px}
/* Onboarding */
.onb{min-height:calc(100vh - 60px);display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}
.onb .logo{margin:0 auto 18px}
.err{min-height:22px;color:var(--red);font-size:14px;font-weight:600;margin:4px 0 10px;max-width:340px}
.btn{display:block;width:100%;max-width:330px;margin:8px auto;border:0;border-radius:16px;padding:16px;font:600 17px -apple-system,sans-serif;color:#fff;background:linear-gradient(180deg,#3d9bff,var(--accent));box-shadow:0 12px 24px -10px rgba(10,132,255,.9);cursor:pointer;transition:transform .35s var(--spring),opacity .3s}
.btn:active{transform:scale(.96)}.btn:disabled{opacity:.4}
.btn.ghost{background:none;color:var(--accent);box-shadow:none}
.tip{margin:22px auto 0;max-width:360px;text-align:left;background:var(--card);border-radius:18px;padding:14px 16px;box-shadow:var(--sh);font-size:14px}
.tip b{display:block;margin-bottom:6px}
.tip ol{margin:0;padding-left:20px}.tip li{margin:3px 0}
.ok{width:72px;height:72px;border-radius:50%;background:var(--green);color:#fff;display:grid;place-items:center;font-size:38px;margin:0 auto 14px;animation:okp .7s var(--spring)}
@keyframes okp{from{transform:scale(0) rotate(-40deg)}}
.foot{text-align:center;margin-top:24px}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

.btn.sec{background:var(--card);color:var(--accent);box-shadow:var(--sh)}
.tip{font-size:13.5px}.tip b{display:block}
.search{width:100%;font:16px -apple-system,sans-serif;padding:13px 16px;border-radius:14px;border:0;background:var(--card);box-shadow:var(--sh);margin-bottom:12px;color:var(--ink);outline:0}
.names{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.nm{border:0;border-radius:16px;padding:16px 10px;background:var(--card);box-shadow:var(--sh);font:600 16px -apple-system,sans-serif;color:var(--ink);cursor:pointer;transition:transform .3s var(--spring)}
.nm:active{transform:scale(.94);background:var(--accent);color:#fff}
.spin{width:54px;height:54px;border-radius:50%;border:5px solid var(--fill);border-top-color:var(--accent);animation:sp 1s linear infinite;margin-bottom:16px}
@keyframes sp{to{transform:rotate(360deg)}}
.scanw{position:fixed;inset:0;background:#000;z-index:10}
.scanw video{width:100%;height:100%;object-fit:cover}
.frame{position:absolute;left:50%;top:44%;width:66vw;max-width:300px;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:28px;box-shadow:0 0 0 100vmax rgba(0,0,0,.45);border:3px solid rgba(255,255,255,.9)}
.scanhint{position:absolute;left:0;right:0;top:calc(44% + min(33vw,150px) + 22px);text-align:center;color:#fff;font-weight:600}
.scanw .close{position:absolute;left:50%;transform:translateX(-50%);bottom:calc(30px + env(safe-area-inset-bottom));max-width:260px}
.pkcard{background:linear-gradient(140deg,#e9f6ff,#efeaff)}.pkcard b{display:block;font-size:18px;margin-bottom:4px}.pkcard .btn{margin:12px 0 0;max-width:none}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .pkcard{background:linear-gradient(140deg,#0b2a44,#241b44)}}:root[data-theme=dark] .pkcard{background:linear-gradient(140deg,#0b2a44,#241b44)}
.hero .tav{position:absolute;right:16px;top:50%;transform:translateY(-50%);width:62px;height:62px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 3px rgba(255,255,255,.6);z-index:1}
.hero b,.hero .ct,.hero span{position:relative;z-index:1;padding-right:70px;display:block}
.onb a,.foot a{color:var(--ink2)}
.grade{font:800 120px/1 -apple-system,"SF Pro Rounded",sans-serif;letter-spacing:-.04em;background:linear-gradient(135deg,var(--indigo),var(--purple));-webkit-background-clip:text;background-clip:text;color:transparent;margin:10px 0;animation:okp .8s var(--spring)}
.chips{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}.chips button{min-width:46px;padding:10px 0;border-radius:12px;border:1px solid var(--line,rgba(60,60,67,.15));background:transparent;color:inherit;font:600 16px/1 inherit;transition:.2s}
.chips button.on{background:#0a84ff;color:#fff;border-color:#0a84ff;transform:scale(1.06)}
.self textarea{width:100%;min-height:64px;border-radius:12px;border:1px solid var(--line,rgba(60,60,67,.15));padding:10px;font:inherit;background:transparent;color:inherit;box-sizing:border-box;margin-bottom:10px}
.self .ok{font-size:40px;color:#30d158}
.glist{list-style:none;margin:6px 0 0;padding:0}.glist li{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-top:1px solid var(--line,rgba(60,60,67,.12))}.glist li:first-child{border:0}
.glist small{display:block;opacity:.6;font-size:12px}.glist em{font-style:normal;font:700 22px/1 inherit}.glist li.new em{color:#0a84ff}
.exr{padding:8px 0}.exr b{display:block}.exr span{font-size:13px;opacity:.65}.exr i{display:block;height:8px;border-radius:99px;background:rgba(120,120,128,.18);margin-top:6px;overflow:hidden}.exr em{display:block;height:100%;background:linear-gradient(90deg,#30d158,#34c759);border-radius:99px;transition:width 1s cubic-bezier(.2,1,.3,1)}
.livec{box-shadow:0 0 0 2px #ff3b30,0 12px 40px rgba(255,59,48,.18);animation:liveIn .5s cubic-bezier(.2,1.4,.4,1)}.livec.done{box-shadow:0 0 0 2px #30d158}@keyframes liveIn{from{transform:translateY(12px) scale(.97);opacity:0}}
.livec .dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#ff3b30;margin-right:6px;animation:blink 1.2s infinite}@keyframes blink{50%{opacity:.25}}
.livec .q{display:block;font-size:20px;line-height:1.25;margin:4px 0 12px}.livec .voted{color:#30d158;font-weight:700;margin:0 0 8px}
.opts{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.opts button,.scale button{border:1px solid rgba(120,120,128,.25);background:transparent;color:inherit;border-radius:14px;padding:14px;font:600 16px/1.2 inherit;text-align:left;transition:.2s}
.opts button.on,.scale button.on{background:#0a84ff;border-color:#0a84ff;color:#fff;transform:scale(1.02)}.scale{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:4px}.scale button{text-align:center;font-size:20px}
.livec input,.livec textarea{width:100%;box-sizing:border-box;border-radius:12px;border:1px solid rgba(120,120,128,.25);background:transparent;color:inherit;padding:12px;font:inherit;margin-bottom:12px}
.pr{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:6px 0}.pr .st button{border:0;background:none;font-size:26px;color:rgba(120,120,128,.35);padding:0 1px}.pr .st button.on{color:#ffcc00}
.rb{position:relative;display:flex;justify-content:space-between;padding:8px 10px;margin:4px 0;border-radius:10px;overflow:hidden;font-size:14px}.rb i{position:absolute;inset:0 auto 0 0;width:var(--w);background:rgba(10,132,255,.15);z-index:-1}
.cloudm{display:flex;flex-wrap:wrap;gap:6px}.cloudm span{padding:6px 10px;border-radius:99px;background:rgba(10,132,255,.12);font-size:14px}
.rb{isolation:isolate}
/* Quiz */
.quiz{position:fixed;inset:0;display:flex;flex-direction:column;background:var(--bg);padding:calc(10px + env(safe-area-inset-top)) 14px calc(14px + env(safe-area-inset-bottom));z-index:20}
.qzh{display:flex;justify-content:space-between;align-items:center;font-weight:600;color:var(--ink2);font-size:14px;padding:4px 4px 10px}
.qzh .x{border:0;background:var(--fill);color:var(--ink2);width:32px;height:32px;border-radius:50%;font-size:14px}
.qzb{flex:1;display:flex;flex-direction:column;gap:12px;min-height:0}
.qwait,.qres{margin:auto;text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px;padding:20px}
.qwait b,.qres b{font-size:26px;letter-spacing:-.02em}.qwait p,.qres p{margin:0}
.qwait .me{width:96px;height:96px;border-radius:50%;object-fit:cover;box-shadow:var(--sh);animation:pulse 1.6s ease-in-out infinite}
.dots{display:flex;gap:6px;margin-top:8px}.dots i{width:9px;height:9px;border-radius:50%;background:var(--indigo);animation:pulse 1s ease-in-out infinite}.dots i:nth-child(2){animation-delay:.15s}.dots i:nth-child(3){animation-delay:.3s}
.big{font-size:72px;line-height:1}
.qtime{height:8px;border-radius:99px;background:var(--fill);overflow:hidden}.qtime i{display:block;height:100%;width:100%;border-radius:99px;background:linear-gradient(90deg,var(--indigo),#ff2d55)}
.qq{font-size:20px;font-weight:700;letter-spacing:-.01em;margin:4px 2px;line-height:1.25}
.qtiles{flex:1;display:grid;grid-template-columns:1fr 1fr;gap:10px}.qtiles.n2{grid-template-columns:1fr}
.qtiles button{border:0;border-radius:22px;color:#fff;font:700 18px/1.2 -apple-system,sans-serif;padding:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;box-shadow:0 10px 24px -12px rgba(0,0,0,.45);transition:transform .25s var(--spring),opacity .3s}
.qtiles button span{font-size:30px}.qtiles button:active{transform:scale(.94)}.qtiles button:disabled{opacity:.4}.qtiles button.on{transform:scale(.96);box-shadow:0 0 0 4px var(--card),0 0 0 7px var(--ink)}
.qtiles .c0{background:linear-gradient(150deg,#ff5a7a,#ff2d55)}.qtiles .c1{background:linear-gradient(150deg,#3a9bff,#0a6cff)}.qtiles .c2{background:linear-gradient(150deg,#ffc933,#ffaa00);color:#3a2a00}.qtiles .c3{background:linear-gradient(150deg,#4cdc74,#20b84a)}
.qmap{flex:1;border-radius:20px;overflow:hidden;min-height:240px}
.qres .pts{font-size:34px;font-weight:800;color:var(--green)}.qres.no .big{color:var(--red)}.qres.yes .big{color:var(--green)}.qres.none .pts{display:none}
.qres .rank{display:flex;gap:18px;margin-top:14px;padding:12px 18px;border-radius:16px;background:var(--card);box-shadow:var(--sh)}
.crownm{font-size:96px;animation:crown 1.1s var(--spring) both}@keyframes crown{from{opacity:0;transform:translateY(-60px) rotate(-25deg) scale(.4)}}
.qres.end .btn{margin-top:18px;width:auto;padding-left:28px;padding-right:28px}
.gmap{position:relative;background:linear-gradient(180deg,#d6e9fb,#c3dcf5);touch-action:none;user-select:none;-webkit-user-select:none}
.gmap svg{position:absolute;inset:0;width:100%;height:100%;display:block}
.gmap .land{fill:#fbf8f1;stroke:#c9bfa8;stroke-width:.8;vector-effect:non-scaling-stroke}.gmap .bord{fill:none;stroke:#d9cfb9;stroke-width:.6;vector-effect:non-scaling-stroke}
.gmap .grat line{stroke:rgba(255,255,255,.5);stroke-width:.7;vector-effect:non-scaling-stroke}
.gmap .pin path{stroke:#fff;stroke-width:2.2}.gz{position:absolute;right:10px;bottom:10px;display:flex;flex-direction:column;gap:4px;padding:4px;border-radius:14px;background:rgba(255,255,255,.8);box-shadow:var(--sh);z-index:2}
.gz button{width:40px;height:40px;border:0;border-radius:10px;background:transparent;font-size:19px;color:#1d1d1f}
/* Quiz: weitere Fragetypen */
.qtools{display:flex;align-items:center;gap:8px;min-height:34px}.qtools .grow{flex:1}.x2{color:#ff9f0a;font-weight:700;font-size:14px}
.jk{border:0;border-radius:999px;padding:7px 14px;font:600 15px -apple-system,sans-serif;background:var(--card);color:var(--ink);box-shadow:0 4px 14px -6px rgba(0,0,0,.3)}
button.jk:active{transform:scale(.94)}.jk.used{opacity:.55;box-shadow:none;background:transparent}
.qimgm{max-height:30vh;max-width:100%;align-self:center;border-radius:18px;box-shadow:0 10px 30px -14px rgba(0,0,0,.4)}
.qtiles button.cut{opacity:.15}.qtiles.ord button{position:relative}.qtiles.ord em{position:absolute;top:8px;right:10px;font:800 22px -apple-system,sans-serif;font-style:normal}
.qtiles.ord button.on{opacity:.75;transform:scale(.95)}.qtiles button.on[data-m]{box-shadow:0 0 0 4px var(--card),0 0 0 7px var(--ink)}
.qpin{position:relative;line-height:0;align-self:center;max-width:100%;flex:1;min-height:0;display:flex;align-items:center}.qpin img{max-width:100%;max-height:52vh;border-radius:18px;box-shadow:0 10px 30px -14px rgba(0,0,0,.4)}
.qpin em{position:absolute;width:26px;height:26px;margin:-13px 0 0 -13px;border-radius:50%;background:#5e5ce6;border:3px solid #fff;box-shadow:0 3px 10px rgba(0,0,0,.4);pointer-events:none}
.qsl{flex:1;display:flex;flex-direction:column;justify-content:center;gap:18px;padding:0 6px}.qsl b{font:800 46px/1 -apple-system,sans-serif;text-align:center;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.qsl input{width:100%;height:44px;accent-color:#5e5ce6}
.qin{font:600 22px -apple-system,sans-serif;padding:16px 18px;border-radius:18px;border:2px solid var(--line,#d1d1d6);background:var(--card);color:var(--ink);text-align:center}
.qin:focus{outline:0;border-color:#5e5ce6}.center{text-align:center}
.qsl .lims{display:flex;justify-content:space-between;font-size:14px;color:var(--ink2,#6e6e73)}
.jk.ff{background:linear-gradient(135deg,#ffd60a,#ff9f0a);color:#3a2a00;box-shadow:0 6px 16px -6px rgba(255,159,10,.7)}.jk b{font-weight:800;letter-spacing:-.02em}
/* Mappe & Abgabe */
.mpa{list-style:none;margin:0;padding:0}.mpa li{border-top:1px solid var(--line,rgba(0,0,0,.06))}.mpa li:first-child{border-top:0}
.mpa button,.mpa a,.mpa.files li{width:100%;display:flex;align-items:center;gap:12px;padding:12px 2px;border:0;background:none;font:inherit;color:var(--ink);text-align:left;text-decoration:none}
.mpa button:active,.mpa a:active{opacity:.6}.mpa .grow{flex:1;min-width:0;display:flex;flex-direction:column}.mpa b{font-weight:600;overflow-wrap:anywhere}.mpa small{color:var(--ink2,#6e6e73);font-size:13px}
.mpa .fi{font-size:24px;width:30px;text-align:center}.mpa .chev{color:var(--ink2);font-size:20px}.mpa .dl{color:#5e5ce6;font-size:18px}
.backb{border:0;background:none;color:#5e5ce6;font:600 17px -apple-system,sans-serif;padding:6px 0;margin-bottom:6px}
.upb{display:flex;justify-content:center;cursor:pointer;margin-top:10px}.upp{margin-top:10px;height:28px;border-radius:14px;background:var(--fill,#e5e5ea);position:relative;overflow:hidden}
.upp i{position:absolute;inset:0 auto 0 0;width:0;background:linear-gradient(90deg,#5e5ce6,#bf5af2);transition:width .2s}.upp span{position:relative;display:block;text-align:center;font:600 13px/28px -apple-system,sans-serif;color:#fff;mix-blend-mode:difference}
.err{color:#d70015}
/* Hinweise */
.notes .note{padding:10px 0;border-top:1px solid var(--line,rgba(0,0,0,.06))}.notes .note:first-of-type{border-top:0}.notes .note p{margin:0;font-weight:500}.notes .note small{color:var(--ink2,#6e6e73);font-size:12px}
.notes .note.new p::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:#ff375f;margin-right:7px;vertical-align:middle}.pon{font-size:11px;color:#1a8f3a;margin-left:6px;letter-spacing:0;text-transform:none}
.notes .btn{margin-top:10px}
/* Guten Morgen: Tag des Tages */
.dayc{display:flex;gap:14px;align-items:flex-start;background:linear-gradient(150deg,#fff7e6,#ffe9f0);color:#3b2a1a;position:relative;overflow:hidden;animation:dayin .6s cubic-bezier(.2,1.3,.4,1) both}
.dayc::after{content:"";position:absolute;right:-40px;top:-40px;width:140px;height:140px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.8),transparent 70%)}
.dayc .de{font-size:44px;line-height:1;filter:drop-shadow(0 6px 10px rgba(0,0,0,.18))}.dayc small{text-transform:uppercase;letter-spacing:.07em;font-weight:700;font-size:11px;color:#c26a00}
.dayc b{display:block;font-size:19px;margin:2px 0}.dayc p{margin:2px 0 0;font-size:14px;line-height:1.4;color:#5c4632}.dayc p.big{font-size:16px;font-weight:600;color:#3b2a1a}
.dayc .more{border:0;background:none;padding:6px 0 0;color:#c26a00;font:600 13px -apple-system,sans-serif}
.dayc.gfact{background:linear-gradient(150deg,#e8f6ff,#eef0ff)}.dayc.gfact small{color:#0a6cff}
.dayc.ser{background:#f2f2f7;color:#1d1d1f}.dayc.ser .de{font-size:28px;filter:none}.dayc.ser b{font-size:15px}.dayc.ser p{color:#6e6e73}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .dayc{background:linear-gradient(150deg,#3a2a14,#3a1a2a);color:#fff}:root:not([data-theme=light]) .dayc p,:root:not([data-theme=light]) .dayc p.big{color:#e5d5c5}:root:not([data-theme=light]) .dayc.gfact{background:linear-gradient(150deg,#12263a,#1c1c3a)}:root:not([data-theme=light]) .dayc.ser{background:#2c2c2e;color:#fff}:root:not([data-theme=light]) .dayc.ser p{color:#aeaeb2}}:root[data-theme=dark] .dayc{background:linear-gradient(150deg,#3a2a14,#3a1a2a);color:#fff}:root[data-theme=dark] .dayc p,:root[data-theme=dark] .dayc p.big{color:#e5d5c5}:root[data-theme=dark] .dayc.gfact{background:linear-gradient(150deg,#12263a,#1c1c3a)}:root[data-theme=dark] .dayc.ser{background:#2c2c2e;color:#fff}:root[data-theme=dark] .dayc.ser p{color:#aeaeb2}
@keyframes dayin{from{opacity:0;transform:translateY(10px) scale(.98)}}
.qfm{width:96px;height:96px;border-radius:50%;object-fit:cover;box-shadow:0 14px 30px -14px rgba(0,0,0,.5);margin:0 auto 6px;animation:qfin .55s cubic-bezier(.2,1.5,.4,1) both}@keyframes qfin{from{transform:scale(.6) rotate(-10deg);opacity:0}}
.liveidle{display:flex;align-items:center;gap:14px;padding:14px 16px}.liveidle div{display:flex;flex-direction:column}.liveidle small{color:var(--ink2,#6e6e73);font-size:12.5px;line-height:1.35}
.lpulse{flex:none;width:12px;height:12px;border-radius:50%;background:#30d158;box-shadow:0 0 0 0 rgba(48,209,88,.6);animation:lp 2.4s infinite}@keyframes lp{70%{box-shadow:0 0 0 12px rgba(48,209,88,0)}100%{box-shadow:0 0 0 0 rgba(48,209,88,0)}}
/* Quiz in der App: bewegter Farbhintergrund */
.quiz{isolation:isolate;overflow:hidden}.quiz::before,.quiz::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none}
.quiz::before{background:radial-gradient(45% 35% at 15% 20%,rgba(124,140,255,.6),transparent 70%),radial-gradient(40% 30% at 85% 15%,rgba(255,92,138,.45),transparent 70%),radial-gradient(50% 40% at 70% 90%,rgba(48,209,88,.32),transparent 70%),radial-gradient(40% 35% at 5% 85%,rgba(255,214,10,.38),transparent 70%),var(--bg);
  background-size:180% 180%;animation:qaur 16s ease-in-out infinite alternate}
.quiz::after{background:radial-gradient(35% 28% at 60% 45%,rgba(191,90,242,.35),transparent 70%);background-size:220% 220%;animation:qaur2 10s ease-in-out infinite alternate}
@keyframes qaur{0%{background-position:0% 0%}50%{background-position:100% 35%}100%{background-position:35% 100%}}
@keyframes qaur2{0%{background-position:100% 0%}100%{background-position:0% 100%}}
@media (prefers-reduced-motion:reduce){.quiz::before,.quiz::after{animation:none}}
/* ===================== v1.5: Tabs, Heute, Plan, Ich ===================== */
.tabs{padding-bottom:calc(84px + env(safe-area-inset-bottom))}
.tabbar{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(10px + env(safe-area-inset-bottom));z-index:40;width:min(calc(100% - 20px),600px);display:grid;grid-template-columns:repeat(6,1fr);
  padding:6px;border-radius:28px;background:color-mix(in srgb,var(--card) 78%,transparent);backdrop-filter:blur(22px) saturate(1.8);-webkit-backdrop-filter:blur(22px) saturate(1.8);
  box-shadow:0 0 0 .5px var(--line),0 18px 40px -16px rgba(0,0,0,.35)}
.tabbar button{position:relative;border:0;background:none;color:var(--ink2);display:flex;flex-direction:column;align-items:center;gap:2px;padding:7px 0 5px;border-radius:22px;min-width:0;font:600 10px -apple-system,sans-serif;transition:color .2s}
.tabbar svg{width:25px;height:25px;transition:transform .35s var(--spring)}.tabbar button.on{color:var(--indigo)}.tabbar button.on svg{transform:translateY(-1px) scale(1.08)}
.tabbar button.on::before{content:"";position:absolute;inset:2px 6px;border-radius:20px;background:color-mix(in srgb,var(--indigo) 13%,transparent);z-index:-1;animation:tbIn .35s var(--spring)}
@keyframes tbIn{from{transform:scale(.6);opacity:0}}
.tth{margin:14px 4px 14px}
.hh{display:flex;align-items:flex-end;gap:12px;margin:8px 0 14px}.hh>div{flex:1}.hh h1{margin:0 4px}.hh .hd{margin:0 4px;color:var(--ink2);font-size:14px;font-weight:600;text-transform:capitalize}
.hav{border:0;padding:0;background:none;width:46px;height:46px;border-radius:50%;overflow:hidden;box-shadow:0 0 0 2px var(--card),0 6px 16px -6px rgba(0,0,0,.4);flex:none}.hav img{width:100%;height:100%;object-fit:cover}
.card.sk{min-height:96px;background:linear-gradient(100deg,var(--card) 40%,color-mix(in srgb,var(--fill) 80%,var(--card)) 50%,var(--card) 60%);background-size:300% 100%;animation:skel 1.3s linear infinite}@keyframes skel{to{background-position:-150% 0}}
/* Jetzt-Karte */
button.card{display:block;width:100%;border:0;text-align:left;font:inherit;color:inherit;cursor:pointer}
.nowc{position:relative;overflow:hidden;background:linear-gradient(140deg,#5e5ce6,#7d4dff 55%,#bf5af2);color:#fff}.nowc.irr{background:linear-gradient(140deg,#ff9f0a,#ff6b2c)}
.nowc .nct{display:flex;flex-direction:column;gap:2px}.nowc small{font-size:12.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;opacity:.85}.nowc b{font:800 26px/1.1 -apple-system,sans-serif;letter-spacing:-.02em}.nowc span{opacity:.9;font-size:14.5px}
.nowc::after{content:"";position:absolute;right:-40px;top:-40px;width:160px;height:160px;border-radius:50%;background:rgba(255,255,255,.12)}
.ncp{height:6px;border-radius:3px;background:rgba(255,255,255,.25);margin:14px 0 4px;overflow:hidden}.ncp i{display:block;height:100%;border-radius:3px;background:#fff;box-shadow:0 0 12px #fff}
.ncn,.ncc{margin:8px 0 0;font-size:14px;opacity:.95}.ncc{display:inline-block;padding:4px 10px;border-radius:999px;background:rgba(0,0,0,.18)}
.tg{display:inline-block;margin-top:6px;margin-right:6px;font-style:normal;font-size:12px;font-weight:700;padding:3px 9px;border-radius:999px;background:rgba(255,255,255,.22)}
.nowc.done{display:flex;gap:14px;align-items:center;background:var(--card);color:var(--ink)}.nowc.done::after{display:none}.nowc.done b{font-size:18px}.nowc.done small{color:var(--ink2);text-transform:none;letter-spacing:0;font-weight:500}.nci{font-size:30px}
.ucta{display:flex!important;align-items:center;gap:14px}.ucta .uci{font-size:30px}.ucta b{display:block}.ucta small{color:var(--ink2);font-size:13px}.grow{flex:1;min-width:0}.chev{color:var(--ink3);font-size:22px}
/* Ferien */
.fer{display:flex;align-items:center;gap:16px}.fring{--p:50;flex:none;width:86px;height:86px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;
  background:radial-gradient(closest-side,var(--card) 79%,transparent 80% 100%),conic-gradient(#ff9f0a calc(var(--p)*1%),var(--fill) 0);animation:up .6s var(--spring) both}
.fring b{font:800 28px/1 -apple-system,sans-serif;letter-spacing:-.03em}.fring small{font-size:11px;color:var(--ink2);font-weight:600}
.ftx{display:flex;flex-direction:column}.ftx small{font-size:12px;font-weight:700;color:#ff9f0a;text-transform:uppercase;letter-spacing:.06em}.ftx b{font-size:19px}.ftx span{color:var(--ink2);font-size:14px}.ftx em{font-style:normal;font-size:12.5px;color:var(--ink2);margin-top:4px}
.fer.on{background:linear-gradient(140deg,#ffd60a,#ff9f0a);color:#3a2500}.fer.on .fbig{font-size:46px}.fer.on small{font-weight:700;opacity:.7}.fer.on b{display:block;font-size:22px}.fer.on span{font-size:14px}
/* Herzchen */
.hrt{display:flex;align-items:center;gap:14px;background:linear-gradient(140deg,#fff0f6,#ffe0ef);border:1px solid rgba(255,105,180,.25)}.hrt .hrb{flex:1;display:flex;flex-direction:column}.hrt b{color:#c2185b}.hrt small{color:#ad5a85;font-size:13px}
.hrg{align-self:flex-start;font-size:12px;font-weight:800;padding:2px 9px;border-radius:999px;background:#ff4fa3;color:#fff;margin-bottom:4px}
.hrbtn{flex:none;width:62px;height:62px;border:0;border-radius:50%;font-size:30px;background:linear-gradient(140deg,#ff7ac6,#ff2d87);box-shadow:0 10px 24px -8px rgba(255,45,135,.8),inset 0 1px 0 rgba(255,255,255,.5);animation:hb 1.6s ease-in-out infinite}
.hrbig{font-size:38px;opacity:.5}@keyframes hb{0%,100%{transform:scale(1)}15%{transform:scale(1.12)}30%{transform:scale(1)}45%{transform:scale(1.08)}}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .hrt{background:linear-gradient(140deg,#3a1428,#2a0f22);border-color:rgba(255,105,180,.3)}:root:not([data-theme=light]) .hrt b{color:#ff8cc6}:root:not([data-theme=light]) .hrt small{color:#d494b5}}:root[data-theme=dark] .hrt{background:linear-gradient(140deg,#3a1428,#2a0f22);border-color:rgba(255,105,180,.3)}:root[data-theme=dark] .hrt b{color:#ff8cc6}:root[data-theme=dark] .hrt small{color:#d494b5}
.sheet{position:fixed;inset:0;z-index:70;background:rgba(0,0,0,0);display:flex;align-items:flex-end;justify-content:center;transition:background .3s}.sheet.on{background:rgba(0,0,0,.35)}
.shb{width:min(100%,560px);max-height:80vh;overflow:auto;background:var(--card);border-radius:28px 28px 0 0;padding:10px 18px calc(18px + env(safe-area-inset-bottom));transform:translateY(100%);transition:transform .35s cubic-bezier(.2,.9,.3,1)}
.sheet.on .shb{transform:none}.grab{display:block;width:40px;height:5px;border-radius:3px;background:var(--ink3);margin:0 auto 10px}.shb h2{margin:4px 0}
.mates{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 0}.mates button{border:0;background:var(--fill);border-radius:18px;padding:12px 6px;display:flex;flex-direction:column;align-items:center;gap:6px;font:600 13px -apple-system,sans-serif;color:var(--ink)}
.mates button:active{transform:scale(.95);background:rgba(255,79,163,.2)}
.sav{flex:none!important;width:64px;height:64px;border-radius:50%;display:grid!important;place-items:center;font:800 28px -apple-system,sans-serif;color:#fff!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.4),0 8px 18px -8px rgba(0,0,0,.4)}.sav.sm{width:44px;height:44px;font-size:18px}
.htoast{position:fixed;left:50%;top:calc(14px + env(safe-area-inset-top));transform:translateX(-50%);z-index:90;display:flex;align-items:center;gap:10px;padding:12px 18px;border-radius:999px;background:linear-gradient(135deg,#ff7ac6,#ff2d87);color:#fff;font-weight:700;font-size:15px;box-shadow:0 14px 30px -10px rgba(255,45,135,.8);animation:htIn .5s cubic-bezier(.2,1.5,.4,1) both}
.htoast span{font-size:22px;animation:hb 1s ease-in-out infinite}.htoast.out{animation:htOut .5s ease forwards}@keyframes htIn{from{transform:translate(-50%,-80px)}}@keyframes htOut{to{transform:translate(-50%,-90px);opacity:0}}
.hburst{position:fixed;left:50%;top:45%;z-index:95;pointer-events:none}.hburst i{position:absolute;font-style:normal;font-size:26px;animation:hbx 1.2s cubic-bezier(.1,.8,.3,1) forwards;transform:rotate(var(--a)) translateY(0)}
.hburst b{position:absolute;font-size:90px;transform:translate(-50%,-50%);animation:hbB 1.2s ease forwards}@keyframes hbx{to{transform:rotate(var(--a)) translateY(calc(var(--d) * -1.6)) ;opacity:0}}@keyframes hbB{0%{transform:translate(-50%,-50%) scale(.2)}30%{transform:translate(-50%,-50%) scale(1.2)}100%{transform:translate(-50%,-90%) scale(1);opacity:0}}
/* Plan */
.seg2.big{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;border-radius:14px;background:var(--fill);margin-bottom:14px}.seg2.big button{border:0;background:none;border-radius:11px;padding:9px;font:600 14.5px -apple-system,sans-serif;color:var(--ink)}
.seg2.big button.on{background:var(--card);box-shadow:0 3px 10px -4px rgba(0,0,0,.3)}
.row3{display:flex;gap:8px;margin-top:6px}.chipb{flex:1;border:0;border-radius:16px;padding:13px;background:var(--card);box-shadow:var(--sh);font:600 14.5px -apple-system,sans-serif;color:var(--ink)}
.empt{text-align:center;padding:30px 20px}.empt span{font-size:46px;display:block}.empt b{font-size:18px}.empt .btn{margin-top:10px}
.calh{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.calh b{font-size:17px;text-transform:capitalize}.ib{border:0;background:var(--fill);width:36px;height:36px;border-radius:50%;font-size:20px;color:var(--ink)}
.calg{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.calg .cw{text-align:center;font-size:11px;font-weight:700;color:var(--ink2);padding-bottom:4px}
.calg button{position:relative;aspect-ratio:1;border:0;border-radius:12px;background:none;font:600 15px -apple-system,sans-serif;color:var(--ink)}.calg button.o{color:var(--ink3)}
.calg button.hl{background:linear-gradient(140deg,rgba(255,214,10,.28),rgba(255,159,10,.22))}.calg button.td{color:#fff;background:var(--indigo);box-shadow:0 6px 14px -6px var(--indigo)}.calg button.sl{box-shadow:0 0 0 2px var(--indigo)}
.calg i{position:absolute;bottom:5px;left:50%;width:6px;height:6px;margin-left:-3px;border-radius:50%;background:#0a84ff}.calg i.klausur{background:#ff375f}.calg i.frei{background:#30d158}.calg i.ausflug{background:#ff9f0a}
.evr{display:flex;align-items:center;gap:12px;padding:9px 0;border-top:1px solid var(--line)}.evr:first-of-type{border-top:0}.evr span{font-size:20px;width:26px;text-align:center}.evr b{flex:1;font-size:15px;font-weight:600;text-align:left}.evr small{color:var(--ink2);font-size:12.5px;white-space:nowrap}
.evr.klausur b{color:#ff375f}
/* Spiele-/Lernkacheln */
.lrn,.tgrid2{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}
.lt{position:relative;overflow:hidden;border:0;border-radius:22px;padding:16px;text-align:left;color:#fff;display:flex;flex-direction:column;gap:2px;min-height:112px;box-shadow:0 12px 26px -16px rgba(0,0,0,.5);animation:up .6s var(--spring) both}
.lt span{font-size:30px;margin-bottom:auto}.lt b{font-size:16.5px}.lt small{font-size:12.5px;opacity:.88}.lt::after{content:"";position:absolute;inset:0;background:radial-gradient(90% 70% at 85% 0%,rgba(255,255,255,.3),transparent 60%)}
.lt:active{transform:scale(.97)}.lt.geo{background:linear-gradient(150deg,#30d158,#0a84ff)}.lt.abi{background:linear-gradient(150deg,#ff9f0a,#ff375f)}.lt.nt{background:linear-gradient(150deg,#7d7aff,#bf5af2)}.lt.ut{background:linear-gradient(150deg,#ff9f0a,#ff6b2c)}
.hint2{margin-top:14px}
/* Ich */
.card.me{display:flex;align-items:center;gap:14px}.card.me>div{flex:1}.card.me h2{margin:0;font-size:22px}.card.me span{display:block;font-size:14px;color:var(--ink2)}.card.me small{color:var(--ink3)}.card.me .tav{width:44px;height:44px;border-radius:50%;object-fit:cover}
.set{padding:6px 18px}.set .ct{margin:12px 0 4px}.srow{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:13px 0;border:0;border-top:1px solid var(--line);background:none;font:inherit;color:var(--ink);text-align:left}
.srow em{font-style:normal;color:var(--ink2)}.srow .red{color:var(--red);font-weight:600}.seg2.sm{display:flex;gap:2px;padding:3px;border-radius:11px;background:var(--fill)}.seg2.sm button{border:0;background:none;border-radius:9px;padding:6px 10px;font:600 13px -apple-system,sans-serif;color:var(--ink)}.seg2.sm button.on{background:var(--card);box-shadow:0 2px 6px -2px rgba(0,0,0,.3)}
.legal{text-align:center;font-size:12px;color:var(--ink3);margin:18px 0 4px}.legal a{color:inherit;text-decoration:none}
/* Einstieg */
.onb.wel{padding-top:8vh}.welg .logo{width:96px;height:96px;animation:gsFloat 3.5s ease-in-out infinite}@keyframes gsFloat{50%{transform:translateY(-8px)}}
.btn.big{padding:17px;font-size:17px;box-shadow:0 14px 28px -12px rgba(10,132,255,.8)}.lnk{border:0;background:none;color:var(--accent);font:600 15px -apple-system,sans-serif;margin-top:14px;padding:8px}
.lgn{text-align:left}.lgn h1,.lgn .sub{text-align:center}.lgi{font-size:56px;text-align:center;animation:gsFloat 3s ease-in-out infinite}
.lgs{list-style:none;margin:6px 0 18px;padding:0;display:flex;flex-direction:column;gap:10px}.lgs li{display:flex;gap:12px;align-items:flex-start;background:var(--card);border-radius:16px;padding:12px 14px;box-shadow:var(--sh);font-size:15px}
.lgs li span{flex:none;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--indigo);color:#fff;font-weight:800;font-size:13px}
.lgn .man{margin:12px 0}.lgn .man input{display:block;width:100%;margin:6px 0}.lgspin{display:grid;place-items:center;height:80px}
.lgc{display:flex;flex-direction:column;gap:10px;margin:16px 0}.lgc button{display:flex;align-items:center;gap:6px;flex-wrap:wrap;border:0;border-radius:18px;padding:16px;background:var(--card);box-shadow:var(--sh);text-align:left;font:inherit;color:var(--ink)}
.lgc b{flex:1 0 70%;font-size:17px}.lgc small{color:var(--ink2);flex:1}.lgc span{color:var(--ink3);font-size:22px}
.deny .lgi{filter:grayscale(.2)}

:root[data-theme=light]{color-scheme:light}:root[data-theme=dark]{color-scheme:dark}
.tfgrid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.tfgrid button{border:0;background:var(--fill);border-radius:16px;padding:6px;text-align:left;display:flex;flex-direction:column;gap:2px;font:inherit;color:var(--ink)}
.tfgrid img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:11px;background:#244f3d}.tfgrid b{font-size:13px;padding:2px 4px 0;line-height:1.25}.tfgrid small{font-size:11.5px;color:var(--ink2);padding:0 4px 4px}
.tfoff{margin:0 0 10px;padding:10px 12px;border-radius:14px;background:linear-gradient(135deg,rgba(255,214,10,.25),rgba(255,159,10,.2));font-size:14px;font-weight:600}
.tfv{padding:8px}.tfv img{display:block;width:100%;border-radius:14px}
.qtimes{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:8px 0}.qtimes label{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--ink2)}.qtimes input{font:600 18px -apple-system,sans-serif;padding:10px;border-radius:12px;border:0;background:var(--fill);color:var(--ink)}
.qdays{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:14px}.qdays button{border:0;border-radius:12px;padding:10px 0;background:var(--fill);font:700 14px -apple-system,sans-serif;color:var(--ink)}.qdays button.on{background:var(--indigo);color:#fff}
.shb .srow input[type=checkbox]{width:22px;height:22px;accent-color:var(--indigo)}
.lt.lk2{grid-column:1/3;min-height:auto;flex-direction:row;align-items:center;gap:12px;background:linear-gradient(150deg,#ffcf5c,#ff9f0a)}.lt.lk2 span{margin:0}.lt.lk2 b{margin-right:auto}
.glock{text-align:center;padding:26px 20px}.glock .glk{font-size:46px;animation:gsFloat 3s ease-in-out infinite}.glock b{display:block;font-size:20px;margin:6px 0 2px}.glock p{margin:4px 0 12px;color:var(--ink2)}.glock .btn{margin-top:6px}
/* ===================== StassDrop ===================== */
.sdrop{position:fixed;inset:0;z-index:90;display:flex;align-items:flex-end;justify-content:center;padding:0 10px calc(14px + env(safe-area-inset-bottom));background:rgba(0,0,0,0);transition:background .35s}
.sdrop.on{background:rgba(0,0,0,.38);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.sdp{width:min(100%,420px);padding:20px 20px 16px;border-radius:30px;text-align:center;background:color-mix(in srgb,var(--card) 88%,transparent);backdrop-filter:blur(30px) saturate(1.8);-webkit-backdrop-filter:blur(30px) saturate(1.8);
  box-shadow:0 0 0 .5px var(--line),0 30px 60px -20px rgba(0,0,0,.5);transform:translateY(110%);transition:transform .5s cubic-bezier(.2,1.15,.3,1)}
.sdrop.on .sdp{transform:none}
.sdh{display:flex;align-items:center;justify-content:center;gap:8px;font:700 13px -apple-system,sans-serif;letter-spacing:.06em;text-transform:uppercase;color:var(--ink2)}
.sdlg{display:grid;place-items:center;width:26px;height:26px;border-radius:8px;background:linear-gradient(135deg,#5ac8fa,#0a84ff);font-size:14px}
.sdf{position:relative;width:96px;height:118px;margin:16px auto 12px;border-radius:14px 30px 14px 14px;display:grid;place-items:center;background:linear-gradient(160deg,#fff,#e9edf5);box-shadow:0 18px 30px -14px rgba(10,60,160,.5),0 0 0 .5px rgba(0,0,0,.08);animation:sdIn .7s .15s cubic-bezier(.2,1.5,.4,1) both}
.sdf span{font-size:44px}.sdf i{position:absolute;bottom:10px;font:800 11px -apple-system,sans-serif;font-style:normal;color:#fff;background:#0a84ff;border-radius:6px;padding:2px 7px}
.sdf.k-pdf i{background:#ff3b30}.sdf.k-img i{background:#30d158}.sdf.k-ppt i{background:#ff9f0a}.sdf.k-xls i{background:#34c759}
.sdf::before,.sdf::after{content:"";position:absolute;left:50%;top:50%;width:150px;height:150px;margin:-75px;border-radius:50%;border:2px solid #0a84ff;opacity:0;animation:sdW 2.4s 1s ease-out infinite;pointer-events:none}.sdf::after{animation-delay:1.8s}
@keyframes sdIn{from{transform:translateY(40px) scale(.4) rotate(-12deg);opacity:0}}@keyframes sdW{0%{transform:scale(.6);opacity:.6}100%{transform:scale(1.5);opacity:0}}
.sdp p{margin:0;color:var(--ink2);font-size:15px}.sdp h3{margin:6px 0 2px;font-size:19px;overflow-wrap:anywhere}.sdp small{color:var(--ink2);font-size:13px}
.sdb{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}.sdb button{border:0;border-radius:16px;padding:14px;font:600 17px -apple-system,sans-serif;background:var(--fill);color:var(--ink)}
.sdb button.yes{background:#0a84ff;color:#fff;box-shadow:0 10px 22px -10px #0a84ff}
.sdcard a{color:inherit;text-decoration:none}.sdcard .mpa a{display:flex;align-items:center;gap:12px;width:100%;padding:11px 0}
.sdup{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;margin:10px 0 6px;padding:16px;border-radius:18px;border:2px dashed color-mix(in srgb,#0a84ff 50%,transparent);background:color-mix(in srgb,#0a84ff 7%,transparent);text-align:center;cursor:pointer;overflow:hidden}
.sdup span{font-size:30px}.sdup b{color:#0a84ff}.sdup small{color:var(--ink2);font-size:12.5px}
.sdup i{position:absolute;left:0;bottom:0;height:4px;width:var(--p,0);background:#0a84ff;transition:width .2s}.sdup.busy{opacity:.75}
.mpa.sent li{display:flex;align-items:center;gap:12px;padding:9px 0}
.htoast.sd{white-space:nowrap;background:linear-gradient(135deg,#5ac8fa,#0a84ff);box-shadow:0 14px 30px -10px rgba(10,132,255,.8)}.htoast.sd span{animation:none}
/* Sperrbildschirm (Kill-Switch) */
.lkv .lki{width:96px;height:96px;border-radius:30px;display:grid;place-items:center;font-size:48px;margin:0 auto 18px;background:linear-gradient(160deg,#ff6b6b,#ff3b30);box-shadow:0 18px 40px -14px rgba(255,59,48,.7);animation:lkIn .7s cubic-bezier(.2,1.4,.4,1) both}
.lkv .lkn{max-width:300px;margin:14px auto 0;font-size:14px;color:var(--ink2)}
@keyframes lkIn{from{transform:scale(.5) rotate(-12deg);opacity:0}}
/* ---------- STS Light ---------- */
.ltcode{display:flex;gap:8px;width:100%;max-width:330px;margin:6px auto 0}
.ltcode input{flex:1;min-width:0;border:0;border-radius:16px;padding:0 14px;background:var(--card);box-shadow:var(--sh);font:700 18px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);text-align:center}
.ltcode input::placeholder{font:500 16px -apple-system,sans-serif;letter-spacing:0;text-transform:none;color:var(--ink3)}
.ltcode .btn{width:auto;margin:0;padding:14px 18px}
.ltk{width:84px;height:84px;border-radius:26px;display:grid;place-items:center;font-size:44px;margin:0 auto 14px;background:linear-gradient(150deg,#5e5ce6,#0a84ff);box-shadow:0 18px 34px -16px rgba(94,92,230,.9);animation:okp .7s var(--spring)}
.ltj h1{margin-bottom:2px}
.ltn{width:100%;max-width:360px;margin:18px auto 4px;padding:16px;text-align:left}
.ltn label{display:block;font-size:13px;font-weight:600;color:var(--ink2);margin-bottom:8px}
.ltn small{display:block;margin-top:10px;color:var(--ink2);font-size:13px;line-height:1.4}
.ltnr{display:flex;gap:8px}
.ltnr input{flex:1;min-width:0;border:1.5px solid var(--line);border-radius:14px;padding:13px 14px;background:var(--bg);font:600 18px -apple-system,sans-serif;color:var(--ink)}
.ltnr input:focus{outline:0;border-color:var(--accent)}
.ltnr .ib{width:50px;height:auto;font-size:22px;border-radius:14px}
.ltpl a,.ltp a{color:var(--accent)}
.ltp h2{font-size:21px;margin:6px 0 10px}.ltp p,.ltp li{font-size:15px;line-height:1.45}.ltp ul{padding-left:20px;margin:4px 0 10px}.ltp p{margin:0 0 10px}
.ltwarn{background:color-mix(in srgb,var(--orange,#ff9f0a) 14%,transparent);border-radius:12px;padding:10px 12px;font-weight:600}
.ltdoc{max-width:640px;margin:24px auto;padding:22px}.ltdoc a{color:var(--accent)}.ltdoc .btn{margin-top:16px}
.ltblk{display:block;margin:12px auto 0;font-size:13px;color:var(--ink2)}
.ltnone{color:var(--ink2);font-size:14px;text-align:center;padding:14px 0 4px}
.ltdrop .mates{grid-template-columns:repeat(auto-fill,minmax(96px,1fr))}
.ltdrop .mates button{overflow-wrap:anywhere}
.tabbar .bdg{position:absolute;top:3px;left:calc(50% + 6px);min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--red);color:#fff;font:700 11px/18px -apple-system,sans-serif;font-style:normal;animation:okp .5s var(--spring)}

/* Scrollleisten */
*{scrollbar-width:thin;scrollbar-color:rgba(120,120,140,.4) transparent}
::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:rgba(120,120,140,.38);border-radius:10px;border:3px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background-color:rgba(120,120,140,.62)}

.pwc{font-size:52px;letter-spacing:6px;white-space:nowrap;margin:26px 0;padding:20px 24px;border-radius:28px;background:var(--card,#fff);box-shadow:0 20px 50px -24px rgba(0,0,0,.35);display:inline-block;animation:pwb 2.4s ease-in-out infinite}@keyframes pwb{50%{transform:translateY(-6px)}}

.hfcard{display:flex;align-items:center;gap:14px;width:100%;border:0;text-align:left;font:inherit;color:inherit;cursor:pointer;background:linear-gradient(135deg,rgba(10,132,255,.12),rgba(191,90,242,.12))}.hfcard span{font-size:34px}.hfcard div{flex:1}.hfcard b{display:block;font-size:17px}.hfcard small{opacity:.7}.hfcard em{font-style:normal;opacity:.5}
.mpa.files li{position:relative}.hfin{position:absolute;right:46px;top:50%;transform:translateY(-50%);border:0;border-radius:99px;padding:6px 10px;font:600 12px -apple-system,sans-serif;background:rgba(10,132,255,.12);color:#0a84ff;cursor:pointer}
.hfcard.pl{background:linear-gradient(135deg,rgba(255,159,10,.14),rgba(255,55,95,.12));margin-top:10px}
.lt.hf{background:linear-gradient(150deg,#0a84ff,#5e5ce6)}.lt.pl{background:linear-gradient(150deg,#ff9f0a,#ff375f)}

/* ===== iPad & Tablet ===== */
@media (min-width:700px){
  .app{max-width:780px;padding-left:28px;padding-right:28px}
  .tgrid2{grid-template-columns:repeat(3,1fr);gap:12px}
  .gmgrid{grid-template-columns:repeat(4,1fr)}
  .sheet{align-items:center}.shb{border-radius:28px;max-height:84vh;padding-bottom:22px;transform:translateY(30px) scale(.97);opacity:0;transition:transform .35s cubic-bezier(.2,1.2,.4,1),opacity .25s}
  .sheet.on .shb{transform:none;opacity:1}
  .card{border-radius:22px}
  h1{font-size:34px}
}
/* iPad quer: Seitenleiste statt Tab-Leiste, Karten zweispaltig */
@media (min-width:1000px){
  .app{max-width:1240px;padding-left:132px;padding-right:36px}
  .tabbar{left:22px!important;top:50%;bottom:auto!important;transform:translateY(-50%)!important;width:86px;grid-template-columns:1fr;grid-auto-rows:auto;gap:6px;padding:10px 8px;border-radius:28px}
  .tabbar button{padding:10px 0 8px;font-size:11.5px}.tabbar svg{width:27px;height:27px}
  .tabs{padding-bottom:30px}
  /* klare Raster statt Zeitungsspalten: Kopf und Werkzeuge über die ganze Breite, darunter zwei Spalten */
  .tabc.t-mappe,.tabc.t-drop,.tabc.t-ich{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 20px;align-items:start;grid-auto-flow:row dense}
  .tabc.t-heute>*,.tabc.t-mappe>*,.tabc.t-drop>*,.tabc.t-ich>*{min-width:0;margin-top:0!important;margin-bottom:0!important}
  .tabc>header,.tabc>h1,.tabc>.tth,.tabc>.sub,.tabc>.hh,.tabc>.tools4,.tabc>.tgrid2,.tabc>.wide,.tabc>.hero{grid-column:1/-1}
  .tabc.t-mappe>#mp{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 20px;align-items:start}.tabc.t-mappe>#mp>*{margin:0!important;min-width:0}
  .tools4{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:14px}
  .tgrid2{grid-template-columns:repeat(3,minmax(0,1fr))}
  .gmgrid{grid-template-columns:repeat(5,1fr)}
  .gban{left:calc(50% + 54px)}
}

.gban{position:fixed;left:50%;top:calc(10px + env(safe-area-inset-top));transform:translateX(-50%);z-index:9800;width:min(460px,calc(100% - 24px));display:flex;align-items:center;gap:12px;padding:12px 12px 12px 16px;border-radius:22px;
  background:rgba(255,255,255,.94);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:0 20px 50px -18px rgba(40,20,90,.55);animation:gbIn .55s cubic-bezier(.2,1.5,.4,1) both;color:#1d1d1f}
@keyframes gbIn{from{opacity:0;transform:translate(-50%,-40px) scale(.9)}}
.gban>span{font-size:28px;animation:gbW 1s ease-in-out infinite alternate}@keyframes gbW{to{transform:rotate(14deg) scale(1.1)}}
.gban div{flex:1;min-width:0}.gban small{display:block;color:#6e6e73}.gban button{border:0;border-radius:99px;padding:10px 16px;font:700 15px -apple-system,sans-serif;cursor:pointer}
.gban .yes{background:linear-gradient(135deg,#5e5ce6,#bf5af2);color:#fff}.gban .no{background:#f2f2f7;color:#1d1d1f;padding:10px 13px}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .gban{background:rgba(44,44,46,.95);color:#fff}:root:not([data-theme=light]) .gban .no{background:#3a3a3c;color:#fff}}:root[data-theme=dark] .gban{background:rgba(44,44,46,.95);color:#fff}:root[data-theme=dark] .gban .no{background:#3a3a3c;color:#fff}

.tools4{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:12px}
.lt.sc1{background:linear-gradient(150deg,#30d158,#0a84ff)}.lt.sc2{background:linear-gradient(150deg,#bf5af2,#5e5ce6)}.lt.sc3{background:linear-gradient(150deg,#ff9f0a,#ffd60a);color:#3a2a00}
.calg i.own{background:#ff375f}.evr.own b{color:inherit}.calbtns{display:flex;gap:8px;margin:0 0 10px}.calbtns .btn{flex:1;margin:0}
@media (min-width:1000px){.tabc.t-drop>.embed{grid-column:1/-1}}

.tsec{font:700 13px -apple-system,sans-serif;text-transform:uppercase;letter-spacing:.06em;color:var(--ink2);margin:8px 4px 8px;grid-column:1/-1}
.tools6{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:14px;grid-column:1/-1}@media (min-width:700px){.tools6{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}}
.lt2{position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;gap:3px;min-height:128px;border:0;border-radius:24px;padding:18px;background:var(--card);box-shadow:var(--sh);text-align:left;font:inherit;color:var(--ink);cursor:pointer;transition:transform .25s cubic-bezier(.2,1.4,.4,1)}.lt2::before{content:"";position:absolute;right:-30px;top:-30px;width:120px;height:120px;border-radius:50%;background:var(--c);opacity:.12}
.lt2:active{transform:scale(.96)}.lt2 span{position:absolute;top:16px;left:16px;width:52px;height:52px;border-radius:16px;display:grid;place-items:center;font-size:28px;background:color-mix(in srgb,var(--c) 18%,transparent)}.lt2 b{font-size:18px;letter-spacing:-.01em;margin-top:58px}.lt2 small{font-size:13px;color:var(--ink2)}

.mnow .mnh,.hwcard .mnh{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.mnow .mnh small,.hwcard .mnh small{font:700 12px -apple-system,sans-serif;text-transform:uppercase;letter-spacing:.05em;color:var(--ink2)}
.lnk{border:0;background:none;color:#0a84ff;font:600 14px -apple-system,sans-serif;cursor:pointer;padding:4px 0}.lnk.sm{font-size:12.5px;margin-top:10px;display:block}
.mnl{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}.mnl span{flex:none;min-width:84px;padding:10px 12px;border-radius:16px;background:color-mix(in srgb,var(--c) 14%,transparent);border-left:4px solid var(--c);display:flex;flex-direction:column}
.mnl i{font:700 11px -apple-system,sans-serif;font-style:normal;color:var(--ink2)}.mnl b{font-size:15px}.mnl small{font-size:11.5px;color:var(--ink2)}
.mnev{display:grid;gap:6px;margin-top:12px;padding-top:10px;border-top:1px solid rgba(120,120,128,.15)}.mnev span{display:grid;grid-template-columns:26px 1fr auto;align-items:center;gap:6px}.mnev em{font-style:normal;font-size:18px}.mnev b{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mnev small{font-size:12px;color:var(--ink2)}

.stsel2{border:0;background:transparent;color:var(--ink2);font:500 15px -apple-system,sans-serif;text-align:right;max-width:58%;appearance:auto}

.crc{display:flex;align-items:center;gap:14px;background:linear-gradient(135deg,#ffe3ef,#ffd1e6);color:#8a1043}.crc .crh{font-size:40px;animation:crp 1.4s ease-in-out infinite}.crc small{display:block;font:700 12px -apple-system,sans-serif;text-transform:uppercase;letter-spacing:.06em;opacity:.75}.crc b{display:block;font-size:22px}.crc span{font-size:13px}
.crc.me{background:linear-gradient(135deg,#ff6fa8,#ff3d8b);color:#fff;box-shadow:0 18px 40px -18px rgba(255,61,139,.8)}
@keyframes crp{0%,100%{transform:scale(1)}50%{transform:scale(1.18)}}
html.crushme body{background:linear-gradient(180deg,#ffe6f1,#ffd3e7 60%,#ffc2dd)!important;transition:background 1s}
html.crushme .card:not(.crc){background:rgba(255,255,255,.82)}html.crushme .tabbar{background:rgba(255,230,241,.9)}
.crushov{position:fixed;inset:0;z-index:9000;display:grid;place-items:center;background:radial-gradient(circle at 50% 40%,rgba(255,120,175,.96),rgba(255,61,139,.97));opacity:0;transition:opacity .5s;overflow:hidden}.crushov.on{opacity:1}
.crf i{position:absolute;bottom:-60px;left:var(--x);font-size:calc(28px * var(--s));font-style:normal;animation:crfl var(--d) linear infinite;animation-delay:var(--w)}
@keyframes crfl{to{transform:translateY(-120vh) rotate(25deg)}}
.crb{position:relative;text-align:center;color:#fff;padding:24px;transform:scale(.7);transition:transform .7s cubic-bezier(.2,1.6,.4,1)}.crushov.on .crb{transform:none}
.crbig{font-size:110px;animation:crp 1.2s ease-in-out infinite;filter:drop-shadow(0 12px 24px rgba(120,0,50,.35))}.crb h2{font-size:32px;margin:10px 0 6px;letter-spacing:-.02em}.crb p{font-size:20px;margin:0 0 22px}.crb .btn{background:#fff;color:#ff3d8b;min-width:160px}
.crc small,.crc span,.crc b{color:inherit!important}.crc.me small,.crc.me span{color:rgba(255,255,255,.92)!important}
.hfq{display:flex;align-items:center;gap:10px;padding:14px 16px;background:linear-gradient(135deg,color-mix(in srgb,var(--c) 14%,var(--card)),var(--card) 70%)}
.hfqm{flex:1;min-width:0;display:flex;align-items:center;gap:14px;border:0;background:none;padding:0;text-align:left;color:inherit;font:inherit;cursor:pointer}
.hfqcov{flex:none;width:44px;height:58px;border-radius:4px 10px 10px 4px;background:linear-gradient(135deg,var(--c),color-mix(in srgb,var(--c) 65%,#000));box-shadow:inset 5px 0 0 rgba(0,0,0,.18),0 8px 16px -8px rgba(0,0,0,.5);position:relative}.hfqcov::after{content:"";position:absolute;left:12px;right:6px;top:10px;height:9px;border-radius:3px;background:rgba(255,255,255,.85)}
.hfqt{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.hfqt small{font:700 11px -apple-system,sans-serif;text-transform:uppercase;letter-spacing:.06em;color:var(--c)}.hfqt b{font-size:18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hfqt em{font-style:normal;font-size:13px;color:var(--ink2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hfqgo{flex:none;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--c);color:#fff;font-size:18px;box-shadow:0 8px 16px -8px var(--c)}
.hfqa{flex:none;border:0;border-radius:99px;padding:9px 13px;background:rgba(120,120,128,.12);color:var(--ink);font:600 13px -apple-system,sans-serif;cursor:pointer;white-space:nowrap}
@media (max-width:420px){.hfqa{display:none}}
.mwg{display:grid;grid-template-columns:42px repeat(5,minmax(0,1fr));gap:6px}
.mwg .dh{font:700 12px -apple-system,sans-serif;font-style:normal;color:var(--ink2);text-align:center;padding:4px 0}.mwg .dh.td{background:#0a84ff;color:#fff;border-radius:99px}
.mwg .hn{font-style:normal;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--ink2)}.mwg .hn b{font-size:13px;color:var(--ink)}.mwg .hn small{font-size:10px}
.mwg span{min-height:52px;border-radius:13px;padding:7px 8px;background:linear-gradient(160deg,color-mix(in srgb,var(--c) 24%,var(--card)),color-mix(in srgb,var(--c) 12%,var(--card)));box-shadow:inset 3px 0 0 var(--c);display:flex;flex-direction:column;justify-content:center;overflow:hidden;min-width:0}
.mwg span.e{background:rgba(120,120,128,.07);box-shadow:none}.mwg span.td:not(.e){outline:2px solid color-mix(in srgb,#0a84ff 35%,transparent);outline-offset:-1px}
.mwg b{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mwg small{font-size:10.5px;color:var(--ink2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mwg.mini span{min-height:34px;padding:5px 6px}
.mnow.wide{grid-column:1/-1}
.mnbig{position:relative;overflow:hidden;border-radius:18px;padding:14px 16px;margin-bottom:12px;background:linear-gradient(135deg,var(--c),color-mix(in srgb,var(--c) 70%,#000));color:#fff;display:flex;flex-direction:column}
.mnbig small{font:700 12px -apple-system,sans-serif;opacity:.85;text-transform:uppercase;letter-spacing:.05em}.mnbig b{font-size:26px;letter-spacing:-.02em}.mnbig span{font-size:14px;opacity:.9}
.mnbig i{position:absolute;left:0;bottom:0;height:4px;width:var(--p);background:rgba(255,255,255,.85)}
.mnl span.cur{box-shadow:0 0 0 2px var(--c)}
.uwk{text-align:left}.uwg{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.uwg>div{display:flex;flex-direction:column;gap:5px;min-width:0}.uwg em{font:700 12px -apple-system,sans-serif;font-style:normal;color:var(--ink2);text-align:center}
.uwg span{border-radius:10px;padding:5px 7px;background:color-mix(in srgb,var(--c) 18%,var(--card));box-shadow:inset 3px 0 0 var(--c);display:flex;justify-content:space-between;gap:4px;min-width:0}.uwg span b{font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.uwg span small{font-size:10.5px;color:var(--ink2)}
.uwg span.x{opacity:.45;text-decoration:line-through}.uwg span.irr{box-shadow:inset 3px 0 0 #ff9f0a,0 0 0 1.5px #ff9f0a}

.hwcard ul{list-style:none;margin:0;padding:0;display:grid;gap:2px}.hwcard li{display:grid;grid-template-columns:30px 26px 1fr;align-items:center;gap:8px;padding:8px 0;border-top:1px solid rgba(120,120,128,.12);transition:opacity .3s,transform .3s}.hwcard li:first-child{border-top:0}
.hwcard li.gone{opacity:0;transform:translateX(30px)}.hwcard li b{display:block;font-size:15px;line-height:1.3}.hwcard li small{font-size:12.5px;color:var(--ink2)}.hwcard li.late small{color:#ff3b30;font-weight:600}.hwcard li.test small{color:#ff375f}
.hwi{font-size:20px;text-align:center}.hwck{width:26px;height:26px;border-radius:50%;border:2px solid rgba(120,120,128,.45);background:none;cursor:pointer;transition:all .2s}.hwck.on{background:#30d158;border-color:#30d158}

.hcols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px;align-items:start}.hcol>div,.hone>div,.hrow>div{margin-bottom:16px}.hcol .card,.hone .card,.hrow .card{margin-bottom:0}
.hsec:empty{display:none}.harr{display:block;margin:6px auto 30px;font-size:13px;opacity:.75}
.harrl{list-style:none;margin:10px 0 16px;padding:0}.harrl li{display:flex;align-items:center;gap:6px;padding:9px 0;border-top:1px solid rgba(120,120,128,.15)}.harrl li span{flex:1;font-weight:600}.harrl button{width:36px;height:34px;border:0;border-radius:10px;background:rgba(120,120,128,.12);color:inherit;font-size:16px}.harrl button:disabled{opacity:.3}
.tgl{position:relative;display:inline-block;width:46px;height:28px;margin-left:6px}.tgl input{opacity:0;position:absolute}.tgl i{position:absolute;inset:0;border-radius:99px;background:rgba(120,120,128,.3);transition:background .2s}.tgl i::after{content:"";position:absolute;left:3px;top:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 2px 4px rgba(0,0,0,.25);transition:transform .25s}.tgl input:checked+i{background:#30d158}.tgl input:checked+i::after{transform:translateX(18px)}
@font-face{font-family:"STSHand";src:url(/ui/hand-patrick.woff2) format("woff2");font-display:swap}
.pins{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:16px;padding:6px 4px 10px}
.pin{position:relative;aspect-ratio:1;background:var(--c);border-radius:4px 4px 18px 4px;box-shadow:0 18px 26px -16px rgba(0,0,0,.45),inset 0 -14px 20px -16px rgba(0,0,0,.18);transform:rotate(var(--r));animation:pinsway 6s ease-in-out infinite;animation-delay:var(--dl);transform-origin:50% 6%}
@keyframes pinsway{0%,100%{transform:rotate(var(--r))}50%{transform:rotate(calc(var(--r) + 1.6deg)) translateY(1px)}}
.pin:focus-within{animation-play-state:paused;transform:rotate(0) scale(1.04);z-index:2}
.pin textarea{width:100%;height:100%;box-sizing:border-box;border:0;background:none;resize:none;padding:24px 14px 12px;font:400 19px/1.25 "STSHand","Marker Felt",-apple-system,sans-serif;color:#3a3020;outline:none}
.pinh{position:absolute;top:-8px;left:50%;transform:translateX(-50%);font-size:20px;filter:drop-shadow(0 3px 3px rgba(0,0,0,.25))}
.pin button{position:absolute;top:4px;right:6px;border:0;background:none;opacity:.35;color:#3a3020;font-size:13px}
.htoast.rem{background:linear-gradient(135deg,#ff9f0a,#ff6b3d)}

.calg button{aspect-ratio:auto;height:46px}@media (min-width:700px){.calc{max-width:760px}}
.calg .cdots{position:absolute;bottom:5px;left:0;right:0;display:flex;justify-content:center;gap:3px}.calg .cdots i{position:static;margin:0;width:6px;height:6px}
.calleg{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:10px;font-size:12px;color:var(--ink2)}.calleg span{display:flex;align-items:center;gap:5px}.calleg i{width:8px;height:8px;border-radius:50%;background:#0a84ff;display:inline-block}.calleg i.klausur{background:#ff375f}.calleg i.own{background:#bf5af2}.calleg i.hlg{background:#ffd60a}
.calg i.own{background:#bf5af2}

.mnl button{flex:none;min-width:84px;padding:10px 12px;border-radius:16px;background:color-mix(in srgb,var(--c) 14%,transparent);border:0;border-left:4px solid var(--c);display:flex;flex-direction:column;align-items:flex-start;text-align:left;color:inherit;font:inherit;cursor:pointer;position:relative}
.mnl button i{font:700 11px -apple-system,sans-serif;font-style:normal;color:var(--ink2)}.mnl button b{font-size:15px}.mnl button small{font-size:11.5px;color:var(--ink2)}.mnl button.cur{box-shadow:0 0 0 2px var(--c)}
.lesm{position:absolute;top:6px;right:7px;font-style:normal;font-size:12px}.mwg span{position:relative;cursor:pointer}.mwg .dh small{display:block;font-weight:500;font-size:10px;opacity:.8}
.mnhint{margin:6px 2px 0;font-size:11.5px;color:var(--ink2)}.mnbig{cursor:pointer}
.lesh{border-radius:18px;padding:14px 16px;margin:6px 0 14px;background:linear-gradient(135deg,var(--c),color-mix(in srgb,var(--c) 70%,#000));color:#fff;display:flex;flex-direction:column}.lesh b{font-size:24px}.lesh span{font-size:14px;opacity:.9}
.lesf{display:flex;flex-direction:column;gap:5px;font:600 13px -apple-system,sans-serif;color:var(--ink2);margin-bottom:10px}.lesf textarea{border:1px solid rgba(120,120,128,.25);border-radius:14px;padding:10px 12px;font:16px -apple-system,sans-serif;background:var(--card);color:var(--ink);resize:vertical}
.lesr{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;margin-bottom:12px}.lesr>label{display:flex;flex-direction:column;gap:4px;font:600 13px -apple-system,sans-serif;color:var(--ink2)}.lesr input[type=date]{border:1px solid rgba(120,120,128,.25);border-radius:12px;padding:8px 10px;font:16px -apple-system,sans-serif;background:var(--card);color:var(--ink)}
.lesk{display:flex;gap:6px}.lesk label{cursor:pointer}.lesk input{display:none}.lesk span{display:inline-block;padding:8px 12px;border-radius:99px;background:rgba(120,120,128,.12);font:600 13px -apple-system,sans-serif}.lesk input:checked+span{background:#0a84ff;color:#fff}
.lesl{border-radius:14px;background:rgba(120,120,128,.08);padding:10px 12px;margin-bottom:12px}.lesl small{font:700 11px -apple-system,sans-serif;text-transform:uppercase;letter-spacing:.05em;color:var(--ink2)}.lesl div{display:flex;justify-content:space-between;gap:10px;padding:5px 0;font-size:14px}.lesl em{font-style:normal;color:var(--ink2);white-space:nowrap}
/* Kalender: Klassenarbeit mit Schwerpunkten */
.evka{margin:2px 0 10px 34px;padding:10px 12px;border-radius:12px;background:rgba(255,159,10,.12);font-size:13.5px}
.evka p{margin:0 0 8px;line-height:1.45}
.lt.tsch{background:linear-gradient(150deg,#64d2ff,#5e5ce6)}.lt.tfok{background:linear-gradient(150deg,#3a2f8f,#bf5af2)}

.stsav{display:inline-grid;place-items:center;flex:none;border-radius:50%;line-height:1;box-shadow:inset 0 0 0 2px rgba(255,255,255,.35);user-select:none}
.meav{position:relative;border:0;background:none;padding:0;cursor:pointer;flex:none}.meav i{position:absolute;right:-2px;bottom:-2px;width:22px;height:22px;border-radius:50%;background:var(--card,#fff);color:#5e5ce6;font-style:normal;font-size:12px;display:grid;place-items:center;box-shadow:0 2px 6px rgba(0,0,0,.2)}
.srh{display:block;font-size:12px;color:var(--ink2,#8e8e93);font-weight:500;margin-top:1px}
.pfs{position:fixed;inset:0;z-index:9300;background:rgba(0,0,0,.38);display:flex;align-items:flex-end;justify-content:center;animation:pfIn .18s}.pfs.out{opacity:0;transition:opacity .18s}
.pfsb{width:min(620px,100%);max-height:90vh;overflow:auto;background:var(--bg,#f2f2f7);color:var(--ink,#1d1d1f);border-radius:22px 22px 0 0;padding:0 16px calc(22px + env(safe-area-inset-bottom));animation:pfUp .24s ease-out}
@media (min-width:700px){.pfs{align-items:center}.pfsb{border-radius:22px}}
.pfsh{position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;padding:16px 2px 10px;background:var(--bg,#f2f2f7);z-index:1}.pfsh b{font-size:19px}.pfsx{border:0;background:none;color:#5e5ce6;font:700 16px -apple-system,sans-serif;cursor:pointer}
.pfr{display:flex;flex-direction:column;gap:8px;background:var(--card,#fff);border-radius:16px;padding:12px 14px;margin-bottom:8px}.pfr>span{font-weight:700;font-size:15px}.pfr small{display:block;font-weight:500;font-size:12.5px;color:var(--ink2,#8e8e93);margin-top:2px}
.pfr:has(.pftg){flex-direction:row;align-items:center;justify-content:space-between}
.pftg{width:46px;height:28px;flex:none;appearance:none;border-radius:99px;background:#d1d1d6;position:relative;cursor:pointer;transition:background .2s}.pftg:after{content:"";position:absolute;left:3px;top:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.3);transition:transform .2s}.pftg:checked{background:#34c759}.pftg:checked:after{transform:translateX(18px)}
.pfseg{display:flex;gap:3px;background:var(--fill,#e5e5ea);padding:3px;border-radius:12px;overflow-x:auto;scrollbar-width:none}.pfseg button{flex:1;border:0;background:none;border-radius:9px;padding:8px 8px;font:600 13.5px -apple-system,sans-serif;color:var(--ink2,#6e6e73);white-space:nowrap;cursor:pointer}.pfseg button.on{background:var(--card,#fff);color:var(--ink,#1d1d1f);box-shadow:0 1px 4px rgba(0,0,0,.15)}
.pfmut{color:var(--ink2,#6e6e73);font-size:13.5px;line-height:1.45;margin:4px 2px 12px}.pflab{font-weight:700;font-size:14px;margin:14px 2px 8px}
.pfbtns{display:flex;gap:8px;margin-top:14px}.pfbtns.col{flex-direction:column}.pfb{flex:1;border:0;border-radius:14px;padding:13px;font:700 15px -apple-system,sans-serif;background:var(--card,#fff);color:var(--ink,#1d1d1f);cursor:pointer}.pfb.pri{background:#5e5ce6;color:#fff}
.pfav{display:flex;flex-direction:column;align-items:center;text-align:center}.pfav .pfmut{max-width:380px}
.pfcol{display:flex;gap:10px;flex-wrap:wrap}.pfcol button{width:38px;height:38px;border-radius:50%;border:3px solid transparent;cursor:pointer}.pfcol button.on{border-color:var(--ink,#1d1d1f)}
.pfemo{display:grid;grid-template-columns:repeat(auto-fill,minmax(48px,1fr));gap:6px}.pfemo button{border:0;border-radius:14px;height:48px;font-size:26px;background:var(--card,#fff);cursor:pointer}.pfemo button.on{box-shadow:0 0 0 3px #5e5ce6}
@keyframes pfIn{from{opacity:0}}@keyframes pfUp{from{transform:translateY(30px);opacity:.4}}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .pfsb,:root:not([data-theme=light]) .pfsh{background:#000}:root:not([data-theme=light]) .pfr,:root:not([data-theme=light]) .pfb:not(.pri),:root:not([data-theme=light]) .pfemo button{background:#1c1c1e}}
:root[data-theme=dark] .pfsb,:root[data-theme=dark] .pfsh{background:#000}:root[data-theme=dark] .pfr,:root[data-theme=dark] .pfb:not(.pri),:root[data-theme=dark] .pfemo button{background:#1c1c1e}
.hav .stsav{box-shadow:0 4px 12px -4px rgba(0,0,0,.35)}
.card.me .meav .stsav{display:grid;font-size:inherit}
.lt.tpet{background:linear-gradient(150deg,#ffb36b,#ff6fa5)}.lt.tpet .pmini{display:block;width:62px;height:62px;margin:-6px 0 -2px -6px}.lt.tpet .pmini svg{width:100%;height:100%}
.petgot{position:fixed;left:50%;bottom:calc(96px + env(safe-area-inset-bottom));transform:translateX(-50%);z-index:9800;display:flex;align-items:center;gap:12px;padding:10px 18px 10px 12px;border-radius:20px;background:#fff;color:#1d1d1f;box-shadow:0 18px 40px -14px rgba(0,0,0,.45);animation:petGot .45s cubic-bezier(.2,1.5,.4,1);font-family:-apple-system,sans-serif;max-width:92vw}
.petgot span{font-size:34px}.petgot b{display:block;font-size:14.5px}.petgot small{color:#6e6e73;font-size:13px}.petgot.out{opacity:0;transform:translate(-50%,16px);transition:.4s}
@keyframes petGot{from{transform:translate(-50%,30px) scale(.8);opacity:0}}

/* ===== Designs (Themes): data-skin auf <html>; Hintergrund als feste Ebene, Karten leicht durchscheinend ===== */
html[data-skin]{background:var(--bg)}html[data-skin] body{background:transparent}
html[data-skin] body::before{content:"";position:fixed;inset:0;z-index:-1;background:var(--skinbg,var(--bg));pointer-events:none}
html[data-skin] .tabbar{background:var(--tab,var(--card))!important}
html[data-skin] .btn:not(.sec):not(.ghost){background:linear-gradient(180deg,var(--accent2,var(--accent)),var(--accent));box-shadow:0 12px 24px -10px color-mix(in srgb,var(--accent) 80%,transparent)}
html[data-skin] .btn.sec,html[data-skin] .btn.ghost,html[data-skin] .lnk,html[data-skin] .glist li.new em,html[data-skin] .sdup b{color:var(--accent)}
html[data-skin] .chips button.on,html[data-skin] .opts button.on,html[data-skin] .scale button.on,html[data-skin] .lesk input:checked+span,html[data-skin] .mwg .dh.td{background:var(--accent);border-color:var(--accent)}
html[data-skin] .calg i,html[data-skin] .calleg i{background:var(--accent)}
html[data-glass] .card,html[data-glass] .tabbar{-webkit-backdrop-filter:blur(16px) saturate(1.3);backdrop-filter:blur(16px) saturate(1.3)}
:root[data-skin=ozean]{--bg:#e6f6fb;--card:rgba(255,255,255,.86);--accent:#0a9cc8;--accent2:#3cc6ea;--indigo:#0a8fb8;--tab:rgba(240,251,255,.86);--skinbg:linear-gradient(165deg,#cdeffa 0%,#e4efff 55%,#f2fbff 100%)}
@media (prefers-color-scheme:dark){:root:not([data-theme=light])[data-skin=ozean]{--bg:#04131b;--card:rgba(14,40,56,.86);--accent:#2fc6ef;--accent2:#6fdcf6;--indigo:#46d0f2;--tab:rgba(8,30,44,.86);--skinbg:linear-gradient(165deg,#05293b 0%,#071c32 60%,#030d16 100%)}}:root[data-theme=dark][data-skin=ozean]{--bg:#04131b;--card:rgba(14,40,56,.86);--accent:#2fc6ef;--accent2:#6fdcf6;--indigo:#46d0f2;--tab:rgba(8,30,44,.86);--skinbg:linear-gradient(165deg,#05293b 0%,#071c32 60%,#030d16 100%)}
:root[data-skin=sonne]{--bg:#fff2ea;--card:rgba(255,255,255,.86);--accent:#f2602f;--accent2:#ff9a5c;--indigo:#ec4f7c;--tab:rgba(255,244,238,.88);--skinbg:linear-gradient(165deg,#ffe0cc 0%,#ffdbea 55%,#fff3e6 100%)}
@media (prefers-color-scheme:dark){:root:not([data-theme=light])[data-skin=sonne]{--bg:#1a0b0e;--card:rgba(52,22,28,.86);--accent:#ff875a;--accent2:#ffb27a;--indigo:#ff6f96;--tab:rgba(40,16,22,.88);--skinbg:linear-gradient(165deg,#3a1610 0%,#2c0f22 60%,#120709 100%)}}:root[data-theme=dark][data-skin=sonne]{--bg:#1a0b0e;--card:rgba(52,22,28,.86);--accent:#ff875a;--accent2:#ffb27a;--indigo:#ff6f96;--tab:rgba(40,16,22,.88);--skinbg:linear-gradient(165deg,#3a1610 0%,#2c0f22 60%,#120709 100%)}
:root[data-skin=wald]{--bg:#eef6ec;--card:rgba(255,255,255,.86);--accent:#24935b;--accent2:#4cc285;--indigo:#2a8f6a;--tab:rgba(242,250,240,.88);--skinbg:linear-gradient(165deg,#d8efcf 0%,#e9f5ea 55%,#f6fbf2 100%)}
@media (prefers-color-scheme:dark){:root:not([data-theme=light])[data-skin=wald]{--bg:#07130d;--card:rgba(20,42,30,.86);--accent:#4cd28c;--accent2:#86e6b1;--indigo:#5fd7a0;--tab:rgba(12,30,20,.88);--skinbg:linear-gradient(165deg,#0d2a1a 0%,#0a1d15 60%,#040a07 100%)}}:root[data-theme=dark][data-skin=wald]{--bg:#07130d;--card:rgba(20,42,30,.86);--accent:#4cd28c;--accent2:#86e6b1;--indigo:#5fd7a0;--tab:rgba(12,30,20,.88);--skinbg:linear-gradient(165deg,#0d2a1a 0%,#0a1d15 60%,#040a07 100%)}
:root[data-skin=galaxie]:not([data-x]),:root[data-skin=galaxie][data-theme]:not([data-x]){--bg:#0e0b24;--card:rgba(36,26,74,.8);--ink:#f5f5f7;--ink2:#a1a1a6;--ink3:#636366;--line:rgba(84,84,88,.5);--fill:rgba(118,118,128,.24);--accent:#a77bff;--accent2:#c9a8ff;--indigo:#b391ff;--tab:rgba(28,20,60,.86);--skinbg:radial-gradient(1.5px 1.5px at 12% 18%,#fff,transparent),radial-gradient(1px 1px at 72% 12%,#fff,transparent),radial-gradient(1.5px 1.5px at 40% 62%,#fff,transparent),radial-gradient(1px 1px at 85% 70%,#fff,transparent),radial-gradient(1px 1px at 22% 88%,#fff,transparent),radial-gradient(60% 40% at 80% 20%,rgba(255,92,200,.35),transparent),radial-gradient(60% 50% at 10% 80%,rgba(80,120,255,.35),transparent),linear-gradient(160deg,#1a1240 0%,#33196a 55%,#0e0b24 100%);color-scheme:dark}
:root[data-skin=neon]:not([data-x]),:root[data-skin=neon][data-theme]:not([data-x]){--bg:#07060d;--card:rgba(20,16,34,.84);--ink:#f5f5f7;--ink2:#a1a1a6;--ink3:#636366;--line:rgba(84,84,88,.5);--fill:rgba(118,118,128,.24);--accent:#ff2fb3;--accent2:#ff7ad1;--indigo:#19e3ff;--tab:rgba(14,10,26,.88);--skinbg:radial-gradient(45% 35% at 15% 10%,rgba(255,0,170,.4),transparent 70%),radial-gradient(45% 40% at 90% 85%,rgba(0,230,255,.35),transparent 70%),#07060d;color-scheme:dark}
:root[data-skin=zucker]:not([data-x]),:root[data-skin=zucker][data-theme]:not([data-x]){--bg:#fdeaf4;--card:rgba(255,255,255,.8);--ink:#1d1d1f;--ink2:#6e6e73;--ink3:#aeaeb2;--line:rgba(60,60,67,.12);--fill:rgba(118,118,128,.12);--accent:#ff5fae;--accent2:#ff94c8;--indigo:#8f7bff;--tab:rgba(255,240,248,.88);--skinbg:linear-gradient(160deg,#ffd6ea 0%,#e6dcff 50%,#d4f2ff 100%);color-scheme:light}
:root[data-skin=gold]:not([data-x]),:root[data-skin=gold][data-theme]:not([data-x]){--bg:#0b0a08;--card:rgba(30,26,19,.92);--ink:#f5f5f7;--ink2:#b9ad94;--ink3:#636366;--line:rgba(84,84,88,.5);--fill:rgba(118,118,128,.24);--accent:#d4a73a;--accent2:#f1cf6b;--indigo:#e2b84e;--tab:rgba(20,18,13,.9);--skinbg:radial-gradient(70% 50% at 50% 0%,rgba(212,167,58,.18),transparent 70%),linear-gradient(170deg,#1a1610 0%,#0b0a08 100%);color-scheme:dark}
:root[data-skin=polar]:not([data-x]),:root[data-skin=polar][data-theme]:not([data-x]){--bg:#06101e;--card:rgba(14,30,48,.82);--ink:#f5f5f7;--ink2:#a1a1a6;--ink3:#636366;--line:rgba(84,84,88,.5);--fill:rgba(118,118,128,.24);--accent:#3ef0b0;--accent2:#8affd6;--indigo:#8f7bff;--tab:rgba(10,24,40,.88);--skinbg:radial-gradient(70% 30% at 30% 12%,rgba(62,240,176,.38),transparent 70%),radial-gradient(60% 30% at 75% 22%,rgba(143,123,255,.38),transparent 70%),linear-gradient(180deg,#0a1a33 0%,#06101e 70%);color-scheme:dark}
:root[data-skin=eigen][data-card=hell]:not([data-x]),:root[data-skin=eigen][data-card=glas]:not([data-x]){--bg:#f2f2f7;--card:#fff;--ink:#1d1d1f;--ink2:#6e6e73;--ink3:#aeaeb2;--line:rgba(60,60,67,.12);--fill:rgba(118,118,128,.12);--card:rgba(255,255,255,.86);--tab:rgba(255,255,255,.86);color-scheme:light}
:root[data-skin=eigen][data-card=glas]:not([data-x]){--card:rgba(255,255,255,.58);--tab:rgba(255,255,255,.6)}
:root[data-skin=eigen][data-card=dunkel]:not([data-x]){--bg:#000;--card:#1c1c1e;--ink:#f5f5f7;--ink2:#a1a1a6;--ink3:#636366;--line:rgba(84,84,88,.5);--fill:rgba(118,118,128,.24);--card:rgba(22,22,26,.8);--tab:rgba(22,22,26,.84);color-scheme:dark}
.pfskins{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px}
.pfskins button{position:relative;border:0;border-radius:18px;padding:8px 8px 10px;background:var(--card,#fff);color:var(--ink,#1d1d1f);font:700 13.5px -apple-system,sans-serif;cursor:pointer;display:flex;flex-direction:column;gap:7px;box-shadow:0 2px 8px rgba(0,0,0,.06)}
.pfskins button.on{box-shadow:0 0 0 3px var(--accent,#0a84ff)}.pfskins button.lock .pfmini{filter:saturate(.7) brightness(.92)}
.pfmini{position:relative;height:110px;border-radius:12px;overflow:hidden;display:flex;flex-direction:column;gap:6px;padding:12px 10px}
.pfmini i{display:block;height:24px;border-radius:7px;box-shadow:0 1px 3px rgba(0,0,0,.08)}.pfmini i+i{width:70%}
.pfmini b{display:block;width:46%;height:16px;border-radius:8px}.pfmini u{position:absolute;left:10px;right:10px;bottom:8px;height:14px;border-radius:7px;display:flex;justify-content:center;align-items:center}.pfmini u em{width:14px;height:6px;border-radius:3px}
.pfmini.own{align-items:center;justify-content:center;font-size:38px;background:repeating-conic-gradient(#f0f0f5 0 25%,#e3e3ea 0 50%) 0 0/20px 20px}.pfmini.own small{font-size:11px;color:#6e6e73}
.pflock{position:absolute;top:12px;right:12px;font:700 11px -apple-system,sans-serif;font-style:normal;background:rgba(0,0,0,.65);color:#fff;border-radius:99px;padding:3px 8px}
.pfbig{font-size:64px}
.pfwp{height:170px;border-radius:18px;background-size:cover;background-position:center;display:flex;flex-direction:column;gap:8px;padding:16px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.06)}
.pfwp i{display:block;height:30px;border-radius:10px}.pfwp i+i{width:66%}.pfwp i.hell{background:rgba(255,255,255,.88)}.pfwp i.glas{background:rgba(255,255,255,.55);backdrop-filter:blur(8px)}.pfwp i.dunkel{background:rgba(22,22,26,.8)}
.pfwp b{display:block;width:40%;height:22px;border-radius:11px}
.pfcust{position:relative;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;font:700 18px -apple-system,sans-serif;background:conic-gradient(#ff3b30,#ffcc00,#34c759,#0a84ff,#bf5af2,#ff3b30);color:#fff;cursor:pointer}.pfcust input{position:absolute;inset:0;opacity:0;cursor:pointer}
.pfr input[type=range]{width:100%;accent-color:var(--accent,#5e5ce6)}
.card.betac{display:flex;align-items:center;gap:12px;background:linear-gradient(120deg,#e8f4ff,#f3e9ff)}.betac>span{font-size:34px}.betac div{flex:1}.betac b{display:block}.betac small{color:var(--ink2);font-size:12.5px}.betac .btn{width:auto;margin:0;padding:10px 16px;font-size:15px}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .card.betac{background:linear-gradient(120deg,#0e2236,#22163a)}}:root[data-theme=dark] .card.betac{background:linear-gradient(120deg,#0e2236,#22163a)}
.sheetbg{position:fixed;inset:0;z-index:9300;background:rgba(0,0,0,.4);display:flex;align-items:flex-end;justify-content:center}.betaf{width:min(560px,100%);background:var(--bg);border-radius:24px 24px 0 0;padding:20px 18px calc(20px + env(safe-area-inset-bottom))}
@media (min-width:700px){.sheetbg{align-items:center}.betaf{border-radius:24px}}.betaf h2{margin:0 0 4px}.betaf textarea{width:100%;box-sizing:border-box;margin:12px 0;border:1.5px solid var(--line);border-radius:14px;padding:12px;font:16px -apple-system,sans-serif;background:var(--card);color:var(--ink)}
.lt.tbes{background:linear-gradient(150deg,#30d158,#0a9cc8)}.lt.tfar{background:linear-gradient(150deg,#ff9f0a,#ff375f 55%,#5e5ce6)}.lt.trom{background:linear-gradient(150deg,#c8a24a,#b3261e)}.lt.trel{background:linear-gradient(150deg,#64d2ff,#af52de)}.lt.tmol{background:linear-gradient(150deg,#e5302a,#3a3a3c 60%,#2f6fdf)}.lt.tphy{background:linear-gradient(150deg,#ff9f0a,#5e5ce6)}.lt.tvok{background:linear-gradient(150deg,#5e5ce6,#30b0c7)}.lt.tdaz{background:linear-gradient(150deg,#1f6fd6,#e5304a 55%,#22a845)}.lt.tall{background:linear-gradient(150deg,#ffb340,#ff6b8a)}.lt.tgeo{background:linear-gradient(150deg,#34c759,#0a84ff 70%)}.pvcard{display:flex;align-items:center;gap:12px;width:100%;box-sizing:border-box;border:0;text-align:left;cursor:pointer;font:inherit;color:inherit;background:linear-gradient(135deg,#fff6d6,#ffe3ec)!important;color:#1d1d1f!important}.pvcard>span{font-size:30px}.pvcard div{flex:1;display:flex;flex-direction:column}.pvcard small{color:#6e6e73}.pvcard em{font-style:normal;font-size:22px;color:#c2185b}.lt.tmus{background:linear-gradient(150deg,#bf5af2,#0a84ff)}
/* --- Lernen-Seite --- */
.lnq{position:relative;margin:0 0 12px}.lnq input{width:100%;box-sizing:border-box;border:0;border-radius:16px;padding:14px 16px 14px 44px;font:500 17px -apple-system,sans-serif;background:var(--card) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238e8e93' stroke-width='2.2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") no-repeat 14px center/20px;color:var(--ink);box-shadow:var(--sh);outline:none;-webkit-appearance:none}
.lnq input:focus{box-shadow:0 0 0 3px rgba(10,132,255,.35)}
.lnres{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:30;background:var(--card);border-radius:18px;box-shadow:0 20px 40px -12px rgba(0,0,0,.35);padding:6px;max-height:60vh;overflow:auto}
.lnres button{display:flex;align-items:center;gap:12px;width:100%;border:0;background:none;border-radius:12px;padding:9px 10px;text-align:left;font:inherit;color:inherit;cursor:pointer}.lnres button:hover,.lnres button:focus{background:var(--fill)}
.lnres span{font-size:24px;width:30px;text-align:center}.lnres div{display:flex;flex-direction:column;min-width:0}.lnres small{color:var(--ink2);font-size:12.5px}.lnres p{padding:10px}
.lnrc{margin-bottom:12px}.lnrc>small{display:block;margin:0 4px 6px;font-weight:700;color:var(--ink2);font-size:12px;text-transform:uppercase;letter-spacing:.05em}.lnrc>div{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}
.lnrc button{flex:none;display:flex;align-items:center;gap:6px;border:0;border-radius:99px;padding:8px 14px 8px 10px;background:var(--card);box-shadow:var(--sh);font:600 14px -apple-system,sans-serif;color:var(--ink);cursor:pointer}.lnrc span{font-size:18px}
.lnhero{display:grid;grid-template-columns:2fr 1fr;gap:10px;margin-bottom:6px}
.lnbig{display:flex;align-items:center;gap:12px;border:0;border-radius:22px;padding:16px;text-align:left;color:#fff;cursor:pointer;font:inherit;box-shadow:0 14px 28px -16px rgba(0,0,0,.5)}.lnbig.abi{background:linear-gradient(135deg,#5e5ce6,#bf5af2)}.lnbig.fok{background:linear-gradient(135deg,#30b0c7,#34c759)}
.lnbig>span{font-size:38px}.lnbig div{flex:1;display:flex;flex-direction:column;min-width:0}.lnbig b{font-size:19px}.lnbig small{opacity:.9;font-size:13px}.lnbig em{font-style:normal;font-size:28px;opacity:.8}
@media (max-width:520px){.lnhero{grid-template-columns:1fr}.lnbig.fok{padding:12px 16px}.lnbig.fok>span{font-size:28px}}
.lnfach{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:8px;margin-bottom:6px}
.lnfach button{display:flex;flex-direction:column;align-items:center;gap:4px;border:0;border-radius:16px;padding:10px 4px;background:var(--card);box-shadow:var(--sh);font:600 13px -apple-system,sans-serif;color:var(--ink);cursor:pointer}.lnfach span{font-size:26px}
.lngrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(196px,1fr));gap:8px;margin-bottom:6px}
.lnt{display:grid;grid-template-columns:40px 1fr;grid-template-rows:auto auto;gap:0 10px;align-items:center;border:0;border-radius:16px;padding:10px;background:var(--card);box-shadow:var(--sh);text-align:left;font:inherit;color:var(--ink);cursor:pointer;min-width:0}
.lnt .lni{grid-row:1/3;width:40px;height:40px;border-radius:12px;background:var(--fill);display:grid;place-items:center;font-size:23px;overflow:hidden}.lnt .lni.pmini svg{width:40px;height:40px}
.lnt b{font-size:14.5px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lnt small{font-size:12px;color:var(--ink2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lnt small:empty{display:none}.lnt:active,.lnfach button:active,.lnbig:active{transform:scale(.97)}
@media (max-width:420px){.lngrid{grid-template-columns:1fr 1fr}.lnfach{grid-template-columns:repeat(4,1fr)}.lnfach button{font-size:11.5px}}
.lnsh{position:fixed;inset:0;z-index:9000;background:rgba(0,0,0,.4);display:flex;align-items:flex-end;justify-content:center;animation:fadeIn .2s}
.lnshb{background:var(--bg,#f2f2f7);width:100%;max-width:760px;max-height:88vh;overflow:auto;border-radius:24px 24px 0 0;padding:16px 16px calc(24px + env(safe-area-inset-bottom));animation:up .35s var(--spring) both}
@media (min-width:760px){.lnsh{align-items:center}.lnshb{border-radius:24px}}
.lnshh{display:flex;align-items:center;gap:10px;margin-bottom:12px}.lnshh span{font-size:34px}.lnshh h2{flex:1;margin:0;font-size:24px}.lnx{border:0;background:var(--fill);border-radius:50%;width:36px;height:36px;font-size:16px;cursor:pointer;color:var(--ink)}
.lnshb h3{font:700 13px -apple-system,sans-serif;text-transform:uppercase;letter-spacing:.06em;color:var(--ink2);margin:16px 4px 8px}
.lnshb h4.lngh{font:800 15px -apple-system,sans-serif;margin:14px 4px 8px;display:flex;align-items:center;gap:6px}
.lnabi{display:flex;align-items:center;gap:12px;width:100%;border:0;border-radius:18px;padding:14px;background:linear-gradient(135deg,#5e5ce6,#bf5af2);color:#fff;text-align:left;font:inherit;cursor:pointer}.lnabi span{font-size:30px}.lnabi div{flex:1;display:flex;flex-direction:column}.lnabi small{opacity:.9}.lnabi em{font-style:normal;font-size:24px}
@keyframes fadeIn{from{opacity:0}}
/* ===== Mein Tag (dy*) ===== */
.dyc{padding:0;overflow:hidden;position:relative;background:linear-gradient(180deg,color-mix(in srgb,var(--card) 92%,#5e5ce6 8%),var(--card) 140px)}
.dyc.sk{min-height:260px}
.dyh{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;padding:18px 20px 12px}.dyh small{font-size:13px;font-weight:600;color:var(--accent,#0a84ff);text-transform:uppercase;letter-spacing:.04em}.dyh h2{margin:2px 0 0;font-size:28px;letter-spacing:-.02em;font-weight:800}
.dyseg{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));background:var(--fill);border-radius:10px;padding:2px;min-width:240px}
.dyseg button{position:relative;z-index:1;border:0;background:none;font:inherit;font-size:13px;font-weight:600;padding:7px 10px;color:var(--ink);border-radius:8px}
.dyknob{position:absolute;top:2px;bottom:2px;left:2px;width:calc((100% - 4px)/3);border-radius:8px;background:var(--card);box-shadow:0 3px 8px rgba(0,0,0,.12),0 0 0 .5px rgba(0,0,0,.04);transform:translateX(calc(var(--i,0)*100%));transition:transform .35s cubic-bezier(.3,1.3,.5,1)}
.dyb{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:0;border-top:.5px solid var(--line)}.dyb.full{grid-template-columns:minmax(0,1fr)}
.dyl{padding:12px 20px 20px;animation:dyin .45s cubic-bezier(.2,.9,.3,1) both}.dyr{padding:12px 20px 20px;border-left:.5px solid var(--line);display:flex;flex-direction:column;gap:16px;animation:dyin .5s .05s cubic-bezier(.2,.9,.3,1) both}
@keyframes dyin{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.dyinfo{margin:0 0 10px;font-size:14px;color:var(--ink2)}.dych{color:#ff9f0a}
.dytl{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.dytl li{display:grid;grid-template-columns:52px 4px minmax(0,1fr);gap:12px;align-items:stretch;padding:10px 12px;border-radius:14px;background:var(--fill);transition:transform .2s,opacity .3s}
.dytl li time{font-weight:700;font-size:15px;font-variant-numeric:tabular-nums;display:flex;flex-direction:column}.dytl li time small{font-weight:500;font-size:12px;color:var(--ink2)}
.dytl li>i{border-radius:3px;background:var(--c)}.dytl li b{font-size:16px;display:block}.dytl li span{font-size:13px;color:var(--ink2)}
.dytl li em.tg{margin:4px 4px 0 0;display:inline-block}
.dytl li.cur{background:linear-gradient(135deg,color-mix(in srgb,var(--c) 22%,var(--card)),color-mix(in srgb,var(--c) 8%,var(--card)));box-shadow:0 6px 18px color-mix(in srgb,var(--c) 30%,transparent),inset 0 1px 0 rgba(255,255,255,.6);transform:scale(1.015)}
.dytl li.past{opacity:.5}.dytl li.x b{text-decoration:line-through;color:var(--ink2)}
.dyp{height:5px;border-radius:3px;background:rgba(0,0,0,.08);margin-top:8px;overflow:hidden}.dyp i{display:block;height:100%;background:var(--c);border-radius:3px}
.dyempty{text-align:center;padding:26px 10px;color:var(--ink2)}.dyempty span{font-size:40px;display:block}.dyempty div{display:flex;gap:8px;justify-content:center}
.dyg h3{margin:0 0 8px;font-size:15px;display:flex;justify-content:space-between;align-items:baseline}.dyg h3 small{font-size:12px;color:var(--ink2);font-weight:600}
.dymu{margin:0;font-size:13px;color:var(--ink2)}
.dyev,.dytd{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.dyev li{display:flex;gap:10px;align-items:center;padding:8px 10px;border-radius:12px;background:var(--fill)}.dyev li>span{font-size:20px}.dyev b{font-size:14px;display:block}.dyev small{font-size:12px;color:var(--ink2)}
.dytd li{display:flex;gap:10px;align-items:center;font-size:14px;transition:opacity .3s,transform .3s}.dytd li.gone{opacity:0;transform:translateX(20px)}
.dyck{flex:0 0 auto;width:22px;height:22px;border-radius:50%;border:2px solid var(--ink3);background:none;padding:0;transition:all .2s}.dyck.on{background:#30d158;border-color:#30d158;box-shadow:inset 0 0 0 3px var(--card)}
.dyadd{display:flex;gap:6px;margin-top:8px}.dyadd input{flex:1;min-width:0;border:0;border-radius:10px;background:var(--fill);padding:9px 12px;font:inherit;font-size:14px;color:var(--ink)}.dyadd button{border:0;border-radius:10px;background:var(--accent,#0a84ff);color:#fff;font-size:18px;width:38px}
.dynt{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.dynt button{border:0;min-height:62px;border-radius:4px 4px 14px 4px;background:var(--c);color:#1d1d1f;font:inherit;font-size:12px;text-align:left;padding:8px;transform:rotate(var(--r));box-shadow:0 4px 10px rgba(0,0,0,.12);overflow:hidden;transition:transform .2s}.dynt button:active{transform:scale(.96)}
.dylnk{border:0;background:none;color:var(--accent,#0a84ff);font:inherit;font-size:13px;font-weight:600;padding:6px 0 0}
.dywk{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.dywk>div{background:var(--fill);border-radius:14px;padding:8px;display:flex;flex-direction:column;gap:5px;min-width:0}.dywk>div.td{background:color-mix(in srgb,var(--accent,#0a84ff) 12%,var(--card));box-shadow:inset 0 0 0 1.5px var(--accent,#0a84ff)}
.dywk em{font-style:normal;font-weight:800;font-size:15px;display:flex;justify-content:space-between}.dywk em small{font-weight:500;color:var(--ink2);font-size:12px}
.dywk span{display:block;border-radius:8px;padding:5px 7px;background:color-mix(in srgb,var(--c) 18%,var(--card));border-left:3px solid var(--c);min-width:0}.dywk span b{display:block;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dywk span small{font-size:11px;color:var(--ink2)}
.dywk span.x{opacity:.45;text-decoration:line-through}.dywk span.irr{border-left-color:#ff9f0a}.dywk span.ev{background:var(--card);border-left-color:#bf5af2;font-size:12px}.dywk p{margin:0;font-size:12px;color:var(--ink2)}
@media (max-width:760px){.dyb{grid-template-columns:minmax(0,1fr)}.dyr{border-left:0;border-top:.5px solid var(--line)}.dyh{flex-direction:column;align-items:stretch}.dywk{grid-template-columns:minmax(0,1fr)}}
/* ===== Profil & Elternbereich (pf*) ===== */
.pfc .pfbtn{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.pfrow{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0}
.pfl{display:inline-flex;align-items:center;gap:8px;padding:6px 12px 6px 6px;border-radius:99px;background:var(--fill);color:var(--ink);text-decoration:none;transition:transform .15s}.pfl:active{transform:scale(.96)}
.pfl i,.pfin i{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;color:#fff;font-style:normal;font-size:15px;box-shadow:inset 0 1px 0 rgba(255,255,255,.35)}.pfl.snap i,.pfin:nth-child(3) i{color:#1d1d1f}
.pfl span{display:flex;flex-direction:column;line-height:1.1}.pfl small{font-size:10px;color:var(--ink2)}.pfl b{font-size:13px}
.pfs .shb{max-width:560px;width:100%}
.pff{display:flex;flex-direction:column;gap:8px;margin:12px 0}
.pfin{display:flex;gap:12px;align-items:center;background:var(--fill);border-radius:14px;padding:8px 12px}.pfin i{width:38px;height:38px;font-size:18px;border-radius:11px}.pfin span{flex:1;display:flex;flex-direction:column}.pfin small{font-size:12px;color:var(--ink2);font-weight:600}
.pfin input{border:0;background:none;font:inherit;font-size:16px;color:var(--ink);padding:2px 0;outline:none;width:100%}
.pfsw{background:var(--fill);border-radius:14px;padding:10px 12px;margin-bottom:10px}
.pftip{font-size:13px;line-height:1.45;background:color-mix(in srgb,#30d158 12%,var(--card));border-radius:14px;padding:10px 12px;margin-bottom:12px}
.pfkl{display:flex;flex-direction:column;gap:8px;margin-top:10px;max-height:60vh;overflow:auto}.pfk{display:flex;gap:12px;align-items:flex-start;padding:10px;border-radius:16px;background:var(--fill);animation:up .5s var(--spring,ease) both;animation-delay:var(--d)}
.pfm{white-space:nowrap}.pfe{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0}.pfe div{background:var(--fill);border-radius:14px;padding:10px;text-align:center;font-size:24px;display:flex;flex-direction:column;gap:2px}.pfe b{font-size:13px}.pfe small{font-size:11px;color:var(--ink2);line-height:1.3}
/* App-Pause */
.pzv h1{font-size:34px}.pzu{display:inline-block;margin:6px auto 12px;padding:10px 22px;border-radius:99px;background:linear-gradient(135deg,#5e5ce6,#bf5af2);color:#fff;font-size:20px;box-shadow:0 12px 30px -10px rgba(94,92,230,.7)}
.pzm{position:relative;width:120px;height:120px;margin:10px auto 18px}.pzm i{position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle at 35% 35%,#fff6c2,#ffd23f 60%,#f5a623);box-shadow:0 0 60px rgba(255,210,63,.6);animation:pzf 6s ease-in-out infinite}
.pzm i:nth-child(2){inset:-4px -4px -4px 30px;background:var(--bg);box-shadow:none;border-radius:50%;animation-delay:-.2s}.pzm i:nth-child(3){inset:auto;width:10px;height:10px;top:-6px;right:-14px;background:#fff;box-shadow:0 0 12px #fff;animation:pzt 2.5s ease-in-out infinite}
@keyframes pzf{50%{transform:translateY(-6px)}}@keyframes pzt{50%{opacity:.2;transform:scale(.6)}}
.pvrow{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.pvrow .pvcard{margin-bottom:12px}@media (max-width:700px){.pvrow{grid-template-columns:minmax(0,1fr);gap:0}}
.pvcard.pbc{background:linear-gradient(135deg,#dcfce7,#d6f5f2)!important}.pvcard.pbc em{color:#0f8a6a}
/* Individuelles Profil */
.pfcard{border-radius:22px;overflow:hidden;background:var(--card);box-shadow:0 10px 30px -18px rgba(0,0,0,.35),0 0 0 .5px var(--line);animation:up .5s var(--spring,ease) both}
.pfban{height:84px;position:relative}.pfban::after{content:"";position:absolute;inset:0 0 45% 0;background:linear-gradient(180deg,rgba(255,255,255,.35),transparent)}.pfemo{position:absolute;right:14px;top:10px;font-size:34px;filter:drop-shadow(0 4px 8px rgba(0,0,0,.25));animation:pfb 3s ease-in-out infinite}@keyframes pfb{50%{transform:translateY(-4px) rotate(-6deg)}}
.pfbody{padding:0 16px 14px;position:relative}.pfbody .pfav{display:inline-block;margin-top:-34px;border-radius:50%;border:4px solid var(--card);box-shadow:0 6px 16px -6px rgba(0,0,0,.35);line-height:0}
.pfbody h3{margin:6px 0 2px;font-size:20px;letter-spacing:-.01em}.pfbody h3 small{font-size:13px;color:var(--ink2);font-weight:500}.pfst{margin:0 0 8px;color:var(--ink2);font-size:14px}
.pftags{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0}.pftags span{font-size:12px;font-weight:600;padding:5px 10px;border-radius:99px;background:color-mix(in srgb,var(--accent,#0a84ff) 13%,var(--card))}.pftags.h span{background:var(--fill)}
.pfab{margin:8px 0;font-size:14px;line-height:1.45}.pfvis{display:block;margin-top:6px}
.pfed .shb{max-width:620px;max-height:92vh;overflow:auto}.pfedh{display:flex;justify-content:space-between;align-items:center;position:sticky;top:-2px;z-index:2;background:var(--card);padding:4px 0 8px}
.pfsec{position:relative;background:var(--fill);border-radius:20px;padding:14px;margin:12px 0}.pfsec h3{margin:0 0 10px;font-size:16px;display:flex;justify-content:space-between;align-items:center}.pfsec h4{margin:12px 0 6px;font-size:14px}.pfsec h4 small{color:var(--ink2);font-weight:500}
.pfpro{font-size:12px;padding:4px 10px;border-radius:99px;background:linear-gradient(135deg,#ffd60a,#ff9f0a);color:#1d1d1f}
.pfsec.lock>*:not(h3):not(.pflockv){opacity:.35;pointer-events:none}.pflockv{position:absolute;left:14px;right:14px;top:50%;transform:translateY(-50%);background:var(--card);border-radius:18px;padding:16px;text-align:center;box-shadow:0 16px 40px -18px rgba(0,0,0,.45)}.pflockv p{margin:6px 0 0;font-size:14px;color:var(--ink2)}
.pfbans{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:6px}.pfbans button{aspect-ratio:1;border:0;border-radius:12px;box-shadow:inset 0 1px 0 rgba(255,255,255,.4);transition:transform .2s cubic-bezier(.3,1.4,.5,1)}.pfbans button.on{transform:scale(1.12);box-shadow:0 0 0 3px var(--card),0 0 0 5px var(--accent,#0a84ff)}
.pfemos{display:flex;flex-wrap:wrap;gap:4px;margin:10px 0}.pfemos button{border:0;background:var(--card);border-radius:10px;width:38px;height:38px;font-size:20px;transition:transform .2s}.pfemos button.on{transform:scale(1.15);box-shadow:0 0 0 2px var(--accent,#0a84ff)}
.pfin1{display:flex;flex-direction:column;gap:4px;margin-top:10px}.pfin1 small{font-weight:600;color:var(--ink2);display:flex;justify-content:space-between}.pfin1 em{font-style:normal;font-weight:500}.pfin1 input,.pfin1 textarea{border:0;border-radius:12px;background:var(--card);padding:10px 12px;font:inherit;font-size:16px;color:var(--ink);resize:none}
.pffa{display:flex;flex-wrap:wrap;gap:6px}.pffa button{border:0;border-radius:99px;padding:7px 12px;background:var(--card);font:inherit;font-size:13px;font-weight:600;color:var(--ink);transition:all .2s}.pffa button.on{background:var(--accent,#0a84ff);color:#fff}
.pfhob{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px}.pfhob span{display:inline-flex;align-items:center;gap:4px;padding:5px 6px 5px 12px;border-radius:99px;background:var(--card);font-size:13px;font-weight:600}.pfhob button{border:0;background:var(--fill);border-radius:50%;width:20px;height:20px;line-height:1;color:var(--ink2)}
.pfhadd{display:flex;gap:6px}.pfhadd input{flex:1;min-width:0;border:0;border-radius:12px;background:var(--card);padding:9px 12px;font:inherit;font-size:16px;color:var(--ink)}.pfhadd button{border:0;border-radius:12px;width:40px;background:var(--accent,#0a84ff);color:#fff;font-size:18px}
#pfPrev .pfcard{max-width:420px;margin:0 auto}
.pfwide .shb{max-width:980px;width:100%;max-height:90vh;overflow:auto}.pfgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;margin-top:12px}
.ibv .ibi{font-size:72px;animation:up .6s var(--spring,ease) both;filter:drop-shadow(0 12px 24px rgba(0,0,0,.2))}.ibc{font-family:ui-monospace,Menlo,monospace;font-size:20px;letter-spacing:.12em;padding:4px 10px;border-radius:10px;background:var(--fill)}
/* ===== Stundenplan (stdplan.js) ===== */
.sp{display:flex;flex-direction:column;gap:14px}
.sp.sk .skb{border-radius:22px;background:linear-gradient(90deg,var(--fill),color-mix(in srgb,var(--fill) 40%,transparent),var(--fill));background-size:200% 100%;animation:spsk 1.2s linear infinite;height:120px}@keyframes spsk{to{background-position:-200% 0}}
.spnow{--c:#5e5ce6;position:relative;overflow:hidden;border-radius:26px;padding:20px 22px 22px;color:#fff;display:flex;align-items:center;gap:14px;min-height:118px;
  background:radial-gradient(120% 140% at 100% 0%,color-mix(in srgb,var(--c) 55%,#fff 0%) 0%,transparent 60%),linear-gradient(135deg,color-mix(in srgb,var(--c) 92%,#000),color-mix(in srgb,var(--c) 60%,#1a1040));box-shadow:0 18px 40px -18px color-mix(in srgb,var(--c) 70%,transparent),inset 0 1px 0 rgba(255,255,255,.25);animation:spIn .6s cubic-bezier(.2,.9,.3,1.1)}
.spnow::after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 30%,rgba(255,255,255,.18) 45%,transparent 60%);transform:translateX(-100%);animation:spShine 5s ease-in-out infinite}
@keyframes spShine{0%,60%{transform:translateX(-100%)}100%{transform:translateX(100%)}}@keyframes spIn{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}
.spnow.off{--c:#636366}
.spnl{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;position:relative;z-index:1}.spnl small{font:700 12px -apple-system,sans-serif;letter-spacing:.06em;text-transform:uppercase;opacity:.85}
.spnl b{font:800 28px/1.1 -apple-system,"SF Pro Display",sans-serif;letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.spnl span{font-size:15px;opacity:.92}.spnl em{font-style:normal;font-size:13.5px;opacity:.85;margin-top:4px}
.spnr{position:relative;z-index:1;text-align:center;min-width:70px}.spnr b{display:block;font:800 44px/1 -apple-system,"SF Pro Rounded",sans-serif;font-variant-numeric:tabular-nums}.spnr small{opacity:.85;font-weight:600}
.spbar{position:absolute;left:22px;right:22px;bottom:12px;height:5px;border-radius:3px;background:rgba(255,255,255,.25);overflow:hidden}.spbar i{display:block;height:100%;background:#fff;border-radius:3px;transition:width 1s}
.sptool{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.spseg{display:inline-flex;background:var(--fill);border-radius:12px;padding:3px}.spseg button{border:0;background:none;padding:8px 16px;border-radius:10px;font:600 14px -apple-system,sans-serif;color:var(--ink2);cursor:pointer}.spseg button.on{background:var(--card);color:var(--ink);box-shadow:0 1px 5px rgba(0,0,0,.12)}
.spwk{display:flex;align-items:center;gap:6px;margin:0 auto}.spwk b{display:flex;flex-direction:column;align-items:center;font:800 16px -apple-system,sans-serif;min-width:118px}.spwk small{font-weight:600;font-size:12px;color:var(--ink2)}
.spib{width:36px;height:36px;border-radius:50%;border:0;background:var(--fill);color:var(--ink);font-size:20px;cursor:pointer}.sptd{border:0;background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent);font:700 14px -apple-system,sans-serif;padding:9px 14px;border-radius:12px;cursor:pointer}
.spdays{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.spdays button{position:relative;border:0;background:var(--card);border-radius:16px;padding:8px 0;display:flex;flex-direction:column;align-items:center;color:var(--ink);cursor:pointer;box-shadow:0 1px 3px rgba(0,0,0,.06);transition:transform .2s}
.spdays small{font-size:12px;color:var(--ink2);font-weight:600}.spdays b{font:800 20px -apple-system,"SF Pro Rounded",sans-serif}.spdays .td b{color:var(--red)}.spdays .on{background:var(--ink);color:var(--card)}.spdays .on small{color:inherit;opacity:.7}.spdays .on.td b{color:#ff6961}
.spdays i{position:absolute;top:7px;right:10px;width:7px;height:7px;border-radius:50%;background:#ff9f0a}
.spdh{margin:4px 2px 2px;font:800 21px -apple-system,"SF Pro Display",sans-serif;display:flex;flex-direction:column}.spdh small{font:600 13px -apple-system,sans-serif;color:var(--ink2)}
.sptl{display:flex;flex-direction:column;gap:8px}
.spl{--c:#0a84ff;display:flex;gap:12px;align-items:stretch;border:0;background:none;padding:0;text-align:left;color:var(--ink);cursor:pointer;animation:spIn .5s var(--dl,0s) both cubic-bezier(.2,.9,.3,1.1)}
.spt{width:52px;flex:none;display:flex;flex-direction:column;align-items:flex-end;padding-top:12px;font-variant-numeric:tabular-nums}.spt b{font:700 15px -apple-system,sans-serif}.spt small{color:var(--ink2);font-size:12.5px}.spt em{font-style:normal;color:var(--ink3);font-size:11px;font-weight:700;margin-top:2px}
.spc{flex:1;min-width:0;position:relative;display:flex;gap:12px;align-items:center;background:var(--card);border-radius:20px;padding:14px 16px 14px 18px;box-shadow:0 1px 3px rgba(0,0,0,.06),0 8px 24px -16px rgba(0,0,0,.25);overflow:hidden}
.spc::before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--c)}
.spc::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,color-mix(in srgb,var(--c) 10%,transparent),transparent 55%);pointer-events:none}
.spe{width:42px;height:42px;flex:none;border-radius:13px;display:grid;place-items:center;font-size:22px;background:color-mix(in srgb,var(--c) 18%,transparent);position:relative;z-index:1}
.spm{flex:1;min-width:0;position:relative;z-index:1}.spm b{display:block;font:700 17px -apple-system,sans-serif}.spm small{color:var(--ink2);font-size:13.5px}.spm p{margin:6px 0 0;font-size:13px;color:var(--ink2)}
.spbgs{display:flex;flex-wrap:wrap;gap:5px;margin-top:4px}.spbgs:empty{display:none}.spbg{font:700 11px -apple-system,sans-serif;padding:3px 8px;border-radius:7px;background:var(--fill);color:var(--ink2)}
.spbg.red{background:rgba(255,59,48,.14);color:#e0352b}.spbg.org{background:rgba(255,159,10,.16);color:#c46a00}.spbg.blu{background:rgba(10,132,255,.14);color:#0a6fd6}.spbg.pur{background:rgba(191,90,242,.16);color:#9a3fd0}
.spl.cur .spc{box-shadow:0 0 0 2px var(--c),0 14px 30px -14px color-mix(in srgb,var(--c) 70%,transparent)}.spl.past{opacity:.5}.spl.x .spm b{text-decoration:line-through;color:var(--ink2)}.spl.x .spc::before{background:repeating-linear-gradient(45deg,#ff3b30 0 4px,transparent 4px 8px)}
.spring{--p:.5;position:relative;z-index:1;width:56px;height:56px;flex:none;border-radius:50%;display:grid;place-items:center;align-content:center;background:conic-gradient(var(--c) calc(var(--p)*360deg),var(--fill) 0)}
.spring::before{content:"";position:absolute;inset:5px;border-radius:50%;background:var(--card)}.spring b,.spring small{position:relative;line-height:1}.spring b{font:800 17px -apple-system,sans-serif}.spring small{font-size:9.5px;color:var(--ink2)}.spring i{display:none}
.spgap{margin-left:64px;display:flex;align-items:center;gap:8px;color:var(--ink3);font-size:12.5px;padding:2px 4px}.spgap::before{content:"";flex:none;width:2px;height:16px;border-radius:1px;background:var(--line)}
.spgap.free{padding:12px 16px;border-radius:18px;border:1.5px dashed var(--line);color:var(--ink2)}.spgap.free::before{display:none}.spgap.free b{color:var(--ink)}
.spempty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:48px 10px;background:var(--card);border-radius:24px;color:var(--ink2)}.spempty span{font-size:46px}.spempty b{color:var(--ink);font-size:17px}
/* Woche */
.spgrid{position:relative;display:grid;grid-template-columns:46px repeat(5,minmax(0,1fr));gap:6px;background:var(--card);border-radius:26px;padding:12px 12px 14px 6px;box-shadow:0 1px 3px rgba(0,0,0,.06),0 18px 40px -26px rgba(0,0,0,.35)}
.sptimes{position:relative;margin-top:46px;height:var(--H)}.sptimes span{position:absolute;right:4px;transform:translateY(-50%);font:600 11px -apple-system,sans-serif;color:var(--ink3);font-variant-numeric:tabular-nums}
.spcol header{height:46px;display:flex;flex-direction:column;align-items:center;justify-content:center}.spcol header small{font:700 11px -apple-system,sans-serif;color:var(--ink2);text-transform:uppercase}.spcol header b{font:800 19px -apple-system,"SF Pro Rounded",sans-serif;width:34px;height:34px;display:grid;place-items:center;border-radius:50%}
.spcol.td header b{background:var(--red);color:#fff}.spcolb{position:relative;height:var(--H);border-radius:14px}.spcol.td .spcolb{background:color-mix(in srgb,var(--accent) 5%,transparent)}
.sphl{position:absolute;left:0;right:0;border-top:1px solid var(--line)}
.spb{--c:#0a84ff;position:absolute;left:2px;right:2px;border:0;border-radius:12px;padding:6px 8px;text-align:left;color:#fff;cursor:pointer;overflow:hidden;display:flex;flex-direction:column;gap:1px;
  background:linear-gradient(160deg,color-mix(in srgb,var(--c) 88%,#fff),color-mix(in srgb,var(--c) 92%,#000));box-shadow:0 6px 14px -8px color-mix(in srgb,var(--c) 80%,transparent),inset 0 1px 0 rgba(255,255,255,.3);animation:spPop .45s var(--dl,0s) both cubic-bezier(.2,1.2,.3,1);transition:transform .2s}
.spb:hover{transform:scale(1.03);z-index:2}@keyframes spPop{from{opacity:0;transform:scale(.85)}to{opacity:1;transform:none}}
.spb .spe{position:absolute;right:4px;bottom:2px;width:auto;height:auto;background:none;font-size:20px;opacity:.35}
.spb b{font:800 13.5px -apple-system,sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;position:relative}.spb small{font-size:11.5px;opacity:.9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;position:relative}
.spb.x{background:repeating-linear-gradient(135deg,var(--fill) 0 6px,transparent 6px 12px),var(--card);color:var(--ink3);box-shadow:inset 0 0 0 1.5px var(--line)}.spb.x b{text-decoration:line-through}
.spb.irr{box-shadow:inset 0 0 0 2.5px #ff9f0a}.spb.ex{box-shadow:inset 0 0 0 2.5px #bf5af2}
.spdot{position:absolute;top:6px;right:6px;width:8px;height:8px;border-radius:50%;background:#ffd60a;box-shadow:0 0 0 2px rgba(0,0,0,.15)}
.spline{position:absolute;left:-4px;right:-2px;height:0;border-top:2px solid var(--red);z-index:3;pointer-events:none}.spline i{position:absolute;left:-4px;top:-6px;width:10px;height:10px;border-radius:50%;background:var(--red);box-shadow:0 0 0 4px color-mix(in srgb,var(--red) 25%,transparent);animation:spPulse 2s infinite}
@keyframes spPulse{50%{box-shadow:0 0 0 8px transparent}}
/* Detail-Blatt */
.spsheet{position:fixed;inset:0;z-index:200;background:rgba(0,0,0,0);display:flex;align-items:flex-end;justify-content:center;transition:background .28s}.spsheet.in{background:rgba(0,0,0,.35)}
.spsh{--c:#0a84ff;width:min(560px,100%);background:var(--card);border-radius:28px 28px 0 0;padding:20px 22px calc(26px + env(safe-area-inset-bottom));transform:translateY(100%);transition:transform .32s cubic-bezier(.2,.9,.3,1)}.spsheet.in .spsh{transform:none}
@media (min-width:700px){.spsheet{align-items:center}.spsh{border-radius:28px}}
.spshh{display:flex;align-items:center;gap:14px;margin-bottom:12px}.spshh>span{width:54px;height:54px;border-radius:16px;display:grid;place-items:center;font-size:28px;background:color-mix(in srgb,var(--c) 18%,transparent)}.spshh div{flex:1}.spshh b{display:block;font:800 22px -apple-system,sans-serif}.spshh small{color:var(--ink2)}
.spx{width:34px;height:34px;border-radius:50%;border:0;background:var(--fill);color:var(--ink2);font-size:15px;cursor:pointer}
.spsh dl{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;margin:6px 0 10px}.spsh dt{color:var(--ink2);font-size:14px}.spsh dd{margin:0;font-weight:600}.spsha{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
@media (max-width:600px){.spgrid{grid-template-columns:34px repeat(5,minmax(0,1fr));gap:3px;padding:8px 6px 10px 2px}.spb{padding:4px 5px;border-radius:9px}.spb b{font-size:11.5px}.spb small{font-size:10px}.spb .spe{display:none}.spnl b{font-size:23px}.spnr b{font-size:36px}}
.spdays[hidden]{display:none!important}
@media (max-width:600px){.sptool{flex-wrap:nowrap;gap:6px}.spseg button{padding:7px 10px;font-size:13px}.spwk{gap:3px}.spwk b{min-width:80px;font-size:14px}.spwk small{font-size:10.5px}.spib{width:30px;height:30px;font-size:17px}.sptd{padding:7px 9px;font-size:12.5px}}
/* Betatest */
.btbadge{display:inline-block;margin:6px 0 2px;padding:4px 12px;border-radius:99px;background:linear-gradient(90deg,#ff9f0a,#ff375f);color:#fff;font:800 12px -apple-system,sans-serif;letter-spacing:.16em}
.btsteps{display:flex;align-items:center;justify-content:center;gap:6px;margin:14px 0 10px;font:600 12.5px -apple-system,sans-serif;color:var(--mut,#8e8e93)}.btsteps span{padding:5px 10px;border-radius:99px;background:rgba(120,120,128,.12)}.btsteps span.on{background:#0a84ff;color:#fff}.btsteps i{width:14px;height:2px;background:rgba(120,120,128,.3);border-radius:2px}
.btcode{display:block;width:100%;max-width:300px;margin:6px auto 12px;padding:14px 16px;border-radius:16px;border:2px solid rgba(120,120,128,.25);background:var(--card,#fff);color:inherit;font:800 26px ui-monospace,Menlo,monospace;letter-spacing:.14em;text-align:center;text-transform:uppercase;box-sizing:border-box}.btcode:focus{outline:none;border-color:#0a84ff}
.btcode::placeholder{color:rgba(120,120,128,.35)}
