100 Commits
Author SHA1 Message Date
JonKazama-Hellion 86f5644cd5 docs(readme): auf v2.4.0 aktualisiert (Version + Features: Palette/Trash/Quick-Save/freies Layout/Theme-Builder/Hintergrund)
Code Quality / Validate Extension (push) Successful in 5s
Security / scan (push) Successful in 18s
2026-06-15 08:33:33 +02:00
JonKazama-Hellion 4d1ca1bc7e release: v2.4.0
Code Quality / Validate Extension (push) Successful in 6s
Security / scan (push) Successful in 20s
Release / Build & Release (push) Successful in 4s
2026-06-15 08:11:38 +02:00
JonKazama-Hellion 083e78e693 merge: v2.4.0 theme builder into development 2026-06-15 08:11:12 +02:00
JonKazama-Hellion 0001de7dd7 chore(release): Version-Bump 2.4.0 (6 Stellen) + CHANGELOG 2026-06-15 08:10:43 +02:00
JonKazama-Hellion c985a531ef fix(theme): bgLayer beim Custom-Wechsel ohne eigenes Bild leeren
Preset->Custom liess das alte Preset-Hintergrundbild im bgLayer haengen,
weil applyCustomTheme den bgLayer nie anfasste. Jetzt wird er geleert,
wenn keine gueltige bgUrl gesetzt ist, sodass --bg-primary (Solid) durchscheint.
2026-06-15 04:30:51 +02:00
JonKazama-Hellion 2af52fc46d feat(theme): Verdrahtung Custom-Theme (applySettings, selectThemeCard, Picker, Reset, Modal-Sync) 2026-06-15 04:00:59 +02:00
JonKazama-Hellion 1bd2cbb9ad feat(theme): applyCustomTheme/clearCustomTheme/syncCustomPickers + Hex-Validierung + WCAG-Kontrast 2026-06-15 03:31:25 +02:00
JonKazama-Hellion d305d37da5 feat(theme): Eigenes-Kachel + 6-Picker-Panel im Theme-Modal 2026-06-15 03:03:29 +02:00
JonKazama-Hellion 96d4eaa8a1 feat(theme): [data-theme=custom]-Block + Theme-Builder-Panel-Styling 2026-06-15 02:34:42 +02:00
JonKazama-Hellion 22e74d41bc feat(theme): i18n-Keys für Theme-Builder + Onboarding-Wortlaut entschaerft 2026-06-15 02:06:38 +02:00
JonKazama-Hellion d0feddbda0 feat(theme): customTheme-Default im State + Reset-Literal 2026-06-15 01:38:55 +02:00
JonKazama-Hellion 9beeec3182 feat(theme): eigenes Hintergrundbild um https-URLs und Quota-Schutz erweitern
- isValidBgUrl akzeptiert jetzt https:// zusätzlich zu data:/blob: (http bleibt
  ausgeschlossen wegen Mixed-Content)
- CSP img-src 'self' https: data: blob: in allen 3 Manifesten, damit remote
  Hintergründe deterministisch laden statt still am CSP-Default zu haengen
- Upload-Bilder werden vor dem Speichern per Canvas auf die Bildschirmkante
  (max 2560px) verkleinert und als WebP re-kodiert -> schont chrome.storage.local
- URL-Feld: Platzhalter lokalisierbar (data-i18n-placeholder) + Tracking-Hinweis,
  dass ein per URL geladenes Bild bei jedem Oeffnen vom fremden Server kommt
