/* LernCloud – Design nach Yuvomi (MIT, github.com/ulsklyc/yuvomi): warme Bühne, eine violette Stimme, große Rundungen. */
:root{--bg:#F5F3ED;--fg:#1D1B17;--card:#fff;--ac:#6C3AED;--on-ac:#fff;--acl:#F3EFFE;--mu:#6B675F;--bd:#E4E0D7;--well:#EDEAE3;--soft:#FAF9F6;
--ok:#1E7B35;--warn:#A85D00;--bad:#D70015;--time:#00668F;--work:#157F3D;--rec:#42587E;--r:16px;--r2:22px;
--sh:0 1px 2px #1d1b170a,0 4px 14px #1d1b1708;--font:-apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue","Segoe UI Variable Text","Segoe UI",Roboto,Arial,sans-serif}
@media(prefers-color-scheme:dark){:root{--bg:#171614;--fg:#F2EFE9;--card:#24221F;--ac:#A78BFA;--on-ac:#1b1330;--acl:#2f2846;--mu:#ADA79E;--bd:#3A3631;--well:#2E2B27;--soft:#1E1C1A;
--ok:#5BC47A;--warn:#E5A04A;--bad:#FF7A7A;--time:#5BB8E0;--work:#5BC47A;--rec:#9DB2D6;--sh:none}}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--fg);font:15px/1.5 var(--font);-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased}
a{color:var(--ac);text-decoration:none}a:hover{text-decoration:underline}
h1{font-size:1.65rem;line-height:1.2;margin:.1em 0 .5em;letter-spacing:-.02em;font-weight:700}
h2{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--mu);margin:28px 0 10px;font-weight:650}
h3{margin:0;font-size:.95rem;font-weight:650}.mu{color:var(--mu);font-size:.85rem}
svg.ic{width:1.15em;height:1.15em;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}

/* ---------- Rahmen: Seitenleiste (Desktop) / Schublade (Handy) ---------- */
.app{display:grid;grid-template-columns:252px minmax(0,1fr);min-height:100vh}
.side{position:sticky;top:0;height:100vh;padding:12px 0 12px 12px}
.side-in{height:100%;overflow:auto;background:var(--card);border:1px solid var(--bd);border-radius:var(--r2);padding:14px 10px;box-shadow:var(--sh);display:flex;flex-direction:column;scrollbar-width:thin}
.brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:1.08rem;color:var(--fg);padding:2px 6px 12px}.brand:hover{text-decoration:none}
.lg{width:30px;height:30px;border-radius:9px;background:linear-gradient(135deg,#8B5CF6,var(--ac));color:#fff;display:grid;place-items:center;font-size:.95rem;font-weight:800}
.nav{display:flex;flex-direction:column;gap:1px}.nav h4{margin:14px 8px 4px;font-size:.7rem;font-weight:650;color:var(--mu);letter-spacing:.05em;text-transform:uppercase}
.nav a{display:flex;align-items:center;gap:10px;padding:5px 8px;border-radius:11px;color:var(--fg);font-weight:500;font-size:.92rem;min-width:0}
.nav a:hover{background:var(--well);text-decoration:none}.nav a.on{background:var(--acl);color:var(--ac);font-weight:600}
.nav a.f{padding:4px 8px;font-size:.87rem}
.ib{width:28px;height:28px;border-radius:9px;display:grid;place-items:center;flex:none;color:var(--c,var(--mu));background:color-mix(in srgb,var(--c,var(--mu)) 13%,transparent)}
.dot{width:9px;height:9px;border-radius:3px;margin:0 9px 0 10px;flex:none;background:hsl(var(--h) 62% 52%)}
.nm{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.nav form{margin:0}.nav button{width:100%;display:flex;align-items:center;gap:10px;background:none;color:var(--mu);border:0;padding:5px 8px;font-weight:500;font-size:.92rem;text-align:left;border-radius:11px}
.nav button:hover{background:var(--well);filter:none}
.main{padding:22px 32px 70px;width:100%;min-width:0}
.top,.scrim,#nav{display:none}
@media(max-width:900px){
 .app{display:block}.top{display:flex;align-items:center;gap:12px;position:sticky;top:0;z-index:20;padding:10px 14px;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--bd)}
 .top label{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--card);border:1px solid var(--bd);cursor:pointer}
 .side{position:fixed;z-index:40;left:0;top:0;bottom:0;width:min(86vw,290px);transform:translateX(-105%);transition:transform .2s;padding:8px}
 #nav:checked~.side{transform:none}#nav:checked~.scrim{display:block;position:fixed;inset:0;z-index:30;background:#0006}
 .main{padding:16px 14px 70px}h1{font-size:1.45rem}}

/* ---------- Seitenkopf + Werkzeugleiste ---------- */
.ph{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px}.ph h1{margin:0}.ph .sub{color:var(--mu);font-size:.95rem;font-weight:500}
.pi{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;flex:none;color:var(--c,var(--ac));background:color-mix(in srgb,var(--c,var(--ac)) 14%,transparent)}
.pi svg.ic{width:21px;height:21px}
.sp{flex:1}.back{display:inline-flex;align-items:center;gap:4px;font-size:.85rem;margin-bottom:8px;color:var(--mu)}
.toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:16px}
.head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px}.head h1{margin:0}

