/* Stabilitäts- und Darstellungs-Korrekturen */
[hidden]{display:none!important}
.nav{text-decoration:none}
.section-head a{font-size:12px;color:var(--muted);text-decoration:none}

/* Das native Dialog-Element darf keine eigene Fläche oder Umrandung zeigen.
   Nur die .modal darin schwebt als Karte über dem Inhalt. */
#taskDialog,#accountDialog{
  border:0;
  padding:0;
  margin:auto;
  background:transparent;
  overflow:visible;
  max-width:calc(100vw - 32px);
  color:inherit;
}
#taskDialog::backdrop,#accountDialog::backdrop{
  background:rgba(24,34,48,.22);
  -webkit-backdrop-filter:blur(4px);
  backdrop-filter:blur(4px);
}
#taskDialog .modal,#accountDialog .modal{margin:0}
.timer-hint{display:block;margin-top:14px;color:var(--muted);font-size:11px}
.session-history{margin-top:16px}
.session-row{display:flex;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid var(--line);font-size:13px}
.session-row:last-child{border-bottom:0}.session-row>span{color:var(--accent)}
.session-row div{display:grid;gap:3px;min-width:0;flex:1}.session-row b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.session-row small{color:var(--muted);font-size:11px}.session-row strong{font-size:14px}
.focus-task-select{display:block;max-width:360px;margin:20px auto 0;text-align:left;color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.1em}.focus-task-select select{margin-top:7px;font-size:13px;letter-spacing:0;font-weight:500}
.task-focus-history{margin-top:0;margin-bottom:24px}
.modal label small{display:block;margin-top:5px;color:var(--muted);font-size:11px;font-weight:400;line-height:1.35}
.focus-target{color:var(--accent);font-weight:700}
.task-progress{display:grid;justify-items:end;gap:3px;min-width:66px}.task-progress small{font-size:10px;color:var(--muted)}

/* Statistik: Karten und Diagramm bewusst voneinander trennen. */
#stats .chart-card{margin-bottom:22px}
#stats .summary-grid{max-width:none;margin:0 0 24px;gap:18px}
#stats .summary-grid .stat{min-height:118px}
#stats .session-history{margin-top:0;margin-bottom:24px}
/* Kennzahlen: Zahl und Beschreibung nie mehr auf derselben Zeile zusammendrängen. */
.stat b{display:block;margin:13px 0 7px;line-height:1}
.stat small{display:block;line-height:1.35}
#home .summary-grid{gap:18px;margin-bottom:22px}
#stats .summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-bottom:28px}
#home .stat,#stats .stat{min-height:124px;padding:21px}
@media(min-width:720px){#home .summary-grid{gap:22px}#stats .summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}}
.stats-task-filter{display:block;padding:14px 16px;margin:0 0 18px;font-size:10px;font-weight:800;letter-spacing:.1em;color:var(--muted)}
.stats-task-filter select{margin-top:7px;letter-spacing:0;font-size:14px;font-weight:500}
.calendar-controls{display:flex;align-items:center;justify-content:space-between;padding:13px 16px;margin-bottom:16px}.calendar-controls button{width:34px;height:34px;border-radius:10px;background:#fff8;font-size:18px}.calendar-controls strong{text-transform:capitalize;font-size:15px}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.calendar-weekdays{margin:0 3px 7px;color:var(--muted);font-size:10px;text-align:center;font-weight:700}.calendar-day{min-height:83px;padding:6px;border:1px solid var(--line);border-radius:10px;background:#fff7;overflow:hidden}.calendar-day>b{font-size:12px;display:block;margin-bottom:4px}.calendar-day.today{outline:2px solid color-mix(in srgb,var(--accent),transparent 35%)}.calendar-task{display:block;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#5c4663;background:#f5e4ec;border-radius:4px;padding:2px 3px;margin:2px 0}.calendar-focus{display:block;font-size:9px;color:#4c7a6d;margin-top:4px}.calendar-day small{font-size:8px;color:var(--muted)}.calendar-legend{display:flex;gap:18px;margin-top:17px;font-size:12px;color:var(--muted)}.calendar-legend i{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:4px}.task-dot{background:#ef91b4}.focus-dot{background:#94d5be}@media(max-width:420px){.calendar-day{min-height:67px;padding:4px}.calendar-task{font-size:8px}.calendar-focus{font-size:8px}}

/* Kurzer, organischer „Plör“-Ladeeffekt statt eines statischen Logos. */
.splash{transition:opacity .18s ease,visibility .18s ease}
.splash.gone{visibility:hidden}
.splash-blob{position:relative;width:72px;height:62px;filter:blur(.2px);isolation:isolate}
.splash-blob i{position:absolute;display:block;width:37px;height:37px;border-radius:52% 48% 44% 56%;background:var(--accent);mix-blend-mode:multiply;animation:plop 1s ease-in-out infinite}
.splash-blob i:nth-child(1){left:4px;top:12px;background:#ef91b4}.splash-blob i:nth-child(2){right:4px;top:10px;background:#9dbaf5;animation-delay:-.34s}.splash-blob i:nth-child(3){left:20px;bottom:0;background:#94d5be;animation-delay:-.68s}
@keyframes plop{0%,100%{transform:scale(.8) translateY(3px);border-radius:52% 48% 44% 56%}50%{transform:scale(1.12) translateY(-5px);border-radius:42% 58% 58% 42%}}
@media(prefers-reduced-motion:reduce){.splash-blob i{animation:none}}
.auth-card small{min-height:18px}
.auth-card .primary:disabled{opacity:.65;cursor:wait}
/* Die höhere Selektorspezifität von .view.active würde sonst flex überschreiben. */
.view.focus-view.active{display:flex}
/* Wird vom Skript ausschließlich auf der Aufgaben-Seite eingeblendet. */
#fab{display:none}
body.dark .mode.active{background:#273345;color:var(--ink)}

/* Produktivitäts-Illustration in der Statistik-Analyse */
.analysis-image{display:block;width:100%;max-width:200px;margin:2px auto 16px;border-radius:16px}
.analysis-meta{text-align:center;font-size:12px;color:var(--muted);margin:0 0 12px}
.analysis-meta b{color:var(--ink)}