- i18n DE/EN: bg_url.desc + bg_invalid_url an https angepasst, 2 neue Keys
2026-06-14 21:34:34 +02:00
JonKazama-Hellion 42e3cf0dec ci(release): Release via Gitea-API (curl) statt go-basierter release-action
Code Quality / Validate Extension (push) Successful in 5s
Release / Build & Release (push) Successful in 6s
Security / scan (push) Successful in 42s
Die gitea.com/actions/release-action ist 'using: go' und scheitert auf dem Forge-Runner
mit exit 127 — act_runner v0.6.1 bekommt die go-Action weder im Job-Image noch im Runner
kompiliert ('go: executable file not found'). Der Schritt legt das Release jetzt per curl
gegen die Gitea-API an und laedt die Assets hoch, idempotent (vorhandenes Release/Assets
werden wiederverwendet bzw. ersetzt). Laeuft als normaler run-Step im Job-Image und ist
damit unabhaengig von go-Toolchain, Action-Cache und @main-Drift.
2026-06-14 21:05:36 +02:00
JonKazama-Hellion 8c509647da merge: v2.3.0 bookmark comfort features into development 2026-06-14 20:22:11 +02:00
JonKazama-Hellion 2877edee69 release: v2.3.0
Code Quality / Validate Extension (push) Successful in 5s
Security / scan (push) Successful in 19s
Release / Build & Release (push) Failing after 12s
2026-06-14 20:22:11 +02:00
JonKazama-Hellion d041c66dfb feat(layout): Board-Position per Lock-Button fixieren
Neuer Pin-Button (custom SVG, kein Emoji) im Board-Header sperrt die Position eines
Boards. Bei gesperrtem Board (.board.locked):
- der Drag-Handle wird per CSS ausgeblendet (Flos Wunsch: Handle weg statt nur inaktiv),
- ein zweiter Guard in drag.js onDown verweigert zusaetzlich jeden Drag.
Schuetzt vor versehentlichem Verschieben (ergaenzt den 3px-Bewegungs-Schwellwert). locked
wird wie blurred persistiert, im Export/Import durchgereicht und mit ins Trash-Board geklont.
i18n DE/EN ergaenzt.
2026-06-14 20:18:00 +02:00
JonKazama-Hellion 520a062049 fix(quick-save): mid-drag gedrainter Quick-Save wird nach Drag-Ende gerendert
Der Drain laesst renderBoards() aus, solange ein Board- oder Bookmark-Drag laeuft
(replaceChildren wuerde den Drag abreissen) — holte den Render danach aber nie nach,
sodass der gespeicherte Eintrag bis zu einem unabhaengigen Fremd-Render unsichtbar blieb.
Der ausgelassene Render wird jetzt gemerkt (_renderDeferredByDrag) und drag.js ruft am
Ende jedes Drags (onUp/onCancel/Bookmark-dragend) flushQuickSaveRenderIfDeferred nach.
Idempotent: ohne ausstehenden Render kein Extra-Render bei normalen Drags.
2026-06-14 19:55:18 +02:00
JonKazama-Hellion 327bcd3385 fix(quick-save): Drain idempotent (srcId-Dedup) + isSafeUrl-Gate
Zwei Befunde aus der Integrations-Review:
- Race: der Page-Drain und der Worker machen je ein read-modify-write auf
  'quicksave_pending' ohne kontextuebergreifende Atomizitaet. Ein Worker-Append im
  await-Fenster des Drains konnte einen bereits gedrainten Eintrag in der Queue belassen,
  den ein Folge-Drain erneut in die Inbox schrieb (Duplikat). Jede eingespielte Bookmark
  traegt jetzt die Pending-id als srcId; ein erneut auftauchender Eintrag wird uebersprungen
  statt doppelt eingefuegt. boards-Write bleibt vor der Queue-Bereinigung -> kein Verlust.
- Validierung: der Drain hat e.url ohne isSafeUrl gepusht, anders als jeder andere
  Bookmark-Schreibpfad. isSafeUrl (jetzt im DOM-freien quicksave-core, http/https/ftp)
  filtert unsichere/leere Protokolle vor dem Schreiben ins Board.