/* ---------- Raster ---------- */
.dash{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px;align-items:start}
.c3{grid-column:span 3}.c4{grid-column:span 4}.c5{grid-column:span 5}.c6{grid-column:span 6}.c7{grid-column:span 7}.c8{grid-column:span 8}.c12{grid-column:1/-1}
@media(max-width:1350px){.c3{grid-column:span 6}.c4,.c5,.c7{grid-column:span 6}.c8{grid-column:span 12}}
@media(max-width:900px){.dash>*{grid-column:1/-1!important}}
.cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,380px);gap:20px;align-items:start}
.cols.wide{grid-template-columns:minmax(0,1fr) minmax(320px,420px)}
@media(max-width:1100px){.cols,.cols.wide{grid-template-columns:1fr}}
.stack>*+*{margin-top:16px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}

/* ---------- Karten, Zeilen, Chips ---------- */
.card{background:var(--card);border:1px solid var(--bd);border-radius:var(--r);box-shadow:var(--sh)}
.chd{display:flex;align-items:center;gap:8px;padding:13px 16px 9px}.chd h3{flex:1;display:flex;align-items:center;gap:8px}.chd a{font-size:.82rem;font-weight:500}
.chd .cnt{font-weight:600}
.empty{padding:22px 16px;text-align:center;color:var(--mu);font-size:.9rem}
.row{display:flex;gap:12px;align-items:center;padding:10px 16px;border-top:1px solid var(--bd)}.card>.row:first-child{border-top:0}
a.row{color:var(--fg)}a.row:hover{background:var(--soft);text-decoration:none}
.row>.g{flex:1;min-width:0}.row b{overflow-wrap:anywhere;font-weight:600}
.badge{flex:none;width:40px;height:40px;border-radius:11px;display:grid;place-items:center;font-size:.66rem;font-weight:700;background:var(--acl);color:var(--ac)}
.t{flex:none;width:52px;font-weight:600;font-variant-numeric:tabular-nums;font-size:.9rem}
.bar4{width:4px;align-self:stretch;border-radius:4px;flex:none;background:var(--c,var(--time))}
.pill,.chip{display:inline-flex;align-items:center;gap:4px;font-size:.72rem;font-weight:600;padding:1px 9px;border-radius:99px;background:var(--well);color:var(--mu);white-space:nowrap;line-height:1.6}
.pill{margin-left:6px;background:color-mix(in srgb,var(--bad) 14%,transparent);color:var(--bad)}
.chip.bad{background:color-mix(in srgb,var(--bad) 13%,transparent);color:var(--bad)}.chip.warn{background:color-mix(in srgb,var(--warn) 15%,transparent);color:var(--warn)}
.chip.ok{background:color-mix(in srgb,var(--ok) 14%,transparent);color:var(--ok)}
.chip.fc{background:color-mix(in srgb,hsl(var(--h) 62% 52%) 15%,transparent);color:hsl(var(--h) 55% 36%)}
@media(prefers-color-scheme:dark){.chip.fc{color:hsl(var(--h) 70% 74%)}}
.today{box-shadow:inset 3px 0 0 var(--ac)}
.msg{background:color-mix(in srgb,var(--ac) 11%,transparent);color:var(--fg);border:1px solid color-mix(in srgb,var(--ac) 30%,transparent);padding:10px 14px;border-radius:12px;margin:0 0 14px}

