/* ───────── Notenraum · Dunkelmodus (Liquid Glass, dunkel) ───────── */
html.dark{
 --tint:#0a84ff;--tint-strong:#0a84ff;--tint-soft:rgba(10,132,255,.22);
 --label:#f5f5f7;--label-2:rgba(235,235,245,.64);--label-3:rgba(235,235,245,.38);
 --hairline:rgba(255,255,255,.1);
 --glass:rgba(44,46,54,.52);--glass-strong:rgba(58,60,68,.72);--glass-edge:rgba(255,255,255,.11);
 --glass-shadow:inset 0 1px 0 rgba(255,255,255,.09),inset 0 -1px 0 rgba(255,255,255,.02),0 1px 2px rgba(0,0,0,.3),0 14px 34px rgba(0,0,0,.35);
 --ink:var(--label);--muted:var(--label-2);--border:var(--hairline);--paper:#1c1c1e;--bg:#0b0d12;
 background:#0b0d12;color:var(--label);color-scheme:dark;
}
html.dark body{color:var(--label)}
html.dark body::before{background:
 radial-gradient(42% 38% at 8% 6%,rgba(40,80,170,.55) 0%,transparent 70%),
 radial-gradient(38% 34% at 92% 4%,rgba(120,50,160,.45) 0%,transparent 70%),
 radial-gradient(40% 40% at 78% 62%,rgba(20,110,140,.4) 0%,transparent 70%),
 radial-gradient(46% 34% at 12% 62%,rgba(20,120,80,.3) 0%,transparent 70%),
 radial-gradient(36% 30% at 50% 40%,rgba(150,90,40,.18) 0%,transparent 70%),
 #0b0d12}

/* Texte, die im hellen Design fest dunkel waren */
html.dark h1,html.dark h2,html.dark h3,html.dark h4,html.dark strong,html.dark .brand,html.dark .breadcrumb strong,
html.dark .calendar-event,html.dark .soon-heading,html.dark .help-copy strong,html.dark .segmented button.active,
html.dark .abi-badge,html.dark .w-chip,html.dark .w-head-btn,html.dark .subject-title h3,html.dark .modal-title,
html.dark .stat-value,html.dark td,html.dark .file-row a,html.dark .grade-slot strong{color:var(--label)}
html.dark .card-bottom button,html.dark .text-button,html.dark .calendar-more{color:var(--tint)}
html.dark label.field,html.dark .swatches legend,html.dark .subject-icon-field legend,html.dark .custom-color legend,
html.dark .nav-item,html.dark .grade-slot span,html.dark .grade-slot small,html.dark .side-note,html.dark p{color:var(--label-2)}
html.dark .nav-item.active,html.dark .sidebar .nav-item.active{color:var(--tint)}
html.dark .grade-badge{background:rgba(255,255,255,.08);color:var(--label-2)}

/* Flächen */
html.dark input,html.dark textarea,html.dark select{background:rgba(255,255,255,.07);border-color:var(--hairline);color:var(--label)}
html.dark input::placeholder,html.dark textarea::placeholder{color:var(--label-3)}
html.dark .nav-item:hover{background:rgba(255,255,255,.06)}
html.dark .nav-item.active,html.dark .sidebar .nav-item.active{background:rgba(255,255,255,.12);box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 4px 14px rgba(0,0,0,.3)}
html.dark .segmented button.active{background:rgba(255,255,255,.16);box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 3px 10px rgba(0,0,0,.35)}
html.dark .topbar{background:rgba(16,18,24,.55)}
html.dark .avatar{background:linear-gradient(145deg,#3a3d46,#2a2c33);color:var(--label-2);border-color:rgba(255,255,255,.1)}
html.dark .profile{border-top-color:var(--hairline)}
html.dark .subject-symbol{background:color-mix(in srgb,var(--color) 22%,#1c1d22);box-shadow:inset 0 1px 0 rgba(255,255,255,.1)}
html.dark .grade-metrics .overall{background:color-mix(in srgb,var(--color,#738544) 16%,rgba(30,31,36,.6))}
html.dark .progress{background:rgba(255,255,255,.1)}
html.dark .new-card{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.16)}
html.dark .stat.featured{background:linear-gradient(160deg,rgba(10,132,255,.28),rgba(44,46,54,.5));border-color:var(--glass-edge)}
html.dark .onboarding{background:linear-gradient(160deg,rgba(10,132,255,.2),rgba(44,46,54,.5))}
html.dark .grade-slot{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.14)}
html.dark .grade-slot.has-entry{background:rgba(255,255,255,.09);border-color:var(--glass-edge)}
html.dark .grade-slot:hover{background:rgba(255,255,255,.12);border-color:var(--tint)}
html.dark .grade-slot.abi-result,html.dark .grade-slot.abi-result:hover{background:rgba(255,255,255,.06);border-color:var(--glass-edge)}
html.dark .grade-slot.abi-result.featured,html.dark .grade-slot.abi-result.featured:hover{background:linear-gradient(160deg,rgba(10,132,255,.3),rgba(44,46,54,.5))}
html.dark .abi-row{background:rgba(10,132,255,.1)}
html.dark .abi-missing{background:rgba(255,255,255,.03)}
html.dark .semester-head,html.dark .semester-row,html.dark td,html.dark th{border-color:var(--hairline)}
html.dark th{background:transparent;color:var(--label-3)}
html.dark .help-copy code{background:rgba(255,255,255,.08)}
html.dark .icon-choices button{background:rgba(255,255,255,.06);border-color:var(--hairline)}
html.dark .icon-choices button:hover{background:rgba(255,255,255,.12)}
html.dark .icon-choices button[aria-pressed=true]{background:var(--tint-soft);border-color:var(--tint)}
html.dark .swatch span{border-color:rgba(28,28,30,.9)}
html.dark .preview-result{background:var(--tint-soft);color:#64b5ff}
html.dark .upload-box{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.16)}
html.dark .offline-banner{background:linear-gradient(160deg,rgba(255,204,0,.2),rgba(44,46,54,.55));color:#ffd60a}
html.dark .error-banner{background:rgba(255,69,58,.14);border-color:rgba(255,69,58,.35);color:#ff9f97}
html.dark .form-error{color:#ff6961}
html.dark .holiday-toggle.is-on{color:#30d158;background:rgba(48,209,88,.16);border-color:rgba(48,209,88,.35)}

/* Kalender */
html.dark .calendar-grid{background:var(--glass)}
html.dark .calendar-day{background:rgba(255,255,255,.05)}
html.dark .calendar-day.muted{background:rgba(255,255,255,.02);color:var(--label-3)}
html.dark .calendar-day.today{background:rgba(255,255,255,.11)}
html.dark .calendar-weekday{background:transparent}
html.dark .calendar-event{background:color-mix(in srgb,var(--event-color) 26%,rgba(30,31,36,.7))!important;color:var(--label)}
html.dark .today .calendar-day-number{background:#ff453a}

/* Dialoge */
html.dark dialog{background:rgba(30,32,38,.84);color:var(--label);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 30px 80px rgba(0,0,0,.6)}
html.dark dialog::backdrop{background:rgba(0,0,0,.45)}
html.dark .modal-top .icon-button{background:rgba(255,255,255,.1);color:var(--label-2)}
html.dark dialog.scanner{background:rgba(24,26,31,.94)}
html.dark .version-row{background:rgba(255,255,255,.05)}
html.dark #toast{background:rgba(58,58,62,.85)}

/* Widgets */
html.dark .w-tiles button{background:color-mix(in srgb,var(--c) 24%,rgba(30,31,36,.6))}
html.dark .w-bar b{background:rgba(255,255,255,.1)}
html.dark .w-chip{background:var(--tint-soft);color:#64b5ff}
html.dark .w-head-btn{color:var(--tint)}
html.dark .w-head-btn.done{color:#fff}
html.dark .w-weekday,html.dark .w-cal-head button{color:#ff453a}
html.dark .mini-day.today{background:#ff453a}
html.dark .w-kv>div{background:rgba(255,255,255,.12)}
html.dark .w-countdown{background:linear-gradient(160deg,rgba(214,64,104,.92),rgba(150,32,78,.94))}
html.dark .w-abi{background:linear-gradient(160deg,rgba(20,110,230,.92),rgba(0,62,160,.94))}
html.dark .gallery-item{background:rgba(255,255,255,.05)}
html.dark .editing .w-remove{background:#636366}
html.dark .scan-thumb{background:#2c2c2e}

/* Navigation auf dem Handy */
@media(max-width:540px){
 html.dark.standalone .sidebar{background:rgba(36,38,44,.78);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 14px 40px rgba(0,0,0,.5)}
 html.dark:not(.standalone) .sidebar{background:linear-gradient(to bottom,#0b0d12 0%,#0b0d12 calc(env(safe-area-inset-top) + 8px),rgba(11,13,18,.94) calc(env(safe-area-inset-top) + 40px),rgba(11,13,18,.7) calc(100% - 22px),rgba(11,13,18,0) 100%)}
 html.dark:not(.standalone) .sidebar nav{background:rgba(40,42,50,.72);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 8px 24px rgba(0,0,0,.45)}
 html.dark:not(.standalone) .sidebar .nav-item.active,html.dark.standalone .sidebar .nav-item.active{box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 3px 10px rgba(0,0,0,.35)}
 html.dark.standalone body::after{background:rgba(11,13,18,.9)}
}
@media(prefers-reduced-transparency:reduce){
 html.dark .sidebar,html.dark .topbar,html.dark .subject-card,html.dark .stat,html.dark .empty,html.dark .semester-panel,html.dark .table-wrap,html.dark .widget,html.dark dialog,html.dark .segmented,html.dark .secondary,html.dark .icon-button{background:rgba(32,34,40,.97)}
}
html.dark .w-countdown .w-chip{background:rgba(255,255,255,.2);color:#fff}
html.dark .help-copy,html.dark .help-copy li,html.dark .help-copy ol{color:var(--label-2)}
html.dark .w-countdown .w-muted,html.dark .w-abi .w-caption{color:rgba(255,255,255,.8)}