2026-06-14 19:53:38 +02:00
JonKazama-Hellion 530196ddf7 fix(trash): Import-Cap verdraengt keine lokalen Sole-Copies mehr
Beim Trash-Import sortierte combined.sort+slice(-N) rein nach deletedAt: brachte ein
Backup neuere Eintraege mit, fielen aeltere LOKALE Eintraege aus dem Cap — und die sind
die einzige Kopie der geloeschten Daten (Datenverlust). Jetzt haben lokale Eintraege
Vorrang (alle behalten, sind bereits auf TRASH_MAX_ENTRIES gekappt), Importe fuellen nur
den Rest mit den neuesten auf.
2026-06-14 19:52:16 +02:00
JonKazama-Hellion 17eac64683 fix(layout): geblurrtes Board wieder verschiebbar (Drag-Handle ueber Blur-Overlay)
Das .board-blur-overlay (position:absolute; inset:0; z-index:5) lag im geblurrten
Zustand ueber dem Drag-Handle und schluckte den pointerdown, sodass ein geblurrtes
Board nicht mehr per Handle verschoben werden konnte (stattdessen enthuellte der Klick
es). Der Handle bekommt jetzt position:relative + z-index:6 und liegt damit ueber dem
Overlay; Drag funktioniert, Klick auf den Rest des Boards enthuellt weiterhin.
2026-06-14 19:51:32 +02:00
JonKazama-Hellion 1d17f4d11f fix(layout): Board-Handle-Klick ohne Bewegung ueberschreibt board.pos nicht mehr
Ein reiner Klick/Tap auf den Drag-Handle (ohne echtes Verschieben) hat in onUp den
gegen die Viewport geclampten --board-x/y-Wert zurueckgelesen und als board.pos
persistiert. Bei einem off-screen geclampten Board (nach Fenster-Verkleinerung oder
Import von breiterem Screen) zerstoerte das die wahre Position. Jetzt zaehlt erst eine
Bewegung > 3px als Drag; ohne Bewegung bleibt board.pos unangetastet.
2026-06-14 19:51:15 +02:00
JonKazama-Hellion b3288b47eb docs: add 2.3.0 changelog entry 2026-06-14 15:22:37 +02:00
JonKazama-Hellion 84976f5a10 ci: assert background/action + activeTab/commands in Chrome and Firefox manifests 2026-06-14 15:21:46 +02:00
JonKazama-Hellion 5b18bed9b5 chore: bump version to 2.3.0 across all bump targets 2026-06-14 15:20:07 +02:00
JonKazama-Hellion 70f3f705b4 fix(layout): Phase-5-Review — off-screen-Clamp, Drag-Cleanup, Blur-Position, Import-pos
- Render + neuer debounced Resize-Handler clampen --board-x/y gegen den
  aktuellen Viewport: ein auf breiterem Fenster platziertes Board rendert
  nie mehr off-screen (und damit per Drag unerreichbar). board.pos bleibt
  unveraendert, bei spaeterer Verbreiterung wird die Originalposition erreicht.
- drag.js: cleanup() + pointercancel-Listener. Die Klasse .board.dragging
  klebte bei Touch-Interrupt/Browser-Geste sonst dauerhaft und legte den
  app.js-Sync-Guard (Quick-Save-Render) still.
- main.css: '.board.blurred { position: relative }' entfernt — lag im
  utilities-Layer und schlug das absolute Free-Layout (geblurrtes Board fiel
  aus seiner Position + war nicht mehr drag-bar).
- data.js: board.pos wird beim JSON-Import durchgereicht (safePos-Validierung
  via Number.isFinite), sonst Verlust des frei gesetzten Layouts beim Restore.