/* Kennzahlen + "Als Nächstes" */
.stat{padding:14px 16px;display:flex;flex-direction:column;gap:2px;min-height:96px;color:var(--fg)}.stat:hover{text-decoration:none}
.stat .k{font-size:.75rem;font-weight:650;letter-spacing:.05em;text-transform:uppercase;color:var(--mu);display:flex;align-items:center;gap:6px}
.stat .v{font-size:1.75rem;font-weight:700;letter-spacing:-.02em;line-height:1.15}.stat .s{font-size:.82rem;color:var(--mu)}
.stat.bad .v{color:var(--bad)}
.next{position:relative;overflow:hidden;background:linear-gradient(135deg,color-mix(in srgb,hsl(var(--h) 62% 52%) 16%,var(--card)),var(--card) 70%)}
.next .v{font-size:1.25rem}.next .live{color:var(--ok);font-weight:650}

/* Fach-Kacheln */
a.fach{display:flex;gap:12px;align-items:center;padding:12px 14px;color:var(--fg);transition:transform .12s,box-shadow .12s}
a.fach:hover{transform:translateY(-1px);text-decoration:none;box-shadow:0 6px 20px #1d1b1712}
.fi{width:44px;height:44px;border-radius:12px;flex:none;display:grid;place-items:center;font-size:.7rem;font-weight:800;letter-spacing:.02em;
 background:color-mix(in srgb,hsl(var(--h) 62% 52%) 16%,transparent);color:hsl(var(--h) 55% 36%)}
@media(prefers-color-scheme:dark){.fi{color:hsl(var(--h) 70% 74%)}}
a.fach b{display:block;font-size:.95rem;line-height:1.3;font-weight:600}.fach .g{min-width:0}
.abk{font-size:.72rem;font-weight:700;color:hsl(var(--h) 55% 40%);letter-spacing:.06em}

/* ---------- Formulare ---------- */
input,select,textarea,button,.btn{font:inherit;font-size:.92rem;padding:8px 13px;border-radius:11px;border:1px solid var(--bd);background:var(--card);color:var(--fg)}
input:focus,select:focus,textarea:focus{outline:2px solid color-mix(in srgb,var(--ac) 55%,transparent);outline-offset:1px}
button,.btn{background:var(--ac);color:var(--on-ac);border:1px solid transparent;cursor:pointer;font-weight:600;display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
button:hover,.btn:hover{filter:brightness(1.07);text-decoration:none}
button.g,.btn.g{background:var(--card);color:var(--fg);border:1px solid var(--bd);font-weight:500}button.g:hover,.btn.g:hover{background:var(--well);filter:none}
.btn.ico,button.ico{width:36px;height:36px;padding:0;justify-content:center}
button.d{background:transparent;color:var(--bad);padding:6px 10px;border:1px solid transparent}button.d:hover{border-color:color-mix(in srgb,var(--bad) 40%,transparent);filter:none}
button.sm,.btn.sm{padding:4px 10px;font-size:.8rem}
form.i{display:inline;margin:0}.bar{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.bar input{flex:1;min-width:160px}
.drop{display:flex;flex-direction:column;align-items:center;gap:4px;border:2px dashed var(--bd);border-radius:var(--r);padding:20px;text-align:center;color:var(--mu);cursor:pointer;transition:.15s;background:var(--soft)}
.drop:hover,.drop.on{border-color:var(--ac);color:var(--ac);background:var(--acl)}.drop.busy{pointer-events:none;opacity:.7}.drop.busy>*{display:none}.drop.busy::after{content:"Wird hochgeladen … bitte Seite offen lassen";font-weight:600;color:var(--ac)}.drop input{display:none}.drop svg.ic{width:22px;height:22px}
.login{max-width:360px;margin:16vh auto 0;padding:30px;text-align:center;border-radius:var(--r2)}.login .lg{margin:0 auto 10px;width:48px;height:48px;font-size:1.4rem;border-radius:14px}
.login input{width:100%;margin:14px 0 10px}.login button{width:100%;justify-content:center}
.seg{display:inline-flex;background:var(--well);border-radius:11px;padding:3px;gap:2px}.seg a{padding:4px 12px;border-radius:9px;color:var(--mu);font-weight:500;font-size:.88rem}
.seg a.on{background:var(--card);color:var(--fg);box-shadow:var(--sh)}.seg a:hover{text-decoration:none;color:var(--fg)}
details.add{margin-bottom:14px}details.add>summary{list-style:none;display:inline-flex}details.add>summary::-webkit-details-marker{display:none}
.field{display:grid;gap:4px}.field>span{font-size:.78rem;font-weight:600;color:var(--mu)}

/* ---------- Aufgaben (Kanban) ---------- */
.board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:start}
@media(max-width:900px){.board{grid-template-columns:1fr}}
.col{background:color-mix(in srgb,var(--fg) 4%,transparent);border-radius:var(--r);padding:10px;min-height:120px}.col.over{outline:2px dashed var(--ac)}
.col>h3{display:flex;align-items:center;gap:8px;padding:2px 4px 10px;font-size:.78rem;color:var(--mu);text-transform:uppercase;letter-spacing:.06em}
.cnt{background:var(--well);border-radius:99px;padding:0 8px;font-size:.72rem;color:var(--mu)}
.task{background:var(--card);border:1px solid var(--bd);border-radius:12px;padding:11px 12px;margin-bottom:8px;box-shadow:var(--sh);cursor:grab;border-left:4px solid var(--p,var(--bd))}
.task.p2{--p:var(--bad)}.task.p1{--p:var(--warn)}.task.p0{--p:var(--mu)}.task.done{opacity:.75}.task.done .tt{text-decoration:line-through;color:var(--mu)}.task.drag{opacity:.4}
.tt{font-weight:600;overflow-wrap:anywhere}.task .meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.task .act{display:flex;gap:6px;margin-top:8px;align-items:center}
.task details summary{cursor:pointer;color:var(--mu);font-size:.8rem;list-style:none}.task details form{display:grid;gap:8px;margin-top:8px}

/* ---------- Stundenplan (Wochenraster wie WebUntis) ---------- */
.wk{background:var(--card);border:1px solid var(--bd);border-radius:var(--r);box-shadow:var(--sh);overflow:hidden}
.wk-h,.wk-b{display:grid;grid-template-columns:54px repeat(var(--n),minmax(0,1fr))}
.wk-h{border-bottom:1px solid var(--bd);background:var(--soft)}
.dh{padding:9px 10px;border-left:1px solid var(--bd);color:var(--fg);display:flex;gap:6px;align-items:baseline}.dh:hover{text-decoration:none;background:var(--well)}
.dh span{font-weight:600;font-size:.88rem}.dh b{font-weight:500;color:var(--mu);font-size:.82rem}
.dh.now{background:var(--acl)}.dh.now span,.dh.now b{color:var(--ac)}
.wk-b{height:calc(var(--hrs) * 60px)}
.ax{position:relative}.ax span{position:absolute;right:8px;transform:translateY(-50%);font-size:.7rem;color:var(--mu);font-variant-numeric:tabular-nums}.ax span:first-child{transform:none;top:3px!important}
.dc{position:relative;border-left:1px solid var(--bd);background-image:repeating-linear-gradient(to bottom,var(--bd) 0,var(--bd) 1px,transparent 1px,transparent 30px,color-mix(in srgb,var(--bd) 45%,transparent) 30px,color-mix(in srgb,var(--bd) 45%,transparent) 31px,transparent 31px,transparent 60px)}
.dc.now{background-color:color-mix(in srgb,var(--ac) 4%,transparent)}
.free{position:absolute;inset:0;display:grid;place-items:center;color:var(--mu);font-size:.8rem;opacity:.6}
.blk{position:absolute;margin:1px 3px;width:calc(100% - 6px);padding:6px 8px;border-radius:10px;overflow:hidden;display:flex;flex-direction:column;gap:1px;
 background:hsl(var(--h) 75% 94%);border:1px solid hsl(var(--h) 50% 84%);border-left:4px solid hsl(var(--h) 62% 48%);color:#1D1B17;font-size:.78rem;line-height:1.3;transition:box-shadow .12s}
.blk:hover{text-decoration:none;box-shadow:0 4px 14px #1d1b1720;z-index:2}
@media(prefers-color-scheme:dark){.blk{background:hsl(var(--h) 32% 20%);border-color:hsl(var(--h) 30% 28%);border-left-color:hsl(var(--h) 65% 60%);color:#F2EFE9}}
.blk .bt{font-size:.7rem;opacity:.75;font-variant-numeric:tabular-nums}.blk .ba{font-weight:700;font-size:.86rem}.blk .bn{font-weight:500}.blk .bs{opacity:.75}.blk .br{font-weight:650;font-size:.76rem}.blk.s{z-index:2;box-shadow:0 1px 4px #1d1b1726}
.blk em{font-style:normal;font-size:.65rem;font-weight:700;padding:0 6px;border-radius:99px;background:var(--bad);color:#fff;vertical-align:1px}
.blk.deadline{border-style:dashed;border-left-style:solid}.blk.deadline em{background:var(--warn)}.blk.chg em{background:var(--ac)}
.blk.exam{background:color-mix(in srgb,var(--bad) 12%,var(--card));border-color:color-mix(in srgb,var(--bad) 35%,transparent);border-left-color:var(--bad)}
.blk.s{flex-direction:row;align-items:center;gap:6px;padding:0 8px}.blk.s .bn,.blk.s .bs{display:none}.blk.m .bs{display:none}
.nowl{position:absolute;left:0;right:0;border-top:2px solid var(--bad);z-index:3;pointer-events:none}.nowl::before{content:"";position:absolute;left:-5px;top:-6px;width:10px;height:10px;border-radius:50%;background:var(--bad)}
.sw{display:none}
@media(max-width:700px){.lw{display:none}.sw{display:inline}.wk-h,.wk-b{grid-template-columns:36px repeat(var(--n),minmax(0,1fr))}
 .dh{flex-direction:column;gap:0;padding:6px 2px;align-items:center}.dh b{font-size:.72rem}.ax span{right:4px;font-size:.62rem}
 .blk{margin:1px 2px;width:calc(100% - 4px);padding:4px 4px;font-size:.66rem;border-radius:8px;border-left-width:3px}
 .blk .ba{font-size:.74rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.blk .ba em{display:none}.blk .br{font-size:.66rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .blk .bn,.blk .bs,.blk .bt{display:none}.blk.s{padding:0 4px}.blk.s .br{display:none}.free{display:none}}
/* Detailblatt (Stundenplan-Block antippen): Desktop als Karte, Handy von unten */
dialog.sheet{border:0;padding:0;border-radius:22px;width:min(440px,calc(100% - 24px));background:var(--card);color:var(--fg);box-shadow:0 20px 60px #0005}
dialog.sheet::backdrop{background:#0008;backdrop-filter:blur(2px)}
.sh-top{height:8px;background:hsl(var(--h,262) 62% 52%)}.sh-grip{display:none}
.sh-body{padding:18px 20px 20px;display:grid;gap:14px}.sh-body h2{all:unset;display:block;font-size:1.3rem;font-weight:700;letter-spacing:-.01em}
.sh-head{display:flex;gap:10px;align-items:flex-start}.sh-head .fi{width:46px;height:46px;font-size:.72rem}
.sh-list{display:grid;gap:8px}.sh-list div{display:flex;gap:10px;align-items:center;font-size:.95rem}.sh-list svg.ic{color:var(--mu)}
.sh-acts{display:grid;gap:8px}.sh-acts .btn{justify-content:center;padding:11px}
@media(max-width:700px){dialog.sheet{margin:auto 0 0;max-width:none;width:100%;border-radius:22px 22px 0 0;max-height:85vh}
 .sh-top{height:auto;background:none;display:flex;justify-content:center;padding:8px 0 0;border-top:6px solid hsl(var(--h,262) 62% 52%);border-radius:22px 22px 0 0}
 .sh-grip{display:block;width:40px;height:4px;border-radius:4px;background:var(--bd)}.sh-body{padding:12px 18px calc(18px + env(safe-area-inset-bottom))}}

/* ---------- Kalender ---------- */
.cal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));background:var(--card);border:1px solid var(--bd);border-radius:var(--r);overflow:hidden;box-shadow:var(--sh)}
.cal .wd{padding:8px;text-align:center;font-size:.72rem;font-weight:650;color:var(--mu);border-bottom:1px solid var(--bd);letter-spacing:.05em;background:var(--soft)}
.cal .day{min-height:118px;padding:6px;border-right:1px solid var(--bd);border-bottom:1px solid var(--bd);display:flex;flex-direction:column;gap:3px;color:var(--fg);min-width:0}
.cal .day:nth-child(7n){border-right:0}.cal .day.out{background:var(--soft);color:var(--mu)}
.cal .n{font-size:.82rem;font-weight:500;width:26px;height:26px;display:grid;place-items:center;border-radius:50%}.cal .n:hover{background:var(--well);text-decoration:none}
.cal .day.now .n{background:var(--ac);color:var(--on-ac)!important;font-weight:700}
.ev{--c:var(--time);display:block;background:color-mix(in srgb,var(--c) 13%,transparent);border-left:3px solid var(--c);border-radius:6px;padding:1px 6px;font-size:.73rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--fg)}
a.ev:hover{text-decoration:none;filter:brightness(.97)}
.ev.exam{--c:var(--bad)}.ev.deadline,.ev.termin{--c:var(--warn)}.ev.task{--c:var(--work)}.ev.vl{--c:var(--rec)}.ev.more{--c:var(--mu);background:none;border:0}
.agenda .dayh{padding:9px 16px;background:var(--soft);font-weight:650;font-size:.82rem;border-top:1px solid var(--bd)}.agenda .dayh:first-child{border-top:0}
.legend{display:flex;gap:14px;flex-wrap:wrap;margin-top:12px}.legend span{display:flex;gap:6px;align-items:center}.legend i{width:10px;height:10px;border-radius:3px;background:var(--c)}
@media(max-width:700px){.cal .day{min-height:62px;padding:3px;flex-direction:row;flex-wrap:wrap;align-content:flex-start}
 .cal .ev{font-size:0;padding:0;height:6px;width:6px;border-radius:50%;border:0;background:var(--c);display:inline-block;margin-right:2px}.cal .n{width:100%;border-radius:8px}.cal .day.now .n{width:26px}}

/* ---------- Lernzettel ---------- */
.notes{line-height:1.7;font-size:1rem;padding:10px 32px 26px}.nb{max-width:88ch;margin:0 auto}  /* Lesespalte mittig in der Karte; Tabellen/Formeln scrollen bei Bedarf */
.notes h1,.notes h2,.notes h3{font-family:Georgia,"Iowan Old Style","Palatino Linotype",serif;font-weight:500;color:var(--fg);text-transform:none;letter-spacing:0}
.notes h1{font-size:1.75rem;margin:.5em 0 .5em}.notes h2{font-size:1.35rem;margin:1.6em 0 .4em;padding-bottom:4px;border-bottom:1px solid var(--bd)}.notes h3{font-size:1.12rem;margin:1.3em 0 .3em}
.notes p{margin:.6em 0}.notes ul,.notes ol{padding-left:1.4em}.notes li{margin:.25em 0}.notes hr{border:0;border-top:1px solid var(--bd);margin:1.6em 0}
.notes code{background:var(--well);padding:1px 5px;border-radius:5px;font-size:.9em}.notes pre{background:var(--soft);border:1px solid var(--bd);border-radius:10px;padding:12px;overflow-x:auto}.notes pre code{background:none;padding:0}
.notes table{border-collapse:collapse;margin:14px 0;display:block;overflow-x:auto;width:max-content;max-width:100%}.notes th,.notes td{border:1px solid var(--bd);padding:8px 14px;text-align:left;vertical-align:top}
.notes th{color:var(--mu);font-weight:600;background:var(--soft)}.notes strong{font-weight:650}
.notes blockquote{margin:12px 0;padding:4px 14px;border-left:3px solid var(--ac);background:var(--acl);border-radius:0 8px 8px 0;color:var(--fg)}
@media(max-width:700px){.notes{padding:6px 16px 18px}}
.tex.d{display:block;text-align:center;margin:.7em 0;padding:14px 10px;background:var(--soft);border:1px solid var(--bd);border-radius:12px;overflow-x:auto;overflow-y:hidden}
.tex.d .katex-display{margin:0}.katex{font-size:1.08em}

/* ---------- Handy-Feinschliff ---------- */
.chd{flex-wrap:wrap}
@media(max-width:900px){
 .dash>.stat{grid-column:span 6!important}.dash>.stat.next,.dash>.stat.wide{grid-column:1/-1!important}
 .stat{min-height:0;padding:12px 14px}.stat .v{font-size:1.45rem}.stat .k{font-size:.68rem}.next .v{font-size:1.1rem}}
@media(max-width:700px){
 .dash{gap:12px}.qa{flex-wrap:wrap}.qa input[name=title]{flex:1 1 100%!important}.qa input[type=date]{flex:1}
 .grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}a.fach{padding:10px;gap:9px}a.fach .fi{width:34px;height:34px;font-size:.6rem;border-radius:10px}
 a.fach b{font-size:.84rem;overflow:hidden;hyphens:auto;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}a.fach .mu{display:none}
 .toolbar>.mu{display:none}.ph{gap:10px}.ph .pi{width:34px;height:34px}.row{padding:10px 14px}.t{width:46px;font-size:.85rem}
 .chd form.bar input{width:120px!important}}

/* Ausfall (aus Mails erkannt): grau, rot durchgestrichen */
.blk.cancel{background:repeating-linear-gradient(135deg,color-mix(in srgb,var(--fg) 5%,var(--card)) 0 7px,color-mix(in srgb,var(--fg) 10%,var(--card)) 7px 14px);
 border-color:var(--bd);border-left-color:var(--mu);color:var(--mu)}
.blk.cancel .ba,.blk.cancel .bn,.blk.cancel .bt{text-decoration:line-through;text-decoration-color:var(--bad);text-decoration-thickness:2px}
.blk.cancel em{background:var(--bad);display:inline-block;text-decoration:none}
.ev.cancel{--c:var(--mu);text-decoration:line-through;text-decoration-color:var(--bad);text-decoration-thickness:2px;opacity:.8}
.row.cancel{opacity:.75}.row.cancel b{text-decoration:line-through;text-decoration-color:var(--bad);text-decoration-thickness:2px}
.sh-cancel{background:color-mix(in srgb,var(--bad) 12%,transparent);color:var(--bad);border-radius:12px;padding:10px 12px;font-weight:600}