2026-06-14 15:16:51 +02:00
JonKazama-Hellion 1d9e9dab81 Freies Layout: Mobil-Reset (<=768/480px) auf gestapeltes Layout, ungeschichtet 2026-06-14 14:59:10 +02:00
JonKazama-Hellion 8401535900 Freies Layout: Board-Drag als Free-Move neu (widgets.js-Vorbild), .board.dragging auf z-index umgewidmet, Reorder-CSS (placeholder/ghost) raus 2026-06-14 14:58:08 +02:00
JonKazama-Hellion 390a9b2f94 Freies Layout: board.pos-Migration aus Auto-Raster, Position als --board-x/y beim Render 2026-06-14 14:55:05 +02:00
JonKazama-Hellion dcc015abd2 Freies Layout: .board absolut via --board-x/--board-y (components-Layer, kein Inline-Style) 2026-06-14 14:53:09 +02:00
JonKazama-Hellion 456be8ba26 Freies Layout: .boards-wrapper auf absolute Kinder vorbereiten (layout-Layer) 2026-06-14 14:52:44 +02:00
JonKazama-Hellion 767c7c80aa fix(quick-save): Drain-Trailing-Re-Run gegen verworfene onChanged waehrend laufendem Drain (Latenz, kein Verlust) 2026-06-14 14:29:47 +02:00
JonKazama-Hellion 43403bc755 fix(quick-save): Pending-Queue-Redesign (Blocker 2b) — Worker schreibt eigenen 'quicksave_pending'-Key statt boards, Seite drained in die Inbox; getrennte Schreib-Domaenen, kein boards-Clobber 2026-06-14 14:27:31 +02:00
JonKazama-Hellion 4897781848 fix(quick-save): Opera-Worker — interne-URL-Filter, kurzer Fehler-Badge, Re-Entry-Schutz gegen Lost-Update 2026-06-14 14:17:46 +02:00
JonKazama-Hellion 5feadcc90c fix(quick-save): Firefox-importScripts-Guard (Event-Page), Sync-Guard auf reale Overlay/Drag-Klassen, Worker-Serialisierung + interne-URL-Filter + kurzer Fehler-Badge 2026-06-14 14:14:31 +02:00
JonKazama-Hellion a37f34eeac fix(manifest): Quick-Save auf Alt+Shift+S (Strg+Shift+S Brave-Konflikt, Strg+Alt verboten); Firefox laedt quicksave-core via scripts-Array 2026-06-14 10:47:17 +02:00
JonKazama-Hellion f473697fb2 fix(backup): Papierkorb (trash) auch im Backup-Reminder-Export, konsistent zum Settings-Export 2026-06-14 10:30:08 +02:00
JonKazama-Hellion 9383726198 feat(quick-save): Live-Sync via chrome.storage.onChanged in app.js (boards neu laden + renderBoards) 2026-06-14 10:28:29 +02:00
JonKazama-Hellion 7d390792ea feat(quick-save): Opera-Worker additiv um onCommand + importScripts ergaenzt, Redirect unberuehrt (CRLF) 2026-06-14 10:26:29 +02:00
JonKazama-Hellion 17506011c1 feat(quick-save): background.js fuer Chrome-Worker + Firefox-Event-Page, read-modify-write in Inbox, Badge-Bestaetigung 2026-06-14 10:24:06 +02:00
JonKazama-Hellion c8ff4dd9d2 manifest(opera): quick-save command additiv, tabs/action/Redirect-Worker unveraendert 2026-06-14 10:22:26 +02:00
JonKazama-Hellion 79459beb98 manifest(firefox): quick-save command, activeTab, Event-Page background.scripts, action-Badge 2026-06-14 10:22:15 +02:00
JonKazama-Hellion 9a682d49a9 manifest(chrome): quick-save command (Strg+Shift+S), activeTab, service_worker, action-Badge 2026-06-14 10:22:00 +02:00
JonKazama-Hellion a9928706ad i18n: Quick-Save command-description + Badge/Confirm-Keys in _locales DE/EN 2026-06-14 10:20:19 +02:00
JonKazama-Hellion 83df926979 fix(trash): Daten-Review-Befunde — Import-Cap nach deletedAt sortiert (Verlust-Schutz), Restore-Doppelklick-Guard, Delete-Rollback bei Save-Fehler, NaN/Null-Haertung 2026-06-14 10:18:10 +02:00
JonKazama-Hellion 9800e6c949 fix(trash): Papierkorb-Eintrag als vertikale Karte, kompaktere Aktions-Buttons (UX im 380px-Panel) 2026-06-14 10:11:43 +02:00
JonKazama-Hellion ba5f5c4978 v2.3 Papierkorb: Export/Import um trash erweitern (defensiv validiert) 2026-06-14 10:02:31 +02:00
JonKazama-Hellion 22203d25a7 v2.3 Papierkorb: renderTrash, Wiederherstellen, endgueltig loeschen, leeren 2026-06-14 09:59:44 +02:00
JonKazama-Hellion da5d8faafa v2.3 Papierkorb: CSS fuer die Papierkorb-Liste (components-Layer) 2026-06-14 09:55:01 +02:00
JonKazama-Hellion 127aba12eb v2.3 Papierkorb: Settings-Section zwischen Daten und Danger Zone 2026-06-14 09:55:01 +02:00
JonKazama-Hellion 4031b429ad v2.3 Papierkorb: i18n-Keys DE und EN 2026-06-14 09:51:57 +02:00
JonKazama-Hellion 62c1ecab8d v2.3 Papierkorb: Inbox-Board ist nicht loeschbar (kein Delete-Button) 2026-06-14 09:48:41 +02:00
JonKazama-Hellion 061c3708bc v2.3 Papierkorb: Board-Loeschen in den Papierkorb umleiten (Confirm bleibt) 2026-06-14 09:48:06 +02:00
JonKazama-Hellion 9abfefc0e0 v2.3 Papierkorb: Bookmark-Loeschen in den Papierkorb umleiten 2026-06-14 09:47:40 +02:00
JonKazama-Hellion 36d917b420 v2.3 Papierkorb: pushToTrash() mit Klon und harter Obergrenze 2026-06-14 09:44:43 +02:00
JonKazama-Hellion fcaea64604 fix(palette): Review-Befunde — Close-Crash-Guard, Self-Block-Race, ARIA-Combobox, URL-Protokoll-Guard 2026-06-14 09:42:00 +02:00
JonKazama-Hellion 6eaa3457d0 v2.3 Papierkorb: Trash-Konstanten und Auto-Cleanup beim Laden 2026-06-14 09:33:47 +02:00
JonKazama-Hellion 091195cdef v2.3: persistenter Header-Trigger fuer die Strg+K-Palette (Entdeckbarkeit, BS-08) 2026-06-14 09:26:22 +02:00
JonKazama-Hellion b5b0ac3471 v2.3: Onboarding-Slide fuer die Strg+K-Palette (Entdeckbarkeit, BS-08) 2026-06-14 09:25:05 +02:00
JonKazama-Hellion 7b16db96b9 style: Command-Palette-Overlay in @layer components 2026-06-14 09:20:51 +02:00
JonKazama-Hellion 3872f4cf12 feat: initPalette() im App-Init nach initSearch() verdrahten 2026-06-14 09:20:04 +02:00
JonKazama-Hellion e7a064783f build: palette.js zwischen search.js und widgets.js laden 2026-06-14 09:19:43 +02:00
JonKazama-Hellion 42860bb95d feat: Command-Palette-Modul (Strg+K, read-only Bookmark-Suche) 2026-06-14 09:15:21 +02:00
JonKazama-Hellion 6a27d9b307 i18n: Keys fuer Command-Palette (DE+EN) 2026-06-14 09:12:49 +02:00
JonKazama-Hellion c96922d1bb v2.3: page-seitiger ensureInboxBoard-Wrapper auf quicksave-core 2026-06-14 09:03:31 +02:00
JonKazama-Hellion 2daccf4ecc v2.3: trash als eigener Store-Key + saveTrash, in init geladen 2026-06-14 08:35:27 +02:00
JonKazama-Hellion ecb44facb5 v2.3: uid-Single-Source in quicksave-core, state.js delegiert 2026-06-14 08:03:18 +02:00
JonKazama-Hellion e1fb580525 v2.3: DOM-freies quicksave-core mit uid/ensureInbox/normalizeBookmark 2026-06-14 07:31:15 +02:00
JonKazama-Hellion a946e66c6c ci(gitea): Release- und Quality-Workflow nach .gitea/ portieren, tote .github/-Workflows entfernen
Code Quality / Validate Extension (push) Successful in 5s
Security / scan (push) Successful in 18s
Release / Build & Release (push) Successful in 14s
2026-06-13 23:51:23 +02:00
JonKazama-Hellion 601350c5c6 Merge feature/v2.2.0: v2.2.0 Modernisierung
Security / scan (push) Successful in 20s
CSS-Glow-up und Accessibility-Pass in einem Release:
- @layer-Kaskaden-Schichtung (6 Layer)
- color-mix-Theme-Tokens (pro Theme klassifiziert, verlustfrei)
- View Transitions fuer Theme-Wechsel und zentrale Dialoge (mit Fallback)
- clamp() Fluid Typography, color-scheme: dark
- Accessibility-Pass: ARIA-Rollen, Tastatur-Navigation, Fokus-Management, prefers-reduced-motion
- Fix: stiller --border-accent-Farb-Drift in Nebula
2026-06-13 21:52:22 +02:00
JonKazama-Hellion 47393012f2 Add CHANGELOG entry for v2.2.0 (color-mix, @layer, View Transitions, clamp, color-scheme, a11y) 2026-06-13 21:18:39 +02:00
JonKazama-Hellion cbd8b5e6fb Bump export version string to 2.2.0 (app.js backup export, data.js JSON export) 2026-06-13 21:17:58 +02:00
JonKazama-Hellion 2b16b19246 Bump about-version in newtab.html to 2.2.0 (CI version-consistency gate) 2026-06-13 21:17:40 +02:00
JonKazama-Hellion d9d40c350d Bump manifest version to 2.2.0 (Chrome, Firefox, Opera) 2026-06-13 21:17:25 +02:00
JonKazama-Hellion 55e371f506 fix(a11y): Dialog-Vorrang in Fokusfalle, eindeutige Dialog-IDs, Bookmark nur Enter
- settings.js: _makeTrap bricht ab, wenn ein .dialog-overlay offen ist, damit
  der Dialog-keydown-Handler Escape/Tab allein behandelt (kein Doppelschluss,
  Fokusfalle bleibt dicht)
- dialog.js: aria-labelledby/-describedby zeigen auf instanz-eindeutige IDs
  (Date.now + Modul-Zaehler) statt feste dialogTitle/dialogBody, damit kurz
  gestapelte Dialoge dem Screenreader nicht den falschen Titel liefern
- boards.js: Bookmark-keydown reagiert bei role=link nur noch auf Enter, Space
  entfernt (Space ist Button-Semantik)
2026-06-13 21:11:49 +02:00
JonKazama-Hellion eda5fba8f3 a11y(i18n): data-i18n-aria-label-Hook plus DE/EN-Keys fuer die 11 Theme-Cards 2026-06-13 21:02:59 +02:00
JonKazama-Hellion f2e078b593 a11y(focus): getoenter :focus-visible-Ring im utilities-Layer schlaegt die outline:none-Regeln 2026-06-13 21:02:15 +02:00
JonKazama-Hellion 80af8df8b0 a11y(bookmarks): li als role=link mit tabindex und Enter-Delegation, Drag/Delegation unberuehrt 2026-06-13 21:01:47 +02:00
JonKazama-Hellion 4e527b19d5 a11y(toolbar): Widget-Toolbar als role=toolbar mit aria-label 2026-06-13 21:01:14 +02:00
JonKazama-Hellion 3e93efb785 a11y(toggles): native Checkboxen als role=switch mit synchron gepflegtem aria-checked 2026-06-13 21:00:59 +02:00
JonKazama-Hellion 02c36dba09 a11y(theme-picker): Cards als role=button mit tabindex, Enter/Space-Handler und gepflegtem aria-pressed 2026-06-13 21:00:21 +02:00
JonKazama-Hellion 085cca2812 a11y(dialog): ARIA-Rolle, Fokus-Falle und Fokus-Rueckgabe ergaenzt ohne Escape/Initial-Fokus zu doppeln 2026-06-13 20:59:39 +02:00
JonKazama-Hellion 0a93340792 a11y(modals): role=dialog + Fokus-Falle und -Rueckgabe fuer Settings und Theme-Picker 2026-06-13 20:58:42 +02:00
JonKazama-Hellion 87cd070beb refactor(view-transitions): zentralen withViewTransition-Helper in state.js, Duplikate entfernt 2026-06-13 20:42:07 +02:00
JonKazama-Hellion 6004203339 feat(boards): Inline-Modals (Add-Board/Add-Bookmark/Rename) mit View-Transition-Fade 2026-06-13 20:32:23 +02:00
JonKazama-Hellion 278eda7d69 feat(bm-import): Import-Modal mit View-Transition-Fade, Teardown in Closure 2026-06-13 20:32:07 +02:00
JonKazama-Hellion abddc59f49 feat(dialog): Custom-Dialoge mit View-Transition-Fade, Teardown in Closure 2026-06-13 20:31:33 +02:00
JonKazama-Hellion 24e9aa408b feat(settings): Settings-Panel und Theme-Picker mit View-Transition-Fade 2026-06-13 20:31:10 +02:00
JonKazama-Hellion 2bdee5f215 feat(themes): Theme-Wechsel mit View-Transition-Cross-Fade am Ausloeser 2026-06-13 20:30:56 +02:00
JonKazama-Hellion a6d14f9267 feat(css): prefers-reduced-motion-Block inkl. View-Transition-Pseudos 2026-06-13 20:30:26 +02:00
JonKazama-Hellion bb0c490cc7 feat(css): Haupt-Abstand --spacing fluid via clamp() 2026-06-13 20:20:58 +02:00
JonKazama-Hellion 2ab3965640 feat(css): Board-Titel font-size fluid via clamp() 2026-06-13 20:20:50 +02:00
JonKazama-Hellion 061669a7cc feat(css): Uhr font-size fluid via clamp() 2026-06-13 20:20:40 +02:00
JonKazama-Hellion 5a7d7feace feat(css): Logo font-size fluid via clamp() 2026-06-13 20:20:40 +02:00
JonKazama-Hellion 47eb475887 feat(css): color-scheme dark fuer native UI-Elemente 2026-06-13 20:19:52 +02:00
JonKazama-Hellion c6d2792332 refactor(css): derive --toggle-on-bg via color-mix in satisfactory, avorion, hellion-stealth 2026-06-13 19:39:36 +02:00
JonKazama-Hellion ab07c94141 refactor(css): inherit formula accent tokens from base, keep per-theme alpha as --*-pct 2026-06-13 19:38:55 +02:00
JonKazama-Hellion df8a187af2 refactor(css): derive base accent tokens via color-mix from --accent 2026-06-13 19:36:32 +02:00
JonKazama-Hellion ccbd27916c refactor(css): utilities-Layer wrappen (Board-Blur/Privacy, Helfer-Klassen) 2026-06-13 19:11:45 +02:00
JonKazama-Hellion 2b6b2c06c2 refactor(css): theme-overrides-Layer wrappen (37 theme-scoped Komponenten-Regeln nach components) 2026-06-13 19:10:45 +02:00
JonKazama-Hellion 0ed3a8fe64 refactor(css): components-Layer wrappen (Boards, Bookmarks, Panels, Modals, Widgets, Dialoge, Accordion) 2026-06-13 19:09:50 +02:00