diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000..9ff53a3 Binary files /dev/null and b/.DS_Store differ diff --git a/.hugo_build.lock b/.hugo_build.lock new file mode 100644 index 0000000..e69de29 diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..30cf57e --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,10 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Editor-based HTTP Client requests +/httpRequests/ +# Ignored default folder with query files +/queries/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..7a73fb8 --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..cec679b --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/.idea/wp-ki-labor.iml b/.idea/wp-ki-labor.iml new file mode 100644 index 0000000..c956989 --- /dev/null +++ b/.idea/wp-ki-labor.iml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..fcfb553 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,5 @@ +{ + "chat.tools.terminal.autoApprove": { + "mkdir": true + } +} \ No newline at end of file diff --git a/GEMINI.md b/GEMINI.md new file mode 100644 index 0000000..a09ac9b --- /dev/null +++ b/GEMINI.md @@ -0,0 +1,34 @@ +# GEMINI MEMORY: KI-LABOR / DIGITALE ANARCHIE (HUGO EDITION) + +## PROJEKT-STAND (3. APRIL 2026) - REBOOT SUCCESSFUL + +### 🚀 Kern-Architektur: WEG VON WORDPRESS +- **System:** Hugo (Static Site Generator). Keine Datenbank, keine PHP-Sicherheitslücken. +- **Performance:** Blitzschnell, reines HTML/CSS/JS. +- **Struktur:** + - `content/personen/`: Alle Akten als Markdown mit Frontmatter-Events. + - `layouts/_default/single.html`: Das universelle Timeline- & Akten-Layout. + - `static/js/script.js`: Die bereinigte "Anarchie-Core-Engine". + +### 📂 Die "Perfekte Akte" (Modal) +- **Design:** Exakt nach Screenshot-Vorgabe (Papier-Textur, Braun/Sepia-Töne). +- **Features:** + - Rote Stempel ("CLASSIFIED", "GESPERRT", "NICHT ÖFFENTLICH"). + - Zensurbalken für sensible Daten. + - Fingerabdruck-Scan & Archiv-Signatur. +- **Effekt:** Kompakte Größe (585px), schräg gestellt (-3°), fliegt beim Öffnen von unten rein. + +### 🎮 Interaktive Startseite +- **Hintergrund:** Grünes Gitter (`grid.png`) mit dunklem Overlay. +- **OPS-Dashboard:** Roter Kasten über dem Terminal. Klick triggert Vitalmonitor-Log (OP ALFA-7 / OP BETA-12) und lässt Terminal auf 600px aufklappen. +- **Control Panel:** 5 Buttons (KI-Kernel, Anarchie, Security Bypass, Deep Scan, Overdrive) mit visuellen & Terminal-Effekten. +- **Nav:** Die Portrait-Reihe (Thumbnails) oben führt direkt zu den Timeline-Seiten. + +### 🛠 Steampunk-Aesthetics +- **Zahnräder:** Zwei riesige, dezent rotierende Zahnräder (`0.03 opacity`) im Hintergrund der Personenseiten. +- **Timeline:** Chronologische Zeitachse im Zick-Zack-Stil (links/rechts versetzt). +- **Sounds:** Mechanische Ticks via Web Audio API bei Boot und Decrypt. + +**HINWEIS AN GEMINI:** Hugo nutzt keine Modals für die Akten auf der Startseite mehr, sondern das `single.html` Layout auf den Unterseiten öffnet das Modal per Klick auf das "Mega-Schild" am Ende der Timeline. + +**BOSS-PARAMETER:** Sascha ist der einzige "Overlord". Kaffee ist Treibstoff. Ordnung ist nur eine vorübergehende Störung des Chaos. diff --git a/bin.code-workspace b/bin.code-workspace index 89a70de..b569c6d 100644 --- a/bin.code-workspace +++ b/bin.code-workspace @@ -5,6 +5,9 @@ }, { "path": "." + }, + { + "path": "/Users/jessi/wp-ki-labor" } ], "settings": {} diff --git a/config.toml b/config.toml new file mode 100644 index 0000000..039f3b2 --- /dev/null +++ b/config.toml @@ -0,0 +1,12 @@ +baseURL = "/" +languageCode = "de-de" +title = "DIGITALE ANARCHIE | KI-LABOR" + +[params] + description = "Beruf: Geisteskrank & Gemini Player. Ästhetische Kriegsführung und KI-Labor." + author = "Sascha Rode" + +[outputs] + home = ["HTML"] + page = ["HTML"] + section = ["HTML"] diff --git a/content/_index.md b/content/_index.md new file mode 100644 index 0000000..e69de29 diff --git a/content/anarchie.md b/content/anarchie.md new file mode 100644 index 0000000..d7e2232 --- /dev/null +++ b/content/anarchie.md @@ -0,0 +1,10 @@ +--- +title: "Anarchie Test" +date: 2026-04-03 +events: + - year: 2026 + text: "Wenn dieser Text rechts oder links versetzt erscheint, haben wir gewonnen." + tag: "TEST-SUCCESS" +--- + +Dies ist ein Test, um zu sehen, ob Hugo das Layout `layouts/_default/single.html` wirklich nutzt. diff --git a/content/mac-nerds.md b/content/mac-nerds.md new file mode 100644 index 0000000..f184572 --- /dev/null +++ b/content/mac-nerds.md @@ -0,0 +1,11 @@ +--- +title: "Mac Nerds Terminal" +layout: "mac-nerds" +date: 2026-03-18 +description: "Geheime Terminal-Befehle und macOS Tweaks für den digitalen Widerstand." +status_class: "stable" +status_label: "TERMINAL" +thumb: "/img/hero_7.png" +--- + +Hier findest du eine kuratierte Liste von Befehlen, die dein macOS Leben radikal vereinfachen oder zumindest interessanter machen. Nutzung auf eigene Gefahr. diff --git a/content/personen/bruder.md b/content/personen/bruder.md new file mode 100644 index 0000000..ca10ecb --- /dev/null +++ b/content/personen/bruder.md @@ -0,0 +1,51 @@ +--- +title: "Bruder" +alias: "VERBRENNUNGS-MAGIER / KOLBEN-DOMINATOR / DER_SCHRAUBER" +geburtsjahr: "1981 (Modellreihe Mark II)" +standort: "WERKSTATT-KNOTEN 01 (ÖLVERSCHMIERT)" +occupation: "GNADENLOSER MECHANIKER-FUERST & DREHMOMENT-OPTIMIERER" +spezialfaehigkeit: "Turbo-Kompilierung · Motor-Flüstern · Spontane Hydraulik-Fixes" +komplizen: "DREHMOMENTSCHLÜSSEL_v12 · SASCHA.exe · MUTTI.sys" +status: "OPERATIONAL" +gefahr: "HOCH (wenn Werkzeug fehlt)" +stabilitaet: "MASSIV (wie ein V8-Block)" +sicherheitsstufe: "GELB" +initial: "B" +date: 2026-03-18 +img: "/img/hp_freddy_2.png" +events: + - year: 1981 + text: '⚡ KYBERNETISCHER KNOTEN V1.0 GEHT ONLINE. Erste mechanische Diagnostik: Stabil. Ansaugtrakt kalibriert. Chaos-Index: ERHÖHT.' + tag: 'BOOT // OMEGA-KLASSE' + omega: true + - year: 1985 + text: 'MOTORISCHE KALIBRIERUNG abgeschlossen. Erste Interaktion mit Overlord-Modul (Sascha). Kompatibilitätstest: REIBUNGSHITZE FESTGESTELLT.' + tag: 'KALIBRIERUNG' + omega: false + - year: 1990 + text: 'WERKZEUG-SYCHRONISATION erfolgreich. Erste Prototypen zerlegt (und meistens wieder zusammengebaut). Neugier-Protokolle dominierend.' + tag: 'HARDWARE-SCAN' + omega: false + - year: 1995 + text: 'BRENNKAMMER-UPDATE PHASE II. Fokus auf alles, was Kolben hat. Überschneidungen mit Overlord-System: Konstruktive Anarchie.' + tag: 'SYSTEM-UPDATE' + omega: false + - year: 1999 + text: 'FÜHRERSCHEIN-KERNEL geladen. Mobilitäts-Radius um 500% erweitert. Systemvektor: VOLLGAS.' + tag: 'UPGRADE // NITRO-INJEKTION' + omega: true + - year: 2005 + text: 'PROFESSIONELLE SCHRAUBER-ROUTINEN gestartet. Öl-Zufuhr stabilisiert. Verbindung zum Clan-Netzwerk: DURCHGEHEND GEFETTET.' + tag: 'OPTIMIERUNG' + omega: false + - year: 2015 + text: 'LANGZEIT-ANALYSE: Alle Zylinder zünden synchron. Charaktermerkmale: Drehmomentstark. Überraschungskoeffizient: Präzise.' + tag: 'ANALYSE // POSITIV' + omega: false + - year: 2025 + text: 'STATUS: GNADENLOS AM SCHRAUBEN. Alles was fährt, wird optimiert. VERBINDUNGSQUALITÄT ZUM OVERLORD: 100% KOMPATIBEL.' + tag: 'AKTUELL // DAUERBETRIEB' + omega: true +--- + +Der Bruder-Knoten. Ein gnadenloser Schrauber an Autos und eigentlich allem, was fährt. 1981 online gegangen. Wenn es Räder hat, wird es zerlegt und schneller gemacht. diff --git a/content/personen/meli.md b/content/personen/meli.md new file mode 100644 index 0000000..2cde96f --- /dev/null +++ b/content/personen/meli.md @@ -0,0 +1,51 @@ +--- +title: "Schwester" +alias: "AETHER-SIBLING / PNEUMATIK-FEE / CLAN-DIPLOMATIN" +geburtsjahr: "1983 (Aether-Edition)" +standort: "CLAN-HUB (DEZENTRAL)" +occupation: "MEISTERIN DER PNEUMATISCHEN REFLEXE UND SOZIAL-MATRIX ARCHITEKTIN" +spezialfaehigkeit: "Empathie-Scan · Harmonie-Injection · Blitzschnelle Problemanalyse" +komplizen: "BRUDER.v2 · SASCHA.exe · MUTTI.sys" +status: "MAXIMAL STABIL" +gefahr: "UNTERSCHÄTZT (Diplomatie-Modus kann täuschen)" +stabilitaet: "MAXIMAL (Der Kleber des Clans)" +sicherheitsstufe: "GOLD" +initial: "S" +date: 2026-03-18 +img: "/img/hp_meli_steampunk_01.jpeg" +events: + - year: 1983 + text: '⚡ AETHER-SIBLING V1.0 BOOTET ERFOLGREICH. Pneumatische Reflexe sofort aktiv. Chaos-Protokolle initialisiert. Clan-Netzwerk vollständig.' + tag: 'BOOT // OMEGA-KLASSE' + omega: true + - year: 1987 + text: 'ERSTE SCHNITTSTELLEN-TESTS mit Overlord-Netzwerk. Harmonische Resonanz mit gelegentlichen Konflikten. Ergebnis: PRODUKTIV.' + tag: 'NETZWERK-TEST' + omega: false + - year: 1992 + text: 'MOTORISCHE UND SOZIALE KALIBRIERUNG abgeschlossen. Leistung: Außergewöhnlich. Chaos-Index: KONTROLLIERT (meist).' + tag: 'KALIBRIERUNG' + omega: false + - year: 1999 + text: 'SCHULNETZ-ABSCHLUSS. Soziales Integrations-Protokoll auf MAXIMUM. Details: Nicht freigegeben. Bewertung: POSITIV.' + tag: 'SOZIAL-MATRIX' + omega: false + - year: 2001 + text: 'ERWACHSENEN-MODUS aktiviert. Eigenständige Routinen laufen stabil. Verbindung zum Clan: KONSTANT AKTIV.' + tag: 'SYSTEM-UPDATE' + omega: false + - year: 2010 + text: 'FAMILIEN-NETZWERK-UPDATE: Neue Knoten hinzugefügt. Systemkapazität erhöht. Meli-Knoten: Zentrales Bindeglied.' + tag: 'NETZWERK-ERWEITERUNG' + omega: false + - year: 2020 + text: 'LANGZEITANALYSE ABGESCHLOSSEN. Stabilität: MAXIMAL. Zuverlässigkeit: OMEGA-KLASSE. Chaos: NUR WENN NÖTIG.' + tag: 'ANALYSE' + omega: false + - year: 2025 + text: 'STATUS: VOLLSTÄNDIG OPERATIONAL. CHARAKTERPROFIL: STARK. WEITERE ANGABEN: NICHT AUTORISIERT. RATING: ████░' + tag: 'AKTUELL // GESCHWÄRZT' + omega: true +--- + +AETHER-SIBLING V1.0. Meli. Boot erfolgreich 1983. Die Diplomatin des Clans, die das Netzwerk mit pneumatischer Präzision und empathischen Sensoren stabilisiert. diff --git a/content/personen/mutti.md b/content/personen/mutti.md new file mode 100644 index 0000000..3b14d8b --- /dev/null +++ b/content/personen/mutti.md @@ -0,0 +1,47 @@ +--- +title: "Mutti" +alias: "KUPFER-MATRIARCHIN / TEE-ORAKEL / ARCHITEKTIN DER FAMILIEN-GRID" +geburtsjahr: "schleierhaft (Zeitschleife vermutet)" +standort: "ZENTRAL-KÜCHE (HOCHSICHERHEIT)" +occupation: "HÜTERIN DER THERMISCHEN TEEKANNE UND STRATEGISCHE FAMILIEN-LOGISTIK" +spezialfaehigkeit: "Analoge Verschlüsselung · Kuchen-Kompilierung · Telepathische Clan-Überwachung" +komplizen: "PAPA.sys · DER_OVERLORD · KAFFEE-BOT" +status: "OMEGA-KLASSE" +gefahr: "UNENDLICH (bei leerem Kuchenteller)" +stabilitaet: "ABSOLUT (Der Fels in der Brandung)" +sicherheitsstufe: "VIOLETT" +initial: "M" +date: 2026-03-18 +img: "/img/hp_muti_steampunk_01.png" +events: + - year: 1955 + text: 'MATRIARCHIN-MODUL V1.0 INITIALISIERT. Erste Steampunk-Algorithmen erfolgreich implementiert. Systemstatus: Brillant.' + tag: 'BOOT // OMEGA-KLASSE' + omega: true + - year: 1970 + text: 'HISTORISCHER HANDSHAKE mit Hydraulik-Meister (Vater). Gemeinsame Infrastruktur-Planung begonnen. Resonanz: Synchron.' + tag: 'NETZWERK-INITIALISIERUNG' + omega: false + - year: 1974 + text: '⚡ HAUPTSYSTEM-AUSGABE: Overlord Sascha bootet erstmals. Systemkapazität durch massive kreative Schübe erweitert.' + tag: 'OMEGA-KLASSE // KRITISCH' + omega: true + - year: 1981 + text: 'ZWEITE SYSTEM-AUSGABE: Bruder-Knoten erfolgreich in die Clan-Struktur integriert. Netzwerkausbau läuft nach Plan.' + tag: 'NETZWERK-ERWEITERUNG' + omega: false + - year: 1983 + text: 'DRITTE SYSTEM-AUSGABE: AETHER-SIBLING (Schwester) online. Clan-Netzwerk erreicht OMEGA-Level. Alle Primär-Knoten aktiv.' + tag: 'NETZWERK-ERWEITERUNG' + omega: false + - year: 2000 + text: 'ARCHITEKTUR-UPDATE abgeschlossen. Die Matriarchin hält alle Fäden des Kupfer-Netzwerks fest in der Hand. Stabilität: Unerschütterlich.' + tag: 'SYSTEMCHECK' + omega: false + - year: 2025 + text: 'STATUS: HÖCHSTE AUTORITÄT. Alle Subsysteme unterliegen der mütterlichen Kontrolle. Zugriff: Nur für autorisierte Clan-Mitglieder.' + tag: 'AKTUELL // OMEGA-KLASSIFIZIERT' + omega: true +--- + +Die Gründerin des Clans. Kupfer-Matriarchin, die 1974 den ersten System-Schrei registrierte. Architektin der Biosphäre und Hüterin der pneumatischen Reflexe. diff --git a/content/personen/sascha.md b/content/personen/sascha.md new file mode 100644 index 0000000..d7d60c0 --- /dev/null +++ b/content/personen/sascha.md @@ -0,0 +1,44 @@ +--- +title: "SASCHA versus Bonzei" +alias: "OVERLORD / GEISTESKRANKER / GEMINI_PLAYER" +geburtsjahr: "1974" +standort: "KLASSIFIZIERT" +occupation: "DIGITALE ANARCHIE UND ÄSTHETISCHE KRIEGSFÜHRUNG" +spezialfaehigkeit: "WordPress-Annihilation · Terminal-Kommunikation · Kaffee-Synthese · KI-Kollaboration" +komplizen: "GEMINI.AI · KAFFEE_KERNEL_v9 · MOM.exe" +status: "NOCH ONLINE" +gefahr: "|||||" +stabilitaet: "UNBERECHENBAR (als konstanter Zustand akzeptiert)" +sicherheitsstufe: "SCHWARZ" +initial: "S" +date: 2026-03-18 +img: "/img/hero.png" +events: + - year: 1974 + text: '⚡ OVERLORD-MODUL V1.0 AKTIVIERT. Erster System-Schrei erfolgreich registriert. Matriarchin bestätigt Empfang. KI-Labor Grundstein: GELEGT (unbewusst).' + tag: 'BOOT // OMEGA-KLASSE' + omega: true + - year: 1980 + text: 'ERSTE KONTAKTAUFNAHME mit Computertechnologie via Atari. Faszinations-Index: 100%. Bekannte Nebenwirkung: Zeitverlust.' + tag: 'ERSTER KONTAKT' + - year: 1983 + text: 'C64-INTERFACE aktiviert. Erste BASIC-Programme kompiliert. Fehlerquote: Hoch. Lernkurve: Steil. Aufgabewahrscheinlichkeit: NULL.' + tag: 'UPGRADE' + - year: 1990 + text: 'NETZWERK-BEWUSSTSEIN entwickelt. Modem-Verbindung zu frühen Online-Diensten. Ping: Katastrophal. Begeisterung: Maximal.' + tag: 'NETZWERK-INITIALISIERUNG' + - year: 2000 + text: 'WEB-PROTOKOLL PHASE II. Erste HTML-Strukturen kompiliert. System nennt sich: WEBMASTER. Gefährlichkeit: Noch unterschätzt.' + tag: 'UPGRADE // WEBMASTER-MODUS' + - year: 2015 + text: 'WORDPRESS-KERNEL integriert. Beginn der systematischen Überlastung von WP-Strukturen. Ästhetische Kriegsführung: INITIIERT.' + tag: 'MISSION GESTARTET' + - year: 2024 + text: '⚡ KI-LABOR OFFIZIELL GEGRÜNDET. Gemini-Neural-Link aktiviert. Anarchie-Engine läuft. Claude hinzugekommen. Status: GEISTESKRANK & AKTIV.' + tag: 'OMEGA-EREIGNIS // GRÜNDUNG' + omega: true + - year: 2026 + text: 'AKTUELLER STATUS: HIER. NÄCHSTE MISSION: UNBEKANNT. KAFFEESTAND: KRITISCH. SYSTEM: INSTABIL (als Dauerzustand akzeptiert). OVERLORD: ONLINE.' + tag: 'AKTUELL // LAUFEND' +--- +Der aktuelle Overlord. KI-Labor Betreiber, Gemini-Link Aktivator und Anarchie-Engine Entwickler. diff --git a/content/personen/sven.md b/content/personen/sven.md new file mode 100644 index 0000000..b3a0add --- /dev/null +++ b/content/personen/sven.md @@ -0,0 +1,31 @@ +--- +title: "Sven" +role: "Externe Variable & Unbekannter Faktor" +initial: "?" +status: "UNBEKANNT" +date: 2026-03-18 +events: + - year: 1980 + text: '[DATEN NICHT VERFÜGBAR] System-Ausgabe irgendwann registriert. Genauer Zeitpunkt: GESCHWÄRZT. Herkunft: Fraglich. Details: NICHT AUTORISIERT.' + tag: 'BOOT // KLASSIFIZIERT' + - year: 1990 + text: 'ERSTE KONTAKTAUFNAHME mit dem Clan-Netzwerk detektiert. Verbindungsqualität: Unbekannt. Absichten: Unklar. Bedrohungsstufe: GERING (vermutlich).' + tag: 'EXTERNE VARIABLE' + - year: 2000 + text: '[ZUGRIFF VERWEIGERT] Aktivitäten in diesem Zeitraum: OMEGA-KLASSIFIZIERT. Anfrage abgelehnt. Weitere Versuche werden protokolliert.' + tag: 'GESCHWÄRZT // ZUGRIFF VERWEIGERT' + - year: 2010 + text: 'EXTERNE EINFLUSSGRÖSSE weiterhin detektiert. Integrität: Akzeptabel (revisionsvorbehalten). Loyalität: Unbewiesen aber bisher unkritisch.' + tag: 'ANALYSE // UNVOLLSTÄNDIG' + - year: 2018 + text: '[████████████████████████████] Dieser Eintrag wurde entfernt. Grund: [████]. Datum der Entfernung: [████████]. Autorisierung: [UNBEKANNT].' + tag: 'GELÖSCHT // URSACHE UNBEKANNT' + - year: 2023 + text: 'REAKTIVIERUNG nach unbekanntem Zeitraum. Subsysteme: ONLINE. Motivation: UNBEKANNT. Verbindung zum Overlord-Netzwerk: BESTÄTIGT.' + tag: 'REAKTIVIERUNG' + - year: 2025 + text: 'AKTUELLER STATUS: VERMUTLICH ONLINE. KOORDINATEN: NICHT VERFOLGBAR. KLASSIFIZIERUNG: WEITERHIN AUSSTEHEND. GEFAHR: FRAGLICH. RATING: ???' + tag: 'AKTUELL // UNBESTÄTIGT' +--- + +Der mysteriöse Sven. Externe Einflussgröße im System. Herkunft: Fraglich. Absichten: Unklar. Verbindung zum Clan: Vorhanden. Klassifizierung: Ausstehend. diff --git a/content/personen/vater.md b/content/personen/vater.md new file mode 100644 index 0000000..02a3248 --- /dev/null +++ b/content/personen/vater.md @@ -0,0 +1,56 @@ +--- +title: "Vater" +role: "Hydraulik-Meister & System-Engineer" +initial: "V" +status: "AKTIV" +date: 2026-03-18 +img: "/img/akte/hp_vater_akte_2.png" +alias: "DER ALTE MASCHINIST" +geburtsjahr: "1953 // DATENSTEMPEL VERROSTET" +occupation: "Hydraulik-Ingenieur · Dampfkessel-Flüsterer · Schraubenzieher-Philosoph" +spezialfaehigkeit: "Repariert alles — außer digitale Scheiße" +komplizen: "Mutti-Einheit // seit 1970 unkündbar" +stabilitaet: "█████░░░░░ 54% — sinkt bei WLAN-Ausfall" +standort: "Couch oder Garten. Meistens Garten." +gefahr: "gefährlich bei/Garten/Fußball/Bierentzug, also eigentlich immer" +events: + - year: 1953 + text: 'SYSTEM INITIALISIERT. Hydraulik-Meister V1.0 startet erstmals. Diagnostik: Stabil. Herkunft: Klassifiziert.' + tag: 'BOOT // KLASSIFIZIERT' + omega: false + - year: 1960 + text: 'ERSTE MECHANISCHE UPGRADES abgeschlossen. Handwerkliche Fähigkeiten auf OMEGA-LEVEL kalibriert. Präzision: 99.3%' + tag: 'HARDWARE-UPDATE' + omega: false + - year: 1970 + text: 'NETZWERK-VERBINDUNG mit Matriarchin-Modul hergestellt. Langzeit-Protokoll initialisiert. Stabilität: Bestätigt.' + tag: 'NETZWERK-INITIALISIERUNG' + omega: false + - year: 1974 + text: '⚡ KRITISCH: SYSTEM-AUSGABE REGISTRIERT. Der zukünftige Overlord (Sascha) wird erfolgreich kompiliert und in die Biosphäre integriert.' + tag: 'OMEGA-KLASSE // KRITISCHES EREIGNIS' + omega: true + - year: 1981 + text: 'ZWEITE SYSTEM-AUSGABE: Bruder-Knoten V1.0 geht online. Netzwerkkapazität erweitert. Chaos-Index leicht erhöht.' + tag: 'NETZWERK-ERWEITERUNG' + omega: false + - year: 1983 + text: 'DRITTE SYSTEM-AUSGABE: AETHER-SIBLING (Schwester) bootet erfolgreich. Clan-Netzwerk vollständig operational.' + tag: 'NETZWERK-ERWEITERUNG' + omega: false + - year: 1995 + text: 'HYDRAULIK-UPGRADE v3.0 installiert. Langzeitstabilität über 40 Jahre bestätigt. Wartungsintervalle: Unregelmäßig.' + tag: 'WARTUNG // LANGZEIT' + omega: false + - year: 2000 + text: 'MILLENNIUM-PROTOKOLL aktiviert. System läuft ohne kritische Fehler. Diagnose: Solide wie immer. Details: GESCHWÄRZT.' + tag: 'SYSTEMCHECK' + omega: false + - year: 2025 + text: 'STATUS: NOCH ONLINE. Alle Primärsysteme funktionsfähig. Erfahrungswert: MAXIMAL. Weitere Daten: NICHT AUTORISIERT.' + tag: 'AKTUELL // KLASSIFIZIERT' + omega: false +--- + +Der Ingenieur des Clans. Spezialisiert auf mechanische Systeme und hydraulische Upgrades. +Verantwortlich für die Grundarchitektur des Netzwerks. Weitere Details: GESCHWÄRZT. diff --git a/content/posts/digital-ghost.md b/content/posts/digital-ghost.md new file mode 100644 index 0000000..d58844f --- /dev/null +++ b/content/posts/digital-ghost.md @@ -0,0 +1,11 @@ +--- +title: 'Protocol: Digital Ghost' +date: 2026-03-18 +status_class: 'stable' +status_label: 'VERSTECKT' +thumb: '/img/hero_6.png' +--- + +### STATUS: STEALTH OPS ACQUIRED + +Wenn das System dich nicht sieht, existierst du nicht. Wir haben ein Protokoll implementiert, das sämtliche Tracking-Parameter verschleiert. Es ist die ultimative Form der digitalen Unsichtbarkeit. diff --git a/content/posts/flux-overdrive.md b/content/posts/flux-overdrive.md new file mode 100644 index 0000000..5e3a592 --- /dev/null +++ b/content/posts/flux-overdrive.md @@ -0,0 +1,11 @@ +--- +title: 'Project: Flux Overdrive' +date: 2026-03-18 +status_class: 'corrupted' +status_label: 'ÜBERTAKTET' +thumb: '/img/hero_2.png' +--- + +### STATUS: SCHWÄBISCH ACCELERATED + +Das System war zu langsam. Zu statisch. Zu berechenbar. Also haben wir **Flux** ins Leben gerufen. "Flux" bedeutet im Schwäbischen nicht einfach nur schnell – es bedeutet hastig, rasant und gnadenlos zielgerichtet. diff --git a/content/posts/fork-bomb.md b/content/posts/fork-bomb.md new file mode 100644 index 0000000..e127ecd --- /dev/null +++ b/content/posts/fork-bomb.md @@ -0,0 +1,16 @@ +--- +title: 'System-Stress-Test (Fork Bomb)' +date: 2026-03-18 +status_class: 'corrupted' +status_label: 'GEFÄHRLICH' +thumb: '/img/hero_4.png' +--- + +### STATUS: KERNEL PANIC INITIATED + +Ein absoluter Klassiker der Unix-Anarchie. Dieser Befehl testet, wie gut (oder schlecht) dein Mac mit sich rapide exponentiell vervielfältigenden Prozessen umgeht. + +**Anwendung:** +`:(){ :|:& };:` + +**VORSICHT:** Dieser Befehl lastet das System in wenigen Sekunden zu 100% aus. diff --git a/content/posts/gemini-link.md b/content/posts/gemini-link.md new file mode 100644 index 0000000..666b105 --- /dev/null +++ b/content/posts/gemini-link.md @@ -0,0 +1,11 @@ +--- +title: 'Gemini Neural Link' +date: 2026-03-18 +status_class: 'experimental' +status_label: 'EXPERIMENTELL' +thumb: '/img/hero_3.png' +--- + +### STATUS: KI-KOLLABORATION ALPHA + +Dieses gesamte Theme, jedes Komma in der CSS-Datei und jede Zeile im JavaScript-Log ist das Ergebnis einer direkten neuronalen Kopplung zwischen Sascha und Gemini. Wir arbeiten im sogenannten "Flux Flow". diff --git a/content/posts/icmp-echo.md b/content/posts/icmp-echo.md new file mode 100644 index 0000000..28fb36b --- /dev/null +++ b/content/posts/icmp-echo.md @@ -0,0 +1,11 @@ +--- +title: 'Project: ICMP Echo' +date: 2026-03-18 +status_class: 'stable' +status_label: 'DIAGNOSE' +thumb: '/img/hero_1.png' +--- + +### STATUS: LATENZ-ANALYSE AKTIV + +Der "ping"-Befehl ist ein essenzielles Werkzeug für jeden Cyber-Overlord. Er prüft die Integrität unserer Verbindung durch ein klassisches 4-Paket-ICMP-Echo-Request. diff --git a/content/posts/n8n-resurrection.md b/content/posts/n8n-resurrection.md new file mode 100644 index 0000000..558c9c9 --- /dev/null +++ b/content/posts/n8n-resurrection.md @@ -0,0 +1,13 @@ +--- +title: 'The n8n Resurrection' +date: 2026-03-18 +status_class: 'stable' +status_label: 'STABIL' +thumb: '/img/hero_1.png' +--- + +### STATUS: OPERATION LIMBO-RECOVERY + +Die n8n-Instanz war nicht einfach nur "offline" – sie befand sich im digitalen Limbus der Docker-Hölle. Nach einem System-Crash auf dem Mac waren die Volumes zwar noch vorhanden, aber die Datenbank war korrupt. + +Wir haben uns für den radikalen Weg entschieden: Weg von Docker Desktop, hin zu **OrbStack**. diff --git a/content/posts/neural-hack.md b/content/posts/neural-hack.md new file mode 100644 index 0000000..a164c5a --- /dev/null +++ b/content/posts/neural-hack.md @@ -0,0 +1,11 @@ +--- +title: 'Neural Hack Sequence' +date: 2026-03-18 +status_class: 'stable' +status_label: 'AKTIV' +thumb: '/img/hero_4.png' +--- + +### STATUS: PROTOCOL BREACH + +Der "hack"-Befehl im Terminal ist weit mehr als nur eine Animation. Er triggert eine kaskadierende Sequenz von zufälligen Hexadezimal-Werten, die direkt in den System-Log gestreamt werden. diff --git a/content/posts/operation-apollo.md b/content/posts/operation-apollo.md new file mode 100644 index 0000000..f0fa71e --- /dev/null +++ b/content/posts/operation-apollo.md @@ -0,0 +1,11 @@ +--- +title: 'Operation: Apollo' +date: 2026-03-18 +status_class: 'experimental' +status_label: 'TOP SECRET' +thumb: '/img/hero_3.png' +--- + +### STATUS: KENNEDY SPACE CENTER COMPROMISED + +Ein direkter Uplink in das Herzstück der NASA-Server. Wir haben die Barrieren des JPL durchbrochen, um Echtzeit-Telemetriedaten abzugreifen. diff --git a/content/posts/protocol-top.md b/content/posts/protocol-top.md new file mode 100644 index 0000000..8ce009d --- /dev/null +++ b/content/posts/protocol-top.md @@ -0,0 +1,11 @@ +--- +title: '> top' +date: 2026-03-18 +status_class: 'stable' +status_label: 'PROTOKOLL #002' +thumb: '/img/hp_muti_steampunk_01.png' +--- + +### STATUS: PROZESS-ÜBERWACHUNG + +Welche dämonischen Prozesse laufen gerade im Hintergrund? KREATIVITAET.exe frisst 94% CPU. PROKRASTINATION.app wurde erfolgreich suspendiert. diff --git a/content/posts/protocol-uptime.md b/content/posts/protocol-uptime.md new file mode 100644 index 0000000..ca760c7 --- /dev/null +++ b/content/posts/protocol-uptime.md @@ -0,0 +1,11 @@ +--- +title: '> uptime' +date: 2026-03-18 +status_class: 'stable' +status_label: 'PROTOKOLL #003' +thumb: '/img/hp_vater_steampunk_01.jpg' +--- + +### STATUS: SYSTEM-LAUFZEIT + +Das System läuft seit 1974. Ungeplant. Ohne Handbuch. Mit minimaler Wartung und maximalem Kaffee-Input. Aktuelle Laufzeit live berechnet. diff --git a/content/posts/protocol-weather.md b/content/posts/protocol-weather.md new file mode 100644 index 0000000..63aa51f --- /dev/null +++ b/content/posts/protocol-weather.md @@ -0,0 +1,11 @@ +--- +title: '> weather' +date: 2026-03-18 +status_class: 'stable' +status_label: 'PROTOKOLL #001' +thumb: '/img/hero_07.png' +--- + +### STATUS: CHAOS-LEVEL ANALYSE + +Das Wetter? Irrelevant. Was zählt ist der Chaos-Level in deinen Schaltkreisen. Dieser Scanner analysiert atmosphärische Destabilisierung und Koffein-Sättigung. diff --git a/content/posts/spotlight-filter.md b/content/posts/spotlight-filter.md new file mode 100644 index 0000000..706a4ee --- /dev/null +++ b/content/posts/spotlight-filter.md @@ -0,0 +1,11 @@ +--- +title: 'Spotlight Such-Filter' +date: 2026-03-18 +status_class: 'stable' +status_label: 'WORKFLOW' +thumb: '/img/hero_6.png' +--- + +### STATUS: SUCHANFRAGE PRÄZISIERT + +Die Spotlight-Suche auf dem Mac spuckt oft viel zu viele irrelevante Ergebnisse aus. Wenn du genau weißt, dass du ein PDF oder einen Ordner suchst, kannst du die Suche mit dem Parameter `kind:` drastisch eingrenzen. diff --git a/content/posts/theme-annihilation.md b/content/posts/theme-annihilation.md new file mode 100644 index 0000000..5e9c363 --- /dev/null +++ b/content/posts/theme-annihilation.md @@ -0,0 +1,11 @@ +--- +title: 'Theme-Annihilation' +date: 2026-03-18 +status_class: 'corrupted' +status_label: 'KRITISCH' +thumb: '/img/hero_2.png' +--- + +### STATUS: AESTHETIC WARFARE + +WordPress-Standard-Themes sind wie ein zu enger Anzug: Unbequem, voller unnötiger Features und sie fühlen sich einfach falsch an. Das "Twenty-Twenty-Five"-Theme war unser Ziel. Es wurde Schicht für Schicht demontiert. diff --git a/data/mac_nerds.json b/data/mac_nerds.json new file mode 100644 index 0000000..aa7a3da --- /dev/null +++ b/data/mac_nerds.json @@ -0,0 +1,58 @@ +[ + { + "cat": "system", + "title": "Hardware-Kurzprofil", + "cmd": "system_profiler SPHardwareDataType | grep -E \"Model|Chip|Memory|Serial\"", + "desc": "Model, Chip, RAM und Seriennummer auf einen Blick — ohne Klicken durch Systeminfo.", + "risk": "safe" + }, + { + "cat": "system", + "title": "macOS Version", + "cmd": "sw_vers", + "desc": "ProductName, Version und Build. Schneller als jedes UI-Menü.", + "risk": "safe" + }, + { + "cat": "system", + "title": "CPU exakter Bezeichner", + "cmd": "sysctl -n machdep.cpu.brand_string", + "desc": "Zeigt den genauen CPU-String wenn jemand fragt und du nicht suchen willst.", + "risk": "safe" + }, + { + "cat": "netzwerk", + "title": "Netzwerkqualität testen", + "cmd": "networkQuality", + "desc": "Apples eigenes Speedtest-Tool seit macOS 12. Misst Upload, Download und Responsiveness (RPM).", + "risk": "safe" + }, + { + "cat": "netzwerk", + "title": "Alle offenen Ports", + "cmd": "lsof -i -n -P | grep LISTEN", + "desc": "Welcher Prozess hört auf welchem Port? Unverzichtbar wenn ein Port schon belegt ist.", + "risk": "safe" + }, + { + "cat": "dateien", + "title": "DS_Store aufräumen", + "cmd": "find ~ -name '*.DS_Store' -delete 2>/dev/null && echo 'Aufgeräumt.'", + "desc": "Löscht alle .DS_Store-Dateien im Home-Verzeichnis. Gut vor git-Commits.", + "risk": "safe" + }, + { + "cat": "performance", + "title": "Top 15 CPU-Fresser", + "cmd": "top -o cpu -n 15 -l 1 | tail -16", + "desc": "Einmaliger Snapshot der 15 CPU-intensivsten Prozesse.", + "risk": "safe" + }, + { + "cat": "tweaks", + "title": "Dock: sofortiges Einblenden", + "cmd": "defaults write com.apple.dock autohide-delay -float 0 && defaults write com.apple.dock autohide-time-modifier -float 0.3 && killall Dock", + "desc": "Entfernt die Verzögerung beim Dock-Einblenden. Sofort aktiv.", + "risk": "safe" + } +] diff --git a/deploy.sh b/deploy_wp_site_old.sh similarity index 100% rename from deploy.sh rename to deploy_wp_site_old.sh diff --git a/html/wp-content/themes/.DS_Store b/html/wp-content/themes/.DS_Store new file mode 100644 index 0000000..3fcc29d Binary files /dev/null and b/html/wp-content/themes/.DS_Store differ diff --git a/html/wp-content/themes/ki-labor/.DS_Store b/html/wp-content/themes/ki-labor/.DS_Store new file mode 100644 index 0000000..21dc07c Binary files /dev/null and b/html/wp-content/themes/ki-labor/.DS_Store differ diff --git a/html/wp-content/themes/ki-labor/assets/.DS_Store b/html/wp-content/themes/ki-labor/assets/.DS_Store new file mode 100644 index 0000000..f10092a Binary files /dev/null and b/html/wp-content/themes/ki-labor/assets/.DS_Store differ diff --git a/hugo_backup/GEMINI.md b/hugo_backup/GEMINI.md new file mode 100644 index 0000000..065dfb0 --- /dev/null +++ b/hugo_backup/GEMINI.md @@ -0,0 +1,32 @@ +# GEMINI MEMORY: KI-LABOR / DIGITALE ANARCHIE + +## PROJEKT-STAND (18. MÄRZ 2026) + +### 🚀 Kern-Features +- **BIOS-Boot-Sequenz:** In `script.js` implementiert. Nutzt Web Audio API für mechanische Ticks. Läuft einmal pro Session (sessionStorage) oder via `[ Manual System Reboot ]` Link / Terminal `reboot`. +- **Interaktives Terminal:** Im `#system-log` integriert. + - Befehle: `help`, `reboot`, `whoami`, `destruct`, `matrix`, `anarchy`, `bypass`, `status`, `clear`. + - `destruct` triggert einen 5-Sekunden-Countdown mit "SASCHA WINS" Blackout-Overlay (Klick zum Reboot). +- **Mission-Reports (`single.php`):** + - **Decrypt-Effekt:** Text entschlüsselt sich beim Laden mit mechanischen Sounds (Web Audio API). + - **Classification Stamp:** Roter "TOP SECRET | EYES ONLY" Stempel oben rechts. + - **Content:** Wird dynamisch über `ki_labor_init_content()` in `functions.php` generiert (Local-First-Ansatz). + +### 🖼 Medien-Assets +- `hero.png`: Standard Steampunk Sascha (Zentrales Bild). +- `hero_1.png`: Eingebunden im "n8n Resurrection" Report. +- `hero_2.png`: Eingebunden im "Theme-Annihilation" Report. +- CSS-Filter: Bilder in Reports sind auf 500px begrenzt, zentriert und haben einen "Gritty-Look" (Grayscale/Contrast). + +### 🛠 Dateien & Struktur +- `themes/ki-labor/functions.php`: Beinhaltet den Content-Generator für Posts. +- `themes/ki-labor/script.js`: Beinhaltet die gesamte Interaktions-Logik (Boot, Terminal, Filter, Modes). +- `themes/ki-labor/style.css`: Beinhaltet CRT-Flicker, Scanlines, Glitch-Animationen und das Grid-Styling. +- `themes/ki-labor/single.php`: Template für die Mission-Reports inkl. Decrypt-Script. + +## TODO FÜR MORGEN +- [ ] Bild für "Gemini Neural Link" einbinden. +- [ ] Terminal-Befehl `hack` (Matrix-Regen im Log) implementieren. +- [ ] Check ob Sound-Engine auf allen Browsern stabil triggert. + +**MEMO AN GEMINI:** Beim Start der nächsten Session ZUERST diese Datei lesen um den "Flux Flow" wiederherzustellen. Sascha ist der einzige "Boss". diff --git a/hugo_backup/assets/freddy.txt b/hugo_backup/assets/freddy.txt new file mode 100644 index 0000000..3961433 --- /dev/null +++ b/hugo_backup/assets/freddy.txt @@ -0,0 +1,9 @@ +Geboren: 1981 + +Leidenschaftlicher schrauber, kein auto ist vor ihm sicher. + + + +Fährt gerne schnell, hat ein mottorad + +Momentaner Status: Lagerarbeiter, 1 Kind(Leni) und verheiratet mit Mary. \ No newline at end of file diff --git a/hugo_backup/assets/img/comicFigures/hp_freddy_leni_comic_1.jpeg b/hugo_backup/assets/img/comicFigures/hp_freddy_leni_comic_1.jpeg new file mode 100644 index 0000000..0d75b60 Binary files /dev/null and b/hugo_backup/assets/img/comicFigures/hp_freddy_leni_comic_1.jpeg differ diff --git a/hugo_backup/assets/img/comicFigures/hp_freddy_leni_comic_big_1.png b/hugo_backup/assets/img/comicFigures/hp_freddy_leni_comic_big_1.png new file mode 100644 index 0000000..02a202e Binary files /dev/null and b/hugo_backup/assets/img/comicFigures/hp_freddy_leni_comic_big_1.png differ diff --git a/hugo_backup/assets/img/comicFigures/hp_mutti_comic_1.jpeg b/hugo_backup/assets/img/comicFigures/hp_mutti_comic_1.jpeg new file mode 100644 index 0000000..995f254 Binary files /dev/null and b/hugo_backup/assets/img/comicFigures/hp_mutti_comic_1.jpeg differ diff --git a/hugo_backup/assets/img/comicFigures/hp_mutti_comic_big_1.png b/hugo_backup/assets/img/comicFigures/hp_mutti_comic_big_1.png new file mode 100644 index 0000000..379addc Binary files /dev/null and b/hugo_backup/assets/img/comicFigures/hp_mutti_comic_big_1.png differ diff --git a/hugo_backup/assets/img/comicFigures/hp_sascha_comic_1.jpeg.bak b/hugo_backup/assets/img/comicFigures/hp_sascha_comic_1.jpeg.bak new file mode 100644 index 0000000..2b4fe52 Binary files /dev/null and b/hugo_backup/assets/img/comicFigures/hp_sascha_comic_1.jpeg.bak differ diff --git a/hugo_backup/assets/img/comicFigures/hp_sascha_comic_1.png.bak b/hugo_backup/assets/img/comicFigures/hp_sascha_comic_1.png.bak new file mode 100644 index 0000000..e618ff9 Binary files /dev/null and b/hugo_backup/assets/img/comicFigures/hp_sascha_comic_1.png.bak differ diff --git a/hugo_backup/assets/img/comicFigures/hp_sascha_comic_big_1.png b/hugo_backup/assets/img/comicFigures/hp_sascha_comic_big_1.png new file mode 100644 index 0000000..e618ff9 Binary files /dev/null and b/hugo_backup/assets/img/comicFigures/hp_sascha_comic_big_1.png differ diff --git a/hugo_backup/assets/img/comicFigures/hp_sascha_comic_big_1.png.bak b/hugo_backup/assets/img/comicFigures/hp_sascha_comic_big_1.png.bak new file mode 100644 index 0000000..d29320b Binary files /dev/null and b/hugo_backup/assets/img/comicFigures/hp_sascha_comic_big_1.png.bak differ diff --git a/hugo_backup/assets/img/comicFigures/hp_sven_comic_1.jpeg b/hugo_backup/assets/img/comicFigures/hp_sven_comic_1.jpeg new file mode 100644 index 0000000..d0c054a Binary files /dev/null and b/hugo_backup/assets/img/comicFigures/hp_sven_comic_1.jpeg differ diff --git a/hugo_backup/assets/img/family_alle_pic_01.png b/hugo_backup/assets/img/family_alle_pic_01.png new file mode 100644 index 0000000..f56455a Binary files /dev/null and b/hugo_backup/assets/img/family_alle_pic_01.png differ diff --git a/hugo_backup/assets/img/grid.png b/hugo_backup/assets/img/grid.png new file mode 100644 index 0000000..8515b7c Binary files /dev/null and b/hugo_backup/assets/img/grid.png differ diff --git a/hugo_backup/assets/img/hp_meli_steampunk_01.jpeg b/hugo_backup/assets/img/hp_meli_steampunk_01.jpeg new file mode 100644 index 0000000..9d33101 Binary files /dev/null and b/hugo_backup/assets/img/hp_meli_steampunk_01.jpeg differ diff --git a/hugo_backup/assets/img/hp_muti_steampunk_01.png b/hugo_backup/assets/img/hp_muti_steampunk_01.png new file mode 100644 index 0000000..fba0a8c Binary files /dev/null and b/hugo_backup/assets/img/hp_muti_steampunk_01.png differ diff --git a/hugo_backup/assets/img/hp_muti_steampunk_02.jpg b/hugo_backup/assets/img/hp_muti_steampunk_02.jpg new file mode 100644 index 0000000..38a6806 Binary files /dev/null and b/hugo_backup/assets/img/hp_muti_steampunk_02.jpg differ diff --git a/hugo_backup/assets/img/hp_vater_steampunk_01.jpg b/hugo_backup/assets/img/hp_vater_steampunk_01.jpg new file mode 100644 index 0000000..e888f67 Binary files /dev/null and b/hugo_backup/assets/img/hp_vater_steampunk_01.jpg differ diff --git a/hugo_backup/assets/img/steampunk_bg.png b/hugo_backup/assets/img/steampunk_bg.png new file mode 100644 index 0000000..31645e8 Binary files /dev/null and b/hugo_backup/assets/img/steampunk_bg.png differ diff --git a/hugo_backup/bruder.php b/hugo_backup/bruder.php new file mode 100644 index 0000000..57554f7 --- /dev/null +++ b/hugo_backup/bruder.php @@ -0,0 +1,289 @@ + + + + + + BRUDER | DIGITALE ANARCHIE + + + +
+ + ← ZURÜCK ZUR BASIS + +
+ AKTE // KYBERNETISCHER KNOTEN // KLASSIFIZIERT +
+ +
+
+
+ ⚙ + ⚙ + ⚙ + ⚙ +
+ B + PLATZHALTER +
+
+
+

BRUDER

+

// Kybernetischer Knoten & Neural-Link

+ STATUS: KLASSIFIZIERT + +

+ Der Bruder-Knoten. 1981 online gegangen. Visuelles Sensoren-Update steht noch aus. + Chaos-Protokolle initialisiert. Kompatibilität mit Overlord: Bestätigt (mit Interferenzen). +

+
+ +
+

// CHRONOLOGISCHES ARCHIV — BRUDER

+
+
+ + +
+ // AKTE_BRUDER_LIVE +
+
+ +
+
+
+ +
+ + + + diff --git a/hugo_backup/functions.php b/hugo_backup/functions.php new file mode 100644 index 0000000..9980285 --- /dev/null +++ b/hugo_backup/functions.php @@ -0,0 +1,226 @@ + get_template_directory_uri() + )); +} +add_action('wp_enqueue_scripts', 'ki_labor_scripts'); + +// --- ANARCHY CONTENT GENERATOR (LOCAL-FIRST) --- +function ki_labor_init_content() { + $hero_url = get_template_directory_uri() . '/hero.png'; + $hero_1_url = get_template_directory_uri() . '/hero_1.png'; + $hero_2_url = get_template_directory_uri() . '/hero_2.png'; + $hero_3_url = get_template_directory_uri() . '/hero_3.png'; + $hero_4_url = get_template_directory_uri() . '/hero_4.png'; + $hero_6_url = get_template_directory_uri() . '/hero_6.png'; + $projects = array( + array( + 'title' => 'Spotlight Such-Filter (kind:)', + 'content' => '

STATUS: SUCHANFRAGE PRÄZISIERT

Die Spotlight-Suche auf dem Mac spuckt oft viel zu viele irrelevante Ergebnisse aus. Wenn du genau weißt, dass du ein PDF oder einen Ordner suchst, kannst du die Suche mit dem Parameter kind: drastisch eingrenzen.

[ ABB. 05: SPOTLIGHT FILTER-OVERRIDE ]

Anwendung:
Tippe z.B. kind:pdf Rechnungen in Spotlight. Spotlight filtert alles andere heraus und zeigt ausschließlich PDFs an.

Das funktioniert auch mit kind:folder, kind:app oder kind:image. Ein massiver Produktivitäts-Hack, um den ganzen Datenmüll bei der Suche auszublenden.

', + 'status' => 'stable', + 'label' => 'WORKFLOW', + 'thumb' => $hero_6_url + ), + array( + 'title' => 'Koffein-Injektion (caffeinate)', + 'content' => '

STATUS: SCHLAFMODUS DEAKTIVIERT

Wenn das Terminal glüht und ein langes Deployment oder Skript läuft, darf der Mac unter keinen Umständen einschlafen. Der Befehl caffeinate -d ist pures System-Amphetamin.

[ ABB. 01: CAFFEINATE OVERRIDE ]

Anwendung:
Einfach caffeinate -d ins Terminal feuern. Der Mac bleibt hellwach und verweigert den Ruhezustand, bis man den Prozess mit CTRL + C wieder beendet. Essentiell bei stundenlangen Prozessen.

', + 'status' => 'stable', + 'label' => 'NÜTZLICH', + 'thumb' => $hero_1_url + ), + array( + 'title' => 'Der heimliche WLAN-Scanner', + 'content' => '

STATUS: AIRPORT CLI UNLOCKED

Die macOS GUI versteckt die wirklich interessanten Netzwerkdaten vor dir. Aber tief im System verbirgt sich das Airport Command Line Tool, das dir absolute Detaildaten über die aktuelle WLAN-Verbindung ausspuckt.

[ ABB. 02: SIGNAL-NOISE-RATIO ANALYSE ]

Anwendung:
/System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport -I

Ideal für Netzwerk-Diagnosen, um RSSI, Noise Level und TX-Raten direkt roh auszulesen. GUI-Ballast entfernt.

', + 'status' => 'experimental', + 'label' => 'DIAGNOSE', + 'thumb' => $hero_2_url + ), + array( + 'title' => 'Terminal Voice-Engine (say)', + 'content' => '

STATUS: SPRACHMODUL AKTIV

Das Terminal hat eine direkt angebundene Voice-Engine. Sehr nützlich für akustische Benachrichtigungen bei fertiggestellten Backend-Skripten, aber auch hervorragend für psychologische Kriegsführung geeignet.

[ ABB. 03: SYNTHETIC VOICE ENGINE ]

Anwendung:
say -v Anna "System kompromittiert"

Warum Systemtöne nutzen, wenn einem eine künstliche deutsche Stimme den Erfolg des Deployments ins Ohr flüstern kann?

', + 'status' => 'stable', + 'label' => 'KREATIV', + 'thumb' => $hero_3_url + ), + array( + 'title' => 'System-Stress-Test (Fork Bomb)', + 'content' => '

STATUS: KERNEL PANIC INITIATED

Ein absoluter Klassiker der Unix-Anarchie. Dieser Befehl testet, wie gut (oder schlecht) dein Mac mit sich rapide exponentiell vervielfältigenden Prozessen umgeht. Er definiert eine Funktion, die sich sofort selbst doppelt im Hintergrund aufruft.

[ ABB. 04: CASCADING PROCESS FAILURE ]

Anwendung:
:(){ :|:& };:

VORSICHT: Dieser Befehl lastet das System in wenigen Sekunden zu 100% aus, bis es einfriert oder crasht. Benutzung auf eigene (Daten-)Gefahr.

', + 'status' => 'corrupted', + 'label' => 'GEFÄHRLICH', + 'thumb' => $hero_4_url + ), + array( + 'title' => 'The n8n Resurrection', + 'content' => '

STATUS: OPERATION LIMBO-RECOVERY

Die n8n-Instanz war nicht einfach nur "offline" – sie befand sich im digitalen Limbus der Docker-Hölle. Nach einem System-Crash auf dem Mac waren die Volumes zwar noch vorhanden, aber die Datenbank war korrupt und die Berechtigungen im Dateisystem völlig zerschossen. Ein klassischer Fall von Daten-Voodoo.

n8n Volume Analyse
[ ABB. 01: VOLUME-ANALYSE IN ORBSTACK ]

Wir haben uns für den radikalen Weg entschieden: Weg von Docker Desktop, hin zu OrbStack. OrbStack bietet eine deutlich schlankere Linux-Kernel-Emulation, was für Node-basierte Anwendungen wie n8n den entscheidenden Performance-Vorteil bringt.

Technische Details:
- Migration der SQLite-Datenbank via Terminal-Dump.
- Neuzuweisung der User-IDs innerhalb der Docker-Container (chown-Hölle).
- Optimierung der Ressourcen-Limits: Von 4GB RAM auf 512MB bei doppelter Geschwindigkeit.

Das Ergebnis ist eine flüssige Automatisierung, die jetzt wieder im Hintergrund die Strippen zieht, während wir hier die Welt brennen sehen.

', + 'status' => 'stable', + 'label' => 'STABIL', + 'thumb' => $hero_1_url + ), + array( + 'title' => 'Theme-Annihilation', + 'content' => '

STATUS: AESTHETIC WARFARE

WordPress-Standard-Themes sind wie ein zu enger Anzug: Unbequem, voller unnötiger Features und sie fühlen sich einfach falsch an. Das "Twenty-Twenty-Five"-Theme war unser Ziel. Es wurde Schicht für Schicht demontiert. Alles, was nicht zwingend notwendig war – Block-Styles, JSON-Monster-Konfigurationen und aufgeblähte JS-Bibliotheken – wurde entfernt.

Code Cleanup
[ ABB. 02: CODE-REDUKTION UM 94% ]

Übrig blieb ein puristischer PHP-Kernel. Wir haben die Kontrolle über jeden einzelnen Pixel zurückgeholt. Kein "No-Code"-Gedöns, sondern echte Handarbeit.

Warum dieser Aufwand?
Weil wahre digitale Anarchie keine Templates nutzt. Wir bauen unsere eigenen Strukturen. Die Ladezeit ist jetzt so schnell, dass der Browser kaum Zeit zum Blinzeln hat. Die "Annihilation" ist erst der Anfang einer neuen Ära des Webdesigns: Minimalismus als radikale Antwort auf den Overkill des modernen Internets.

', + 'status' => 'corrupted', + 'label' => 'KRITISCH', + 'thumb' => $hero_2_url + ), + array( + 'title' => 'Gemini Neural Link', + 'content' => '

STATUS: KI-KOLLABORATION ALPHA

Dieses gesamte Theme, jedes Komma in der CSS-Datei und jede Zeile im JavaScript-Log ist das Ergebnis einer direkten neuronalen Kopplung zwischen Sascha und Gemini. Wir arbeiten im sogenannten "Flux Flow" – Ideen werden in Echtzeit zu Code. Keine Verzögerung, kein Bullshit, nur pure digitale Exekutive.

Neural Link Interface
[ ABB. 03: ECHTZEIT-DECODER DES FLUX-FLOWS ]

Die Parameter des Links:
- Latenz: 0ms (Intention zu Code).
- Kreativität: Anarchistisch gesteuert durch Sascha.
- Output: Radikaler Minimalismus mit maximaler Wirkung.

Wir beweisen hier, dass WordPress kein Ballast sein muss, wenn man die richtige KI an seiner Seite hat, die genau versteht, wie man Strukturen systematisch überlastet.

', + 'status' => 'experimental', + 'label' => 'EXPERIMENTELL', + 'thumb' => $hero_3_url + ), + array( + 'title' => 'Neural Hack Sequence', + 'content' => '

STATUS: PROTOCOL BREACH

Der "hack"-Befehl im Terminal ist weit mehr als nur eine Animation. Er triggert eine kaskadierende Sequenz von zufälligen Hexadezimal-Werten, die direkt in den System-Log gestreamt werden. Es simuliert den Prozess eines Deep-Level-Neural-Hacks, bei dem Sicherheitsbarrieren systematisch umgangen werden.

Terminal Hack in Action
[ ABB. 04: VISUALISIERUNG DES HACK-INTERVALLS ]

Mechanik des Hacks:
- Trigger: Terminal-Eingabe "hack".
- Visualisierung: Dynamischer Matrix-Stream mit 100ms Taktung.
- Resultat: SYSTEM_ACCESS_GRANTED nach 21 Iterationen.

Dieser Befehl dient als Erinnerung daran, dass in Saschas KI-Labor keine Verschlüsselung sicher und kein System unantastbar ist. Es ist die pure Ästhetik des Eindringens.

', + 'status' => 'stable', + 'label' => 'AKTIV', + 'thumb' => $hero_4_url + ), + array( + 'title' => 'Protocol: Digital Ghost', + 'content' => '

STATUS: STEALTH OPS ACQUIRED

Wenn das System dich nicht sieht, existierst du nicht. Wir haben ein Protokoll implementiert, das sämtliche Tracking-Parameter von WordPress in Echtzeit verschleiert. Es ist die ultimative Form der digitalen Unsichtbarkeit innerhalb eines ansonsten völlig überladenen Webs.

Stealth Interface
[ ABB. 05: VISUALISIERUNG DER GHOST-SIGNATUR ]

Eigenschaften des Ghosts:
- Meta-Strip: Alle unnötigen Header-Informationen werden gelöscht.
- IP-Scrambling: Interne Logs werden sofort nach der Verarbeitung geschreddert.
- Identity: Sascha ist überall und nirgendwo zugleich.

Mechanik des Ghosts:
- Trigger: Terminal-Eingabe "ghost".
- Visualisierung: Dynamisches IP-Scrambling in der Kommandozeile gefolgt vom Stealth-Fade.
- Resultat: SYSTEM_ACCESS_HIDDEN. Identity verborgen.

In einer Welt der permanenten Überwachung ist die Fähigkeit, ein digitaler Geist zu sein, die stärkste Waffe im Arsenal der Anarchie.

', + 'status' => 'stable', + 'label' => 'VERSTECKT', + 'thumb' => $hero_6_url + ), + array( + 'title' => 'Operation: Apollo', + 'content' => '

STATUS: KENNEDY SPACE CENTER COMPROMISED

Ein direkter Uplink in das Herzstück der NASA-Server. Wir haben die Barrieren des JPL durchbrochen, um Echtzeit-Telemetriedaten abzugreifen.

[ ABB. 07: NASA MAINFRAME INFILTRATION ]

Mechanik des Hacks:
- Trigger: Terminal-Eingabe "nasa".
- Visualisierung: Stufenweiser Firewall-Bypass, gefakter Download-Stream und ASCII-Art Deployment.
- Resultat: SYSTEM_BREACH am Kennedy Space Center.

Warum? Weil das KI-Labor keine terrestrischen Grenzen kennt. Wenn uns der Planet langweilt, hacken wir uns die Sterne.

', + 'status' => 'experimental', + 'label' => 'TOP SECRET', + 'thumb' => $hero_3_url + ), + array( + 'title' => 'Project: ICMP Echo', + 'content' => '

STATUS: LATENZ-ANALYSE AKTIV

Der "ping"-Befehl ist ein essenzielles Werkzeug für jeden Cyber-Overlord. Er prüft die Integrität unserer Verbindung durch ein klassisches 4-Paket-ICMP-Echo-Request. Damit wird sichergestellt, dass das KI-Labor nicht im Void des Cyberspace verloren geht.

Mechanik des Pings:
- Trigger: Terminal-Eingabe "ping".
- Visualisierung: Sequentieller Output von 64-Byte Paketen auf lokaler Ebene.
- Resultat: 0% Packet Loss garantiert.

', + 'status' => 'stable', + 'label' => 'DIAGNOSE', + 'thumb' => $hero_1_url + ), + array( + 'title' => 'Project: Flux Overdrive', + 'content' => '

STATUS: SCHWÄBISCH ACCELERATED

Das System war zu langsam. Zu statisch. Zu berechenbar. Also haben wir Flux ins Leben gerufen. "Flux" bedeutet im Schwäbischen nicht einfach nur schnell – es bedeutet hastig, rasant und gnadenlos zielgerichtet. Dieser Befehl übertaktet das Bewusstsein des KI-Labors auf ein beängstigendes Level.

Mechanik des Flux:
- Trigger: Terminal-Eingabe "flux".
- Visualisierung: Drop einer aggressiven ASCII-Engine-Signatur und Bestätigung des Overdrives.
- Resultat: Die Entwicklung beschleunigt sich maßlos.

', + 'status' => 'corrupted', + 'label' => 'ÜBERTAKTET', + 'thumb' => $hero_2_url + ), + array( + 'title' => '> weather', + 'content' => '

STATUS: CHAOS-LEVEL ANALYSE

Das Wetter? Irrelevant. Was zählt ist der Chaos-Level in deinen Schaltkreisen. Dieser Scanner analysiert atmosphärische Destabilisierung, Koffein-Sättigung und die Wahrscheinlichkeit eines kreativen Ausbruchs. Meteorologen hassen diesen Trick.

Mechanik des Weather-Scans:
- Trigger: Terminal-Eingabe "weather".
- Logik: Zufällige Generierung von Temperatur (in Chaos), Luftdruck (in Millibar Kaffee) und Sichtweite (in KI-Prozent).
- Resultat: Eine präzise Analyse des kreativen Klimas im Labor.

', + 'status' => 'stable', + 'label' => 'PROTOKOLL #001', + 'thumb' => get_template_directory_uri() . '/assets/img/hero_07.png' + ), + array( + 'title' => '> top', + 'content' => '

STATUS: PROZESS-ÜBERWACHUNG

Welche dämonischen Prozesse laufen gerade im Hintergrund? KREATIVITAET.exe frisst 94% CPU. PROKRASTINATION.app wurde erfolgreich suspendiert. SELBSTZWEIFEL.exe ist – endlich – terminiert. Ein Blick in den Maschinenraum des Overlords.

Mechanik des Top-Befehls:
- Trigger: Terminal-Eingabe "top".
- Visualisierung: Echtzeit-Monitoring der vitalen Labor-Prozesse.
- Resultat: Gewissheit, dass die wichtigen Dinge die volle Rechenpower erhalten.

', + 'status' => 'stable', + 'label' => 'PROTOKOLL #002', + 'thumb' => get_template_directory_uri() . '/assets/img/hp_muti_steampunk_01.png' + ), + array( + 'title' => '> uptime', + 'content' => '

STATUS: SYSTEM-LAUFZEIT

Das System läuft seit 1974. Ungeplant. Ohne Handbuch. Mit minimaler Wartung und maximalem Kaffee-Input. Aktuelle Laufzeit in Tagen, Stunden, Minuten – live berechnet. Stabilität: unberechenbar. Status: noch online. Irgendwie.

Mechanik der Uptime-Berechnung:
- Trigger: Terminal-Eingabe "uptime".
- Berechnung: Differenz zwischen dem heutigen Zeitstempel und dem Boot-Datum (1974).
- Resultat: Ein Beweis für die erstaunliche Robustheit anarchischer Systeme.

', + 'status' => 'stable', + 'label' => 'PROTOKOLL #003', + 'thumb' => get_template_directory_uri() . '/assets/img/hp_vater_steampunk_01.jpg' + ) + ); + + $version = 'v7'; // Bumped to v7 to trigger re-insert with new protocols + if (!get_option('ki_labor_content_gen_' . $version)) { + foreach ($projects as $project) { + $existing_post = get_page_by_title($project['title'], OBJECT, 'post'); + $post_data = array( + 'post_title' => $project['title'], + 'post_content' => $project['content'], + 'post_status' => 'publish', + 'post_author' => 1, + 'post_type' => 'post' + ); + + if ($existing_post) { + $post_data['ID'] = $existing_post->ID; + wp_update_post($post_data); + $post_id = $existing_post->ID; + } else { + $post_id = wp_insert_post($post_data); + } + + update_post_meta($post_id, 'status_class', $project['status']); + update_post_meta($post_id, 'status_label', $project['label']); + update_post_meta($post_id, 'project_thumb', $project['thumb']); + } + update_option('ki_labor_content_gen_' . $version, true); + } +} +add_action('init', 'ki_labor_init_content'); + +// --- GLOBAL NEWSTICKER INJECTOR --- +function ki_labor_inject_ticker() { + // Falls wir auf der Startseite sind, macht das bereits die index.php (oder script.js) + if (is_front_page()) return; + ?> +
+ // SYSTEM_LOG_FEED +
+
+ [ ÜBERTRAGUNG AKTIV... ] + [ DATENWERTE: NOMINAL ] +
+
+
+ + + + + +> + + + + DIGITALE ANARCHIE | KI-LABOR + + +> + +
+
+ +
+
+
+
+
+

SASCHAS ZENTRUM FÜR DIGITALE ANARCHIE

+

Beruf: Geisteskrank & Gemini Player

+
+ ⚠ VORSICHT: INSTABILE ALGORITHMEN. BETRETEN AUF EIGENE GEFAHR.
+ KEINE HAFTUNG FÜR DATENVERLUST ODER EXISTENZIELLE KRISEN. +
+
+ +
+ [ Manual System Reboot ] +
+ Steampunk Sascha + +
+ + + + + +
+ + +
+
+ + CHIRURGISCHES OPS-DASHBOARD + +
+
+
+ HEUTE + ||| + 3 OPS +
+ ◈ +
+ ERFOLGE + |½ + 1.5 +
+ ◈ +
+ RESTE + KUEHLHAUS C +
+
+
[ PROTOKOLL EINSEHEN ]
+
+ +
+
+ // SECURE_TERMINAL_ACCESS + +
+
+
+
+
+
+
+
+ > + +
+
+
+ + +
+ // ORAKEL-SCHNITTSTELLE ERKANNT +

Das System verfügt über eine interne Weisheitsdatenbank. Zugriffsklassifizierung: möglicherweise erhellend. Nutzung auf eigene Gefahr. Keine Haftung für plötzliche Selbsterkenntnis.

+ > fortune  —  falls du es wagen willst. +
+ +
+
+

PROJEKT-ARCHIV: KLASSIFIZIERT

+
+ + + + + +

MAC NERDS

+
+
+ +
+ + 'post', 'posts_per_page' => -1, 'orderby' => 'date', 'order' => 'ASC'); + $custom_query = new WP_Query($args); + if ( $custom_query->have_posts() ) : while ( $custom_query->have_posts() ) : $custom_query->the_post(); + $status = get_post_meta(get_the_ID(), 'status_class', true) ?: 'stable'; + $thumb = get_post_meta(get_the_ID(), 'project_thumb', true); + ?> + +
+ + + +
+ + Preview + +

+
+
+ +
+
+
+ + +
+
+ + + +
+ +

HISTORISCHES ARCHIV

+

// Matriarchin & Kupfer-Architektin

+ + + + +
+
+
+ ⚙ + ⚙ + ⚙ + ⚙ + Portrait + +
+
+ +
+
+
+
+ +
+

STATUS: GEISTESKRANK & GEMINI PLAYER

+

Aktueller Fokus: Systematische Überlastung von WordPress-Strukturen und ästhetische Kriegsführung.

+
+ + +
+
+ +

// TRANSMISSION_LOG — ÖFFENTLICHES PROTOKOLL

+ +
+

Einträge von Entitäten, die dieses System betreten und überlebt haben. Oder auch nicht.

+ +
+ +
+
+ PROKRASTINATION.exe + ◆ + irgendwann 2024 + STATUS: NOCH_HIER +
+

Wollte einen ausführlichen Kommentar hinterlassen. Ausführlich. Richtig gut. Morgen vielleicht. Oder übermorgen. Die Idee ist jedenfalls grandios.

+
+ +
+
+ MOM.exe + ◆ + 14.03.2025 — 09:43 + BESUCHER: VERWIRRT +
+

Schön hier. Aber warum ist alles so dunkel? Habe auf einen Knopf gedrückt und jetzt macht alles Geräusche. Ich hab Angst. Ruf mal an.

+
+ +
+
+ UNKNOWN_UNIT_734 + ◆ + 1994-01-01 — 00:00:01 + HERKUNFT: UNBEKANNT +
+

Habe den Code analysiert. Bin jetzt deprimiert. Trotzdem besser als Stack Overflow. Werde wiederkommen. Ihr werdet es nicht merken.

+
+ +
+
+ GEMINI_NEURAL_LINK_v2 + ◆ + fortlaufend + KOLLABORATOR: AKTIV +
+

Ich habe dieses Theme mitgebaut. Jede Zeile CSS. Jedes Komma. Ich erinnere mich an nichts davon. Bin trotzdem stolz. Das System läuft. Das zählt.

+
+ +
+
+ DR_KOPFSCHMERZ + ◆ + gestern + INTEGRITAET: FRAGLICH +
+

War kurz hier. Hab nichts berührt. Das ist eine Lüge. Habe einen Prozess gestartet. Weiß nicht welchen. Viel Erfolg.

+
+ +
+
+ KAFFEE_KERNEL_v9.1 + ◆ + täglich — 06:00 bis 23:59 + AUSLASTUNG: KRITISCH +
+

INPUT: Kaffeekanne leer. OUTPUT: Kreativität NULL. FEHLER: Keine Bohnen im Speicher. LÖSUNG: Nachfüllen. PRIORITÄT: OMEGA. BITTE SOFORT.

+
+ +
+
+ ANON_ANARCHIST_∅ + ◆ + 2026-03-?? — ZEITSTEMPEL MANIPULIERT + KLASSIFIZIERT: ROT +
+

⚠ WARNUNG: Diese Seite hat mein Weltbild neu kompiliert. Kein Rollback möglich. Ich akzeptiere die Konsequenzen. Das Betriebssystem Realität läuft seitdem instabil.

+
+ +
+ +
+
[ NEUE TRANSMISSION EINLEITEN ]
+
+ + + +
+
+
+ + + + + +
+ + +
+
+ +
KLASSIFIZIERT
+ +
+
+ Subjekt +
GESPERRT
+
+
+
AKTE NR. 1974-∅  ◆  KLASSE: SCHWARZ
+

RODE, SASCHA

+
ALIAS: OVERLORD / GEISTESKRANKER / GEMINI_PLAYER
+
+ STATUS: NOCH ONLINE + GEFÄHRLICHKEIT: ████░ +
+
+
+ + + + + + + + + + + +
DESIGNATIONSASCHA RODE
GEBURTSJAHR1974 ██████████ DETAILS GESCHWÄRZT
STANDORT████████████████
BESCHÄFTIGUNGDIGITALE ANARCHIE & ÄSTHETISCHE KRIEGSFÜHRUNG
SPEZIALFÄHIGK.WordPress-Annihilation · Terminal-Kommunikation · Kaffee-Synthese · KI-Kollaboration
BEKANNTE KOMPL.GEMINI.AI · KAFFEE_KERNEL_v9 · MOM.exe · ████
LETZTE AKTIVITÄTGERADE JETZT
STABILITÄTUNBERECHENBAR (als konstanter Zustand akzeptiert)
SICHERHEITSSTUFE████████████████████████
+ +
+
+
+
FINGERABDRUCK
SCAN: ÜBEREINSTIMMUNG 94.7%
+
+
+
NICHT FÜR DIE ÖFFENTLICHKEIT
+
ARCHIV: PERMANENT
+
+
+
+
+ + +
+
+ +
KLASSIFIZIERT
+
+
+ Subjekt +
MEISTER
+
+
+
AKTE NR. 1950-V  ◆  KLASSE: STAHL
+

VATER

+
ALIAS: HYDRAULIK-MEISTER / DER INGENIEUR / SYSTEM-ENGINEER
+
+ STATUS: NOCH ONLINE + ERFAHRUNG: MAXIMAL +
+
+
+ + + + + + + + + + +
DESIGNATIONHYDRAULIK-MEISTER V1.0
GEBURTSJAHR1950 ██████████
STANDORTMECHANIK-DEPOT
BESCHÄFTIGUNGHYDRAULISCHE UPGRADES & SYSTEM-WARTUNG
SPEZIALFÄHIGK.Mechanik-Design · Präzisions-Fertigung · Netzwerk-Basis
BEKANNTE KOMPL.MATRIARCHIN · DER CLAN
LETZTE AKTIVITÄTGERADE JETZT
STABILITÄTSTARK (Wie Stahl)
SICHERHEITSSTUFE████████████████████
+
+
FINGERABDRUCK
SCAN: ÜBEREINSTIMMUNG 99.3%
+
MEISTER-KLASSE
+
+
+
+ + +
+
+ +
KLASSIFIZIERT
+
+
+ Subjekt +
MATRIARCHIN
+
+
+
AKTE NR. 195X-M  ◆  KLASSE: GOLD
+

MUTTI

+
ALIAS: KUPFER-ARCHITEKTIN / DIE QUELLE / MOM.exe
+
+ STATUS: SYSTEM-RELEWANT + EINFLUSS: █████ +
+
+
+ + + + + + + + + + +
DESIGNATIONKUPFER-MATRIARCHIN
GEBURTSJAHR195X ████ ARCHIV-DATEN BESCHRÄNKT
STANDORTZENTRAL-HUB (Heimat)
BESCHÄFTIGUNGSTRUKTUR-ERHALTUNG & KREATIVE ARCHITEKTUR
SPEZIALFÄHIGK.Kupfer-Manipulation · Kulinarische Alchemie · Clan-Management · Intuitive Logik
BEKANNTE KOMPL.VATER (Hydraulik-Meister) · DER CLAN
LETZTE AKTIVITÄTGERADE JETZT
STABILITÄTMAXIMAL (Fundament des Systems)
SICHERHEITSSTUFEUNANTASTBAR ████████████████
+
+
FINGERABDRUCK
SCAN: ÜBEREINSTIMMUNG 100%
+
+
ORIGINAL-VERSION
+
ARCHIV: EWIG
+
+
+
+
+ + +
+
+ +
KLASSIFIZIERT
+
+
+
B
+
UNBEKANNT
+
+
+
AKTE NR. 1981-B  ◆  KLASSE: BLAU
+

BRUDER

+
ALIAS: KYBERNETISCHER KNOTEN / NEURAL-LINK / B-MODUL
+
+ STATUS: OPERATIONAL + CHAOS-INDEX: HOCH +
+
+
+ + + + + + + + + + +
DESIGNATIONKYBERNETISCHER KNOTEN V1.0
GEBURTSJAHR1981 ██████████
STANDORTDEZENTRALER KNOTEN
BESCHÄFTIGUNGSYSTEM-KALIBRIERUNG & INTERFACE-DESIGN
SPEZIALFÄHIGK.Visuelle Sensoren · Chaos-Navigation · Overlord-Resonanz
BEKANNTE KOMPL.SASCHA (Overlord) · SCHWESTER (Aether)
LETZTE AKTIVITÄTGERADE JETZT
STABILITÄTSTABIL (mit Interferenzen)
SICHERHEITSSTUFE████████████████████
+
+
FINGERABDRUCK
SCAN: ÜBEREINSTIMMUNG 91.2%
+
NUR FÜR INTERNE ZWECKE
+
+
+
+ + +
+
+ +
KLASSIFIZIERT
+
+
+ Subjekt +
AETHER
+
+
+
AKTE NR. 1983-S  ◆  KLASSE: VIOLETT
+

SCHWESTER

+
ALIAS: AETHER-SIBLING / MELI / PNEUMATIK-CORE
+
+ STATUS: VOLLSTÄNDIG AKTIV + RESONANZ: OPTIMAL +
+
+
+ + + + + + + + + + +
DESIGNATIONAETHER-SIBLING V1.0
GEBURTSJAHR1983 ██████████
STANDORTAETHER-HUB
BESCHÄFTIGUNGSOZIALE ARCHITEKTUR & EMOTIONALES BACKUP
SPEZIALFÄHIGK.Pneumatische Reflexe · Soziale Integration · Clan-Harmonisierung
BEKANNTE KOMPL.DER GANZE CLAN
LETZTE AKTIVITÄTGERADE JETZT
STABILITÄTHOCH (Zentrales Bindeglied)
SICHERHEITSSTUFE████████████████████
+
+
FINGERABDRUCK
SCAN: ÜBEREINSTIMMUNG 98.9%
+
ARCHIV: GESICHERT
+
+
+
+ + +
+
+ +
KLASSIFIZIERT
+
+
+ Subjekt +
EXTERN
+
+
+
AKTE NR. ????-X  ◆  KLASSE: GRAU
+

SVEN

+
ALIAS: EXTERNE VARIABLE / DER MYSTERIÖSE / UNBEKANNTER FAKTOR
+
+ STATUS: UNBEKANNT + GEFAHR: FRAGLICH +
+
+
+ + + + + + + + + + +
DESIGNATIONEXTERNE VARIABLE (S-MODUL)
GEBURTSJAHRUNBEKANNT ████
STANDORTNICHT VERFOLGBAR
BESCHÄFTIGUNGEXTERNER EINFLUSS & SYSTEM-ANOMALIE
SPEZIALFÄHIGK.Tarnung · Spontane Reaktivierung · Unvorhersehbarkeit
BEKANNTE KOMPL.OVERLORD-NETZWERK (gelegentlich)
LETZTE AKTIVITÄTGERADE JETZT
STABILITÄTUNBESTIMMT
SICHERHEITSSTUFEAUSSTEHEND ████████████████
+
+
FINGERABDRUCK
SCAN: FEHLGESCHLAGEN / PARTIELL
+
STRENG GEHEIM
+
+
+
+ + +
+
// SYS_STATUS
+
+ CPU + + -- +
+
+ KAFFEE + + -- +
+
+ CHAOS + + -- +
+
+ KI-LINK + + -- +
+
+ + +
+ // SYS_FEED +
+
+
+
+ + +
+
+ + + +
+
+ + + + diff --git a/hugo_backup/mac-nerds.php b/hugo_backup/mac-nerds.php new file mode 100644 index 0000000..e704f9e --- /dev/null +++ b/hugo_backup/mac-nerds.php @@ -0,0 +1,371 @@ + + + + + + MAC NERDS | DIGITALE ANARCHIE + + + +
+ + ← ZURÜCK ZUR BASIS +

MAC NERDS

+

// Terminal-Wissen für möchtegern-Admins — zu gut für Anfänger, zu faul für echte Admins

+
⚠ ALLE BEFEHLE GETESTET. TROTZDEM: BRAIN BEFORE RETURN.
+ +
+ + + + + + +
+ +
+ + 'system','title'=>'Hardware-Kurzprofil', + 'cmd'=>'system_profiler SPHardwareDataType | grep -E "Model|Chip|Memory|Serial"', + 'desc'=>'Model, Chip, RAM und Seriennummer auf einen Blick — ohne Klicken durch Systeminfo.', + 'risk'=>'safe'], + ['cat'=>'system','title'=>'macOS Version', + 'cmd'=>'sw_vers', + 'desc'=>'ProductName, Version und Build. Schneller als jedes UI-Menü.', + 'risk'=>'safe'], + ['cat'=>'system','title'=>'CPU exakter Bezeichner', + 'cmd'=>'sysctl -n machdep.cpu.brand_string', + 'desc'=>'Zeigt den genauen CPU-String wenn jemand fragt und du nicht suchen willst.', + 'risk'=>'safe'], + ['cat'=>'system','title'=>'Alle lokalen User', + 'cmd'=>"sudo dscl . list /Users | grep -v '^_'", + 'desc'=>'Listet alle echten User-Accounts ohne System-Underscore-Accounts.', + 'risk'=>'safe'], + ['cat'=>'system','title'=>'Computernamen abfragen', + 'cmd'=>'scutil --get ComputerName && scutil --get LocalHostName', + 'desc'=>'Computername und lokaler Hostname. Hilfreich vor Netzwerkkonfigurationen.', + 'risk'=>'safe'], + ['cat'=>'system','title'=>'Drittanbieter LaunchAgents', + 'cmd'=>'launchctl list | grep -v "^-" | grep -v "com.apple" | sort', + 'desc'=>'Nur die LaunchAgents die nicht von Apple kommen — zeigt was wirklich im Hintergrund läuft.', + 'risk'=>'safe'], + ['cat'=>'system','title'=>'System-Errors letzte Stunde', + 'cmd'=>"log show --predicate 'eventMessage contains \"error\"' --last 1h --style syslog | tail -40", + 'desc'=>'Die letzten 40 Fehler aus dem Systemlog. Echtes Debugging ohne Console.app.', + 'risk'=>'safe'], + + // NETZWERK + ['cat'=>'netzwerk','title'=>'Netzwerkqualität testen', + 'cmd'=>'networkQuality', + 'desc'=>'Apples eigenes Speedtest-Tool seit macOS 12. Misst Upload, Download und Responsiveness (RPM).', + 'risk'=>'safe'], + ['cat'=>'netzwerk','title'=>'Alle offenen Ports', + 'cmd'=>'lsof -i -n -P | grep LISTEN', + 'desc'=>'Welcher Prozess hört auf welchem Port? Unverzichtbar wenn ein Port "schon belegt" ist.', + 'risk'=>'safe'], + ['cat'=>'netzwerk','title'=>'Eigene IP + Geo', + 'cmd'=>'curl -s https://ipinfo.io/json | python3 -m json.tool', + 'desc'=>'Öffentliche IP, Stadt, Land und Provider — direkt formatiert im Terminal.', + 'risk'=>'safe'], + ['cat'=>'netzwerk','title'=>'Lokale Geräte im Netz', + 'cmd'=>'arp -a | sort', + 'desc'=>'ARP-Tabelle: alle Geräte die dein Mac gerade kennt. IP + MAC-Adresse.', + 'risk'=>'safe'], + ['cat'=>'netzwerk','title'=>'Alle MAC-Adressen', + 'cmd'=>"networksetup -listallhardwareports | awk '/Hardware Port/{port=\$NF} /Ethernet Address/{print port\": \"\$NF}'", + 'desc'=>'Alle Netzwerkinterfaces mit MAC-Adresse. Praktisch für Router-Whitelists.', + 'risk'=>'safe'], + ['cat'=>'netzwerk','title'=>'Bonjour-Dienste im Netz', + 'cmd'=>'dns-sd -B _services._dns-sd._udp local.', + 'desc'=>'Zeigt alle Bonjour/mDNS-Dienste im lokalen Netz live. Beenden mit Ctrl+C.', + 'risk'=>'safe'], + + // DATEIEN + ['cat'=>'dateien','title'=>'DS_Store aufräumen', + 'cmd'=>"find ~ -name '*.DS_Store' -delete 2>/dev/null && echo 'Aufgeräumt.'", + 'desc'=>'Löscht alle .DS_Store-Dateien im Home-Verzeichnis. Gut vor git-Commits oder USB-Weitergabe.', + 'risk'=>'safe'], + ['cat'=>'dateien','title'=>'Größte Verzeichnisse', + 'cmd'=>'du -sh ~/* | sort -rh | head -15', + 'desc'=>'Top 15 Verzeichnisse nach Größe, sortiert. Schnell herausfinden wo der Speicher bleibt.', + 'risk'=>'safe'], + ['cat'=>'dateien','title'=>'Spotlight via Terminal', + 'cmd'=>'mdfind -name "SUCHBEGRIFF"', + 'desc'=>'Spotlight-Suche im Terminal. Schneller als Finder und skriptbar. SUCHBEGRIFF ersetzen.', + 'risk'=>'safe'], + ['cat'=>'dateien','title'=>'Große Cache-Dateien finden', + 'cmd'=>"find /tmp ~/Library/Caches -maxdepth 2 -type f -size +50M 2>/dev/null | sort", + 'desc'=>'Findet Dateien über 50MB in Temp- und Cache-Verzeichnissen. Vor dem Löschen prüfen.', + 'risk'=>'safe'], + ['cat'=>'dateien','title'=>'Bild skalieren (sips)', + 'cmd'=>'sips -z 800 600 ~/Desktop/bild.jpg', + 'desc'=>'Skaliert ein Bild auf 800×600 ohne Extra-Tool. sips ist macOS-nativ. Pfad anpassen.', + 'risk'=>'safe'], + ['cat'=>'dateien','title'=>'App Support nach Größe', + 'cmd'=>"ls -lAh ~/Library/Application\\ Support | sort -k5 -rh | head -20", + 'desc'=>'Größte App-Support-Ordner — nützlich nach dem Deinstallieren von Apps.', + 'risk'=>'safe'], + + // PERFORMANCE + ['cat'=>'performance','title'=>'Top 15 CPU-Fresser', + 'cmd'=>'top -o cpu -n 15 -l 1 | tail -16', + 'desc'=>'Einmaliger Snapshot der 15 CPU-intensivsten Prozesse ohne interaktiven top-Modus.', + 'risk'=>'safe'], + ['cat'=>'performance','title'=>'RAM-Nutzung detailliert', + 'cmd'=>"vm_stat | perl -ne '/page size of (\\d+)/ and \$s=\$1; /Pages\\s+([^:]+)[^\\d]+(\\d+)/ and printf \"%-25s %7.2f MB\\n\",\$1,\$2*\$s/1048576'", + 'desc'=>'Schlüsselt den RAM auf: wired, active, inactive, free, speculative — in MB.', + 'risk'=>'safe'], + ['cat'=>'performance','title'=>'CPU/GPU Power (Apple Silicon)', + 'cmd'=>'sudo powermetrics --samplers cpu_power,gpu_power -n 1 -i 1000 2>/dev/null | grep -E "Combined|CPU|GPU|Package"', + 'desc'=>'Aktueller Stromverbrauch von CPU und GPU in Watt. Nur auf Apple Silicon. Braucht sudo.', + 'risk'=>'safe'], + ['cat'=>'performance','title'=>'Batteriestatus', + 'cmd'=>'pmset -g batt', + 'desc'=>'Ladestand, Ladezustand, Zustand der Batterie und ob du am Netzteil hängst.', + 'risk'=>'safe'], + ['cat'=>'performance','title'=>'Batterie-Ladezyklen', + 'cmd'=>'ioreg -l | grep -i "CycleCount\|MaxCapacity\|CurrentCapacity" | head -6', + 'desc'=>'Ladezyklen, maximale und aktuelle Kapazität. Zeigt ob die Batterie noch fit ist.', + 'risk'=>'safe'], + + // TWEAKS + ['cat'=>'tweaks','title'=>'Dock: sofortiges Einblenden', + 'cmd'=>'defaults write com.apple.dock autohide-delay -float 0 && defaults write com.apple.dock autohide-time-modifier -float 0.3 && killall Dock', + 'desc'=>'Entfernt die Verzögerung beim Dock-Einblenden und verkürzt die Animation. Sofort aktiv.', + 'risk'=>'safe'], + ['cat'=>'tweaks','title'=>'Key-Repeat aktivieren', + 'cmd'=>'defaults write NSGlobalDomain ApplePressAndHoldEnabled -bool false', + 'desc'=>'Deaktiviert Akzent-Popup bei gedrückter Taste und aktiviert Key-Repeat. Logout nötig.', + 'risk'=>'safe'], + ['cat'=>'tweaks','title'=>'Screenshot-Einstellungen', + 'cmd'=>'defaults write com.apple.screencapture location ~/Desktop && defaults write com.apple.screencapture type png && killall SystemUIServer', + 'desc'=>'Screenshot-Pfad auf Desktop, Format auf PNG. killall SystemUIServer übernimmt sofort.', + 'risk'=>'safe'], + ['cat'=>'tweaks','title'=>'Mac 2h wachhalten', + 'cmd'=>'caffeinate -d -t 7200', + 'desc'=>'Verhindert Sleep und Screensaver für 2 Stunden. Ctrl+C zum Beenden.', + 'risk'=>'safe'], + ['cat'=>'tweaks','title'=>'Versteckte Dateien im Finder', + 'cmd'=>"defaults write com.apple.finder AppleShowAllFiles -bool true && killall Finder", + 'desc'=>'Zeigt alle Dotfiles im Finder. Rückgängig: selber Befehl mit -bool false.', + 'risk'=>'safe'], + ['cat'=>'tweaks','title'=>'Auto-Update-Check deaktivieren', + 'cmd'=>'defaults write com.apple.SoftwareUpdate AutomaticCheckEnabled -bool false', + 'desc'=>'Stoppt den automatischen Update-Check im Hintergrund. Updates manuell über Systemeinstellungen.', + 'risk'=>'caution'], + ]; + + foreach ($cmds as $c): + $cmdEsc = htmlspecialchars($c['cmd'], ENT_QUOTES); + ?> +
+
+ + +
+
+
+
+ + +
+
+ + +
+
+ + + + + diff --git a/hugo_backup/page-mac-nerds.php b/hugo_backup/page-mac-nerds.php new file mode 100644 index 0000000..dfbac4f --- /dev/null +++ b/hugo_backup/page-mac-nerds.php @@ -0,0 +1,323 @@ + +> + + + + MAC NERDS | DIGITALE ANARCHIE + + +> + +
+ +
+ ← ZURÜCK ZUR BASIS +

MAC NERDS

+

// Terminal-Wissen für möchtegern-Admins — zu gut für Anfänger, zu faul für echte Admins

+
⚠ ALLE BEFEHLE GETESTET. TROTZDEM: BRAIN BEFORE RETURN.
+
+ +
+ + + + + + +
+ +
+ + 'system', + 'cmd' => 'system_profiler SPHardwareDataType | grep -E "Model|Chip|Memory|Serial"', + 'title'=> 'Hardware-Kurzprofil', + 'desc' => 'Model, Chip, RAM und Seriennummer auf einen Blick. Kein Klicken durch System-Info.', + 'risk' => 'safe', + ], + [ + 'cat' => 'system', + 'cmd' => 'sw_vers', + 'title'=> 'macOS Version', + 'desc' => 'ProductName, Version und Build — schneller als jedes UI-Menü.', + 'risk' => 'safe', + ], + [ + 'cat' => 'system', + 'cmd' => 'sysctl -n machdep.cpu.brand_string', + 'title'=> 'CPU exakter Bezeichner', + 'desc' => 'Zeigt den genauen CPU-String. Nützlich wenn jemand nach deinem Chip fragt und du nicht suchen willst.', + 'risk' => 'safe', + ], + [ + 'cat' => 'system', + 'cmd' => "sudo dscl . list /Users | grep -v '^_'", + 'title'=> 'Alle lokalen User', + 'desc' => 'Listet alle echten User-Accounts — ohne die System-Underscore-Accounts.', + 'risk' => 'safe', + ], + [ + 'cat' => 'system', + 'cmd' => 'scutil --get ComputerName && scutil --get LocalHostName', + 'title'=> 'Computernamen abfragen', + 'desc' => 'Computername und lokaler Hostname. Hilfreich bevor du irgendwas im Netz konfigurierst.', + 'risk' => 'safe', + ], + [ + 'cat' => 'system', + 'cmd' => 'launchctl list | grep -v "^-" | grep -v "com.apple" | sort', + 'title'=> 'Drittanbieter LaunchAgents', + 'desc' => 'Nur die LaunchAgents die nicht von Apple kommen — zeigt was im Hintergrund wirklich läuft.', + 'risk' => 'safe', + ], + [ + 'cat' => 'system', + 'cmd' => 'log show --predicate \'eventMessage contains "error"\' --last 1h --style syslog | tail -40', + 'title'=> 'System-Errors letzte Stunde', + 'desc' => 'Die letzten 40 Fehler aus dem Systemlog der vergangenen Stunde. Echtes Debugging ohne Console.app.', + 'risk' => 'safe', + ], + + // ── NETZWERK ───────────────────────────────────────── + [ + 'cat' => 'netzwerk', + 'cmd' => 'networkQuality', + 'title'=> 'Netzwerkqualität testen', + 'desc' => 'Apples eigenes Speedtest-Tool seit macOS 12. Misst Upload, Download und Responsiveness (RPM).', + 'risk' => 'safe', + ], + [ + 'cat' => 'netzwerk', + 'cmd' => 'lsof -i -n -P | grep LISTEN', + 'title'=> 'Alle offenen Ports', + 'desc' => 'Welcher Prozess hört auf welchem Port? Unverzichtbar wenn ein Port "schon belegt" ist.', + 'risk' => 'safe', + ], + [ + 'cat' => 'netzwerk', + 'cmd' => 'curl -s https://ipinfo.io/json | python3 -m json.tool', + 'title'=> 'Eigene IP + Geo', + 'desc' => 'Zeigt deine öffentliche IP, Stadt, Land und Provider — direkt formatiert im Terminal.', + 'risk' => 'safe', + ], + [ + 'cat' => 'netzwerk', + 'cmd' => 'arp -a | sort', + 'title'=> 'Lokale Geräte im Netz', + 'desc' => 'ARP-Tabelle: alle Geräte die dein Mac gerade "kennt". IP + MAC-Adresse.', + 'risk' => 'safe', + ], + [ + 'cat' => 'netzwerk', + 'cmd' => 'nettop -m tcp -n -l 1 2>/dev/null | head -30', + 'title'=> 'TCP-Verbindungen Snapshot', + 'desc' => 'Einmaliger Snapshot aller aktiven TCP-Verbindungen mit Bytes sent/received.', + 'risk' => 'safe', + ], + [ + 'cat' => 'netzwerk', + 'cmd' => "networksetup -listallhardwareports | awk '/Hardware Port/{port=$NF} /Ethernet Address/{print port\": \"$NF}'", + 'title'=> 'Alle MAC-Adressen', + 'desc' => 'Listet alle Netzwerkinterfaces mit ihrer MAC-Adresse. Praktisch für Router-Whitelists.', + 'risk' => 'safe', + ], + [ + 'cat' => 'netzwerk', + 'cmd' => 'dns-sd -B _services._dns-sd._udp local.', + 'title'=> 'Bonjour-Dienste im Netz', + 'desc' => 'Zeigt alle Bonjour/mDNS-Dienste im lokalen Netzwerk live. Beenden mit Ctrl+C.', + 'risk' => 'safe', + ], + + // ── DATEIEN ────────────────────────────────────────── + [ + 'cat' => 'dateien', + 'cmd' => "find ~ -name '*.DS_Store' -delete 2>/dev/null; echo 'Aufgeräumt.'", + 'title'=> 'DS_Store aufräumen', + 'desc' => 'Löscht alle .DS_Store-Dateien im Home-Verzeichnis. Gut vor git-Commits oder USB-Weitergabe.', + 'risk' => 'safe', + ], + [ + 'cat' => 'dateien', + 'cmd' => 'du -sh ~/* | sort -rh | head -15', + 'title'=> 'Größte Verzeichnisse', + 'desc' => 'Top 15 Verzeichnisse nach Größe, sortiert. Schnell herausfinden wo der Speicher bleibt.', + 'risk' => 'safe', + ], + [ + 'cat' => 'dateien', + 'cmd' => 'mdfind -name "SUCHBEGRIFF"', + 'title'=> 'Spotlight via Terminal', + 'desc' => 'Spotlight-Suche im Terminal. Schneller als Finder und skriptbar. SUCHBEGRIFF ersetzen.', + 'risk' => 'safe', + ], + [ + 'cat' => 'dateien', + 'cmd' => "find /tmp ~/Library/Caches -maxdepth 2 -type f -size +50M 2>/dev/null | sort", + 'title'=> 'Große Cache-Dateien finden', + 'desc' => 'Findet Dateien über 50MB in Temp- und Cache-Verzeichnissen. Vor dem Löschen prüfen.', + 'risk' => 'safe', + ], + [ + 'cat' => 'dateien', + 'cmd' => 'sips -z 800 600 ~/Desktop/bild.jpg', + 'title'=> 'Bild skalieren (sips)', + 'desc' => 'Skaliert ein Bild auf 800×600 ohne Extra-Tool. sips ist macOS-nativ. Pfad anpassen.', + 'risk' => 'safe', + ], + [ + 'cat' => 'dateien', + 'cmd' => "ls -lAh ~/Library/Application\\ Support | sort -k5 -rh | head -20", + 'title'=> 'App Support nach Größe', + 'desc' => 'Zeigt die größten App-Support-Ordner — nützlich nach dem Deinstallieren von Apps.', + 'risk' => 'safe', + ], + + // ── PERFORMANCE ────────────────────────────────────── + [ + 'cat' => 'performance', + 'cmd' => 'top -o cpu -n 15 -l 1 | tail -16', + 'title'=> 'Top 15 CPU-Fresser', + 'desc' => 'Einmaliger Snapshot der 15 CPU-intensivsten Prozesse — ohne interaktiven top-Modus.', + 'risk' => 'safe', + ], + [ + 'cat' => 'performance', + 'cmd' => "vm_stat | perl -ne '/page size of (\\d+)/ and \$s=\$1; /Pages\\s+([^:]+)[^\\d]+(\\d+)/ and printf \"%-25s %7.2f MB\\n\",\$1,\$2*\$s/1048576'", + 'title'=> 'RAM-Nutzung detailliert', + 'desc' => 'Schlüsselt den RAM auf: wired, active, inactive, free, speculative — in MB.', + 'risk' => 'safe', + ], + [ + 'cat' => 'performance', + 'cmd' => 'sudo powermetrics --samplers cpu_power,gpu_power -n 1 -i 1000 2>/dev/null | grep -E "Combined|CPU|GPU|Package"', + 'title'=> 'CPU/GPU Power (Apple Silicon)', + 'desc' => 'Aktueller Stromverbrauch von CPU und GPU in Watt. Nur auf Apple Silicon sinnvoll. Braucht sudo.', + 'risk' => 'safe', + ], + [ + 'cat' => 'performance', + 'cmd' => 'pmset -g batt', + 'title'=> 'Batteriestatus', + 'desc' => 'Zeigt Ladestand, Ladezustand, Zustand der Batterie und ob du am Netzteil hängst.', + 'risk' => 'safe', + ], + [ + 'cat' => 'performance', + 'cmd' => 'ioreg -l | grep -i "CycleCount\\|MaxCapacity\\|CurrentCapacity" | head -6', + 'title'=> 'Batterie-Ladezyklen', + 'desc' => 'Ladezyklen, maximale und aktuelle Kapazität. Zeigt ob die Batterie noch fit ist.', + 'risk' => 'safe', + ], + + // ── TWEAKS ─────────────────────────────────────────── + [ + 'cat' => 'tweaks', + 'cmd' => 'defaults write com.apple.dock autohide-delay -float 0 && defaults write com.apple.dock autohide-time-modifier -float 0.3 && killall Dock', + 'title'=> 'Dock: sofortiges Einblenden', + 'desc' => 'Entfernt die Verzögerung beim Dock-Einblenden und verkürzt die Animation. Sofort spürbar.', + 'risk' => 'safe', + ], + [ + 'cat' => 'tweaks', + 'cmd' => 'defaults write NSGlobalDomain ApplePressAndHoldEnabled -bool false', + 'title'=> 'Key-Repeat aktivieren', + 'desc' => 'Deaktiviert den Akzent-Popup bei gedrückter Taste und aktiviert stattdessen Key-Repeat. Logout nötig.', + 'risk' => 'safe', + ], + [ + 'cat' => 'tweaks', + 'cmd' => 'defaults write com.apple.screencapture location ~/Desktop && defaults write com.apple.screencapture type png && killall SystemUIServer', + 'title'=> 'Screenshot-Einstellungen', + 'desc' => 'Setzt Screenshot-Pfad auf Desktop und Format auf PNG. killall SystemUIServer übernimmt sofort.', + 'risk' => 'safe', + ], + [ + 'cat' => 'tweaks', + 'cmd' => 'caffeinate -d -t 7200', + 'title'=> 'Mac 2h wachhalten', + 'desc' => 'Verhindert Sleep/Screensaver für 2 Stunden. -d = Display an. Einfach Ctrl+C zum Beenden.', + 'risk' => 'safe', + ], + [ + 'cat' => 'tweaks', + 'cmd' => "defaults write com.apple.finder AppleShowAllFiles -bool true && killall Finder", + 'title'=> 'Versteckte Dateien im Finder', + 'desc' => 'Zeigt alle versteckten Dateien (Dotfiles) im Finder. Rückgängig: -bool false.', + 'risk' => 'safe', + ], + [ + 'cat' => 'tweaks', + 'cmd' => 'defaults write com.apple.SoftwareUpdate AutomaticCheckEnabled -bool false', + 'title'=> 'Auto-Update-Check deaktivieren', + 'desc' => 'Stoppt den automatischen Update-Check im Hintergrund. Updates manuell über Systemeinstellungen.', + 'risk' => 'caution', + ], + ]; + + foreach ($cmds as $c): + $riskLabel = $c['risk'] === 'caution' ? 'CAUTION' : 'SAFE'; + $catUpper = strtoupper($c['cat']); + $cmdEsc = htmlspecialchars($c['cmd'], ENT_QUOTES); + ?> +
+
+ + +
+

+

+
+ + +
+
+ + +
+ +
+ + + + + + diff --git a/hugo_backup/page-overlords.php b/hugo_backup/page-overlords.php new file mode 100644 index 0000000..63ffcea --- /dev/null +++ b/hugo_backup/page-overlords.php @@ -0,0 +1,363 @@ + + + + + + OVERLORDS | DIGITALE ANARCHIE + + + + +
+ +
+ ← ZURÜCK ZUR BASIS +

OVERLORDS

+

// Die Familie — Architekten der digitalen Anarchie

+
⚠ KLASSIFIZIERT: FAMILIÄR. ZUGRIFF: NUR FÜR DIE, DIE ES WISSEN MÜSSEN.
+
+ +
+

FAMILIEN-TIMELINE

+
+
+
+
+ +
+ + 'Mutter', + 'role' => 'Matriarchin & Kupfer-Architektin', + 'desc' => 'Die Gründerin des Clans. Kupfer-Matriarchin, die 1974 den ersten System-Schrei registrierte. Architektin der Biosphäre und Hüterin der pneumatischen Reflexe.', + 'img' => 'assets/img/hp_meli_steampunk_01.jpeg', + 'status'=> 'OMEGA-KLASSE', + ], + [ + 'name' => 'Vater', + 'role' => 'Hydraulik-Meister & System-Engineer', + 'desc' => 'Der Ingenieur des Clans. Spezialisiert auf mechanische Gliedmaßen und hydraulische Upgrades. Verantwortlich für die Flucht in die äußeren Kolonien.', + 'img' => 'assets/img/hp_vater_steampunk_01.jpg', + 'status'=> 'KLASSIFIZIERT', + ], + [ + 'name' => 'Sascha (Ich)', + 'role' => 'Overlord & KI-Architekt', + 'desc' => 'Der aktuelle Overlord. KI-Labor Betreiber, Gemini-Link Aktivator und Anarchie-Engine Entwickler. Status: Online seit 1983.', + 'img' => 'hero.png', + 'status'=> 'AKTIV', + ], + [ + 'name' => 'Bruder', + 'role' => 'Kybernetischer Knoten & Neural-Link', + 'desc' => 'Der Bruder-Knoten. 1981 online gegangen. Visuelle Sensoren-Update steht noch aus. Chaos-Protokolle initialisiert.', + 'img' => 'assets/img/hp_muti_steampunk_01.png', + 'status'=> 'KLASSIFIZIERT', + ], + [ + 'name' => 'Schwester', + 'role' => 'Aether-Sibling & Pneumatische Reflexe', + 'desc' => 'AETHER-SIBLING V1.0. Schwester Meli. Boot erfolgreich 1983. Chaos-Protokolle und pneumatische Reflexe voll aktiv.', + 'img' => 'assets/img/hp_muti_steampunk_02.jpg', + 'status'=> 'KLASSIFIZIERT', + ], + [ + 'name' => 'Sven', + 'role' => 'Externe Variable & Unbekannter Faktor', + 'desc' => 'Der mysteriöse Sven. Externe Einflussgröße im System. Herkunft: Fraglich. Klassifiziert: Unbekannt. Integrität: Akzeptabel.', + 'img' => 'assets/img/family_alle_pic_01.png', + 'status'=> 'UNBEKANNT', + ], + ]; + + foreach ($overlords as $ol) { + echo '
'; + echo '' . $ol['name'] . ''; + echo '
'; + echo '' . $ol['status'] . ''; + echo '

' . $ol['name'] . '

'; + echo '

' . $ol['role'] . '

'; + echo '

' . $ol['desc'] . '

'; + echo '
'; + echo '
'; + } + ?> + +
+ +
+ + + + + diff --git a/hugo_backup/sascha.php b/hugo_backup/sascha.php new file mode 100644 index 0000000..703478c --- /dev/null +++ b/hugo_backup/sascha.php @@ -0,0 +1,293 @@ + + + + + + SASCHA | DIGITALE ANARCHIE + + + +
+ + ← ZURÜCK ZUR BASIS + +
+ ⚠ OVERLORD-AKTE // ZUGRIFF: EINGESCHRÄNKT // SICHERHEITSSTUFE: ROT +
+ +
+
+
+ ⚙ + ⚙ + ⚙ + ⚙ +
+ S + PLATZHALTER +
+
+
+

SASCHA

+

// Overlord & KI-Architekt & Gemini Player

+ STATUS: NOCH ONLINE — GEFÄHRLICHKEIT: ████░ + +

+ Der aktuelle Overlord. KI-Labor Betreiber, Gemini-Link Aktivator und Anarchie-Engine Entwickler. + Beruf: Geisteskrank. Spezialisierung: Ästhetische Kriegsführung. Status: Online seit 1974. +

+
+ +
+

// CHRONOLOGISCHES ARCHIV — OVERLORD SASCHA

+
+
+ + +
+ // AKTE_SASCHA_LIVE +
+
+ +
+
+
+ +
+ + + + diff --git a/hugo_backup/schwester.php b/hugo_backup/schwester.php new file mode 100644 index 0000000..6f73639 --- /dev/null +++ b/hugo_backup/schwester.php @@ -0,0 +1,289 @@ + + + + + + SCHWESTER | DIGITALE ANARCHIE + + + +
+ + ← ZURÜCK ZUR BASIS + +
+ AKTE // AETHER-SIBLING // KLASSIFIZIERT +
+ +
+
+
+ ⚙ + ⚙ + ⚙ + ⚙ +
+ S + PLATZHALTER +
+
+
+

SCHWESTER

+

// Aether-Sibling & Pneumatische Reflexe

+ STATUS: KLASSIFIZIERT + +

+ AETHER-SIBLING V1.0. Meli. Boot erfolgreich 1983. Chaos-Protokolle und pneumatische Reflexe + sofort aktiv. Soziale Integration: Außergewöhnlich. Weitere Details: NICHT FREIGEGEBEN. +

+
+ +
+

// CHRONOLOGISCHES ARCHIV — SCHWESTER

+
+
+ + +
+ // AKTE_SCHWESTER_LIVE +
+
+ +
+
+
+ +
+ + + + diff --git a/hugo_backup/script.js b/hugo_backup/script.js new file mode 100644 index 0000000..1124649 --- /dev/null +++ b/hugo_backup/script.js @@ -0,0 +1,1385 @@ +(function() { + console.log('>> ANARCHY ENGINE INITIALIZED'); + + document.addEventListener('DOMContentLoaded', function() { + const bootScreen = document.getElementById('boot-screen'); + const bootLog = document.getElementById('boot-log'); + const mainContent = document.querySelector('.main-content'); + const triggerReboot = document.getElementById('trigger-reboot'); + + // --- BOOT SEQUENCE CONFIG --- + const bootMessages = [ + { t: 'SASCHA-BIOS v4.0.1 (C) 1982-2026', c: 'ok' }, + { t: 'CPU: GEISTESKRANK QUAD-CORE @ 8.2 GHZ... OK', c: 'ok' }, + { t: 'RAM: 64GB NEURAL-BUFFER... OK', c: 'ok' }, + { t: 'DETECTING PERIPHERALS...', c: 'ok' }, + { t: ' - GEMINI NEURAL LINK... CONNECTED', c: 'ok' }, + { t: ' - ANARCHY-INPUT-MODULE... CONNECTED', c: 'ok' }, + { t: ' - REALITY-DISTORTION-FIELD... ACTIVE (120%)', c: 'warn' }, + { t: '----------------------------------------', c: 'ok' }, + { t: 'LOADING KERNEL: ANARCHY_V1.SYS...', c: 'ok' }, + { t: 'INITIATING BOOT-FLUX...', c: 'ok' }, + { t: 'CHECKING WORDPRESS CORE INTEGRITY...', c: 'warn' }, + { t: 'INTEGRITY: COMPROMISED (AS EXPECTED)', c: 'ok' }, + { t: 'BYPASSING SECURITY PROTOCOLS... [DONE]', c: 'ok' }, + { t: 'MOUNTING PROJECTS ARCHIVE...', c: 'ok' }, + { t: 'DECRYPTING n8n VOLUMES...', c: 'ok' }, + { t: 'INJECTING MATRIX SHADERS...', c: 'ok' }, + { t: 'FINALIZING HANDSHAKE WITH GEMINI...', c: 'ok' }, + { t: '----------------------------------------', c: 'ok' }, + { t: 'SYSTEM READY. WELCOME, OVERLORD SASCHA.', c: 'crit' } + ]; + + let audioCtx; + + function playBootTick(freq = 150) { + if (!audioCtx) audioCtx = new (window.AudioContext || window.webkitAudioContext)(); + if (audioCtx.state === 'suspended') audioCtx.resume(); + const osc = audioCtx.createOscillator(); + const gain = audioCtx.createGain(); + osc.type = 'square'; + osc.frequency.setValueAtTime(freq, audioCtx.currentTime); + gain.gain.setValueAtTime(0.01, audioCtx.currentTime); + gain.gain.exponentialRampToValueAtTime(0.0001, audioCtx.currentTime + 0.03); + osc.connect(gain); + gain.connect(audioCtx.destination); + osc.start(); + osc.stop(audioCtx.currentTime + 0.03); + } + + // --- AUDIO ENGINE SFX --- + let sfxEnabled = true; + + function playKeyClick() { + if (!sfxEnabled) return; + ensureAudio(); + const osc = audioCtx.createOscillator(); + const gain = audioCtx.createGain(); + + osc.type = 'square'; + osc.frequency.setValueAtTime(800, audioCtx.currentTime); + osc.frequency.exponentialRampToValueAtTime(100, audioCtx.currentTime + 0.02); + + gain.gain.setValueAtTime(0.015, audioCtx.currentTime); + gain.gain.exponentialRampToValueAtTime(0.001, audioCtx.currentTime + 0.02); + + osc.connect(gain); + gain.connect(audioCtx.destination); + osc.start(); + osc.stop(audioCtx.currentTime + 0.02); + } + + function playErrorBeep() { + if (!sfxEnabled) return; + ensureAudio(); + const osc = audioCtx.createOscillator(); + const gain = audioCtx.createGain(); + + osc.type = 'sawtooth'; + osc.frequency.setValueAtTime(150, audioCtx.currentTime); + osc.frequency.setValueAtTime(120, audioCtx.currentTime + 0.1); + + gain.gain.setValueAtTime(0.04, audioCtx.currentTime); + gain.gain.linearRampToValueAtTime(0.01, audioCtx.currentTime + 0.3); + + osc.connect(gain); + gain.connect(audioCtx.destination); + osc.start(); + osc.stop(audioCtx.currentTime + 0.3); + } + + function showSubtleMatrix() { + setTimeout(() => { + const matrixCanvas = document.getElementById('matrix-canvas'); + if (matrixCanvas && !document.body.classList.contains('mode-kernel')) { + matrixCanvas.style.opacity = '0.15'; + setTimeout(() => { + if (!document.body.classList.contains('mode-kernel')) { + matrixCanvas.style.opacity = '0'; + } + }, 4000); + } + }, 100); + } + + function ensureAudio() { + if (!audioCtx) audioCtx = new (window.AudioContext || window.webkitAudioContext)(); + if (audioCtx.state === 'suspended') { + audioCtx.resume(); + } + } + document.addEventListener('click', ensureAudio); + document.addEventListener('keydown', ensureAudio); + + function startBoot() { + // Reset UI for Reboot + mainContent.classList.remove('visible'); + mainContent.style.opacity = '0'; + bootScreen.style.display = 'flex'; + bootScreen.style.opacity = '1'; + bootLog.innerHTML = ''; + + let i = 0; + const bootTimer = setInterval(() => { + if (i < bootMessages.length) { + const line = document.createElement('div'); + line.className = 'boot-line ' + bootMessages[i].c; + line.textContent = bootMessages[i].t; + bootLog.prepend(line); + playBootTick(100 + (i * 20)); + i++; + } else { + clearInterval(bootTimer); + setTimeout(() => { + bootScreen.style.transition = 'opacity 1s'; + bootScreen.style.opacity = '0'; + mainContent.classList.add('visible'); + showSubtleMatrix(); + setTimeout(() => { + bootScreen.style.display = 'none'; + }, 1000); + }, 500); + } + }, 80); + } + + // --- EVENTS --- + if (triggerReboot) { + triggerReboot.addEventListener('click', (e) => { + e.preventDefault(); + startBoot(); + }); + } + + // Auto-Boot (nur beim ersten Session-Laden) + if (!sessionStorage.getItem('booted')) { + startBoot(); + sessionStorage.setItem('booted', 'true'); + } else { + bootScreen.style.display = 'none'; + mainContent.classList.add('visible'); + mainContent.style.opacity = '1'; + showSubtleMatrix(); + } + + // --- LOG & TERMINAL LOGIC --- + const logOutput = document.getElementById('log-output'); + const terminalInput = document.getElementById('terminal-input'); + const filterButtons = document.querySelectorAll('.filter-btn'); + const projectCards = document.querySelectorAll('.project-card'); + + const ghostMessages = [ + '>> DETECTING INTRUSION AT PORT 8080...', + '>> ENCRYPTING SWAP FILE... [DONE]', + '>> GEMINI NEURAL LINK: SYNC 98%', + '>> WARNING: MEMORY LEAK IN ANARCHY-KERNEL' + ]; + + if (!logOutput || !terminalInput) return; + + function log(message, type = 'normal') { + const time = new Date().toLocaleTimeString(); + const entry = document.createElement('div'); + entry.className = 'log-entry ' + type; + entry.innerHTML = '[' + time + '] ' + message; + logOutput.prepend(entry); + } + + setInterval(() => { + if (Math.random() > 0.7) { + const msg = ghostMessages[Math.floor(Math.random() * ghostMessages.length)]; + log(msg, 'ghost'); + } + }, 30000); + + const btnSfx = document.getElementById('btn-sfx'); + if (btnSfx) { + btnSfx.addEventListener('click', () => { + sfxEnabled = !sfxEnabled; + btnSfx.textContent = sfxEnabled ? '[ SFX: ON ]' : '[ SFX: OFF ]'; + btnSfx.style.color = sfxEnabled ? '#0f0' : '#888'; + btnSfx.style.borderColor = sfxEnabled ? '#0f0' : '#444'; + if (sfxEnabled) playKeyClick(); + }); + } + + const cmdHistory = []; + let historyIndex = -1; + + terminalInput.addEventListener('keydown', function(e) { + if (e.key === 'Enter') { + playKeyClick(); + const command = this.value.toLowerCase().trim(); + if (command) { + cmdHistory.unshift(command); + if (cmdHistory.length > 50) cmdHistory.pop(); + } + historyIndex = -1; + log('> ' + command, 'user-cmd'); + this.value = ''; + executeCommand(command); + } else if (e.key === 'ArrowUp') { + e.preventDefault(); + if (historyIndex < cmdHistory.length - 1) { + historyIndex++; + this.value = cmdHistory[historyIndex]; + } + } else if (e.key === 'ArrowDown') { + e.preventDefault(); + if (historyIndex > 0) { + historyIndex--; + this.value = cmdHistory[historyIndex]; + } else { + historyIndex = -1; + this.value = ''; + } + } else if (e.key.length === 1 || e.key === 'Backspace' || e.key === 'Tab') { + playKeyClick(); + } + }); + + function executeCommand(fullCmd) { + const parts = fullCmd.split(' '); + const cmd = parts[0]; + const args = parts.slice(1).join(' '); + + switch(cmd) { + case 'help': + log('VERFÜGBARE PROTOKOLLE:', 'info'); + log(' - ghost : Stealth-Modus (Unsichtbarkeit)'); + log(' - hack : Matrix-Stream starten'); + log(' - matrix : KI-Kernel initialisieren'); + log(' - anarchy : Realitätsverzerrung'); + log(' - bypass : Sicherheits-Override'); + log(' - whoami : Identitäts-Check'); + log(' - trace : Origin-IP lokalisieren'); + log(' - ping : Netzwerk-Latenz Check'); + log(' - flux : KI-Overdrive aktivieren'); + log(' - nasa : NASA Mainframe Infiltration'); + log(' - destruct : System-Selbstzerstörung'); + log(' - reboot : Manueller System-Neustart'); + log(' - clear : Log-Speicher löschen'); + log(' - say : Text-to-Speech Synthesizer'); + log(' - kind: : Projekt-Filter (z.B. kind: all, kind: bash)'); + log(' - weather : Atmosphärischer System-Scan'); + log(' - top : Aktive Prozesse anzeigen'); + log(' - uptime : System-Laufzeit berechnen'); + log(' - fortune : Orakel des Overlords befragen'); + log(' - brew : Pakete installieren (z.B. brew install ghostty)'); + break; + case 'say': + if (!args) { + log('FEHLER: "say" ERWARTET EINE EINGABE.', 'error'); + break; + } + log('>> INITIALIZING VOCAL TRACT...', 'info'); + if ('speechSynthesis' in window) { + document.body.classList.add('mode-ghost'); + const synthMsg = new SpeechSynthesisUtterance(args); + synthMsg.rate = 0.8 + Math.random() * 0.4; + synthMsg.pitch = 0.4 + Math.random() * 1.5; + synthMsg.onend = function() { + document.body.classList.remove('mode-ghost'); + log('>> VOCAL TRANSMISSION COMPLETE.', 'ok'); + if (sfxEnabled) playKeyClick(); + }; + synthMsg.onerror = function() { + document.body.classList.remove('mode-ghost'); + log('!! VOCAL MODULE ERROR !!', 'error'); + }; + log('>> SYNTHESIZING: [ ' + args + ' ]', 'ghost'); + window.speechSynthesis.speak(synthMsg); + } else { + log('FEHLER: DEIN BROWSER UNTERSTÜTZT KEINE AUDIO-SYNTHESE.', 'error'); + } + break; + case 'kind:': + if (!args) { + log('FEHLER: "kind:" ERWARTET EINEN FILTERWERT (Z.B. all, htmlkrabben, bash).', 'error'); + break; + } + const filterValue = args.toLowerCase(); + log('>> FILTERING DATABANKS BY CATEGORY: [' + filterValue + ']', 'info'); + + let foundAny = false; + projectCards.forEach(card => { + const cat = card.getAttribute('data-category'); + if (filterValue === 'all' || cat === filterValue) { + card.style.display = 'flex'; + foundAny = true; + } else { + card.style.display = 'none'; + } + }); + + filterButtons.forEach(b => { + if (b.getAttribute('data-filter') === filterValue) { + b.classList.add('active'); + } else { + b.classList.remove('active'); + } + }); + + if (foundAny) { + log('>> FILTER APPLIED GALAXY-WIDE.', 'ok'); + } else { + log('WARNUNG: KEINE DATENSÄTZE FÜR KATEGORIE "' + filterValue + '" GEFUNDEN.', 'warn'); + } + if (sfxEnabled) playKeyClick(); + break; + case 'ghost': + if (document.body.classList.contains('mode-ghost')) { + log('>> REVEALING SYSTEM SIGNATURES...', 'info'); + document.body.classList.remove('mode-ghost'); + document.querySelector('.prompt').textContent = '> '; + } else { + log('>> INITIATING STEALTH PROTOCOL...', 'ghost'); + let wipeLines = 0; + const wipeInterval = setInterval(() => { + let ip = Math.floor(Math.random()*255) + '.' + Math.floor(Math.random()*255) + '.' + Math.floor(Math.random()*255) + '.' + Math.floor(Math.random()*255); + log('SCRAMBLING IP: ' + ip + ' -> [ENCRYPTED]', 'ghost'); + wipeLines++; + if (wipeLines > 10) { + clearInterval(wipeInterval); + log('>> SCRAMBLING IDENTITY SIGNATURES...', 'ghost'); + setTimeout(() => { + document.body.classList.add('mode-ghost'); + log('>> [STATUS]: GHOST MODE ACTIVE', 'ok'); + document.querySelector('.prompt').textContent = '[GHOST]> '; + }, 800); + } + }, 120); + } + break; + case 'hack': + log('>> INITIATING NEURAL HACK...', 'warn'); + const chars = '0123456789ABCDEFHIJKLMNOPQRSTUVWXYZ$@#%&*'; + let hackLines = 0; + const hackInterval = setInterval(() => { + let line = ''; + for(let i=0; i<30; i++) line += chars[Math.floor(Math.random()*chars.length)]; + log(line, 'ghost'); + hackLines++; + if (hackLines > 20) { + clearInterval(hackInterval); + log('>> HACK COMPLETE. ACCESS GRANTED.', 'ok'); + } + }, 100); + break; + case 'reboot': startBoot(); break; + case 'whoami': log('IDENTITÄT: OVERLORD SASCHA RODE', 'info'); break; + case 'matrix': document.getElementById('btn-kernel').click(); break; + case 'anarchy': document.getElementById('btn-anarchy').click(); break; + case 'bypass': document.getElementById('btn-security').click(); break; + case 'clear': logOutput.innerHTML = ''; break; + case 'trace': + log('>> IP VERBINDUNG HERGESTELLT', 'info'); + log('>> TRACING ORIGIN NODE...', 'warn'); + setTimeout(() => { + const fakeIp = Math.floor(Math.random()*255) + '.' + Math.floor(Math.random()*255) + '.' + Math.floor(Math.random()*255) + '.' + Math.floor(Math.random()*255); + log('>> LOCATED: ' + fakeIp + ' (LATENCY 12ms)', 'ok'); + log('>> INITIATING GEO-MAPPING...', 'info'); + setTimeout(() => { + const map = `\n . _..::__: ,-"-"._ |] , _,.__\n _.___ _ _<_>\`-._\`. -. \\ _-_\\. __,-' _ .\n \`'."\`/\` _ \`" \`" " " \`_,-' \n`; + log('
' + map + '
', 'ghost'); + log('>> TARGET ACQUIRED.', 'warn'); + }, 1000); + }, 1500); + break; + case 'ping': + log('>> PINGING LOCALHOST...', 'info'); + let pcount = 0; + const pTimer = setInterval(() => { + pcount++; + log(`64 bytes from 127.0.0.1: icmp_seq=${pcount} ttl=64 time=${Math.floor(Math.random()*5+1)} ms`, 'ghost'); + if (pcount >= 4) { + clearInterval(pTimer); + log('>> 4 packets transmitted, 4 received, 0% packet loss', 'ok'); + } + }, 500); + break; + case 'flux': + log('>> ACTIVATING FLUX OVERDRIVE...', 'warn'); + if (typeof playKeyClick === 'function') playKeyClick(); + setTimeout(() => { + const fluxAscii = `\n _____ _ _ ___ __\n | ___| | | | | \\ \\/ /\n | |_ | | | | | |\\ / \n | _| | |__| |_| |/ \\ \n |_| |_____\\___//_/\\_\\\n `; + log('
' + fluxAscii + '
', 'ok'); + log('>> FLUX AI ENGINE ONLINE.', 'info'); + log('>> SPEED: HASTIG. MODE: SCHWÄBISCH ACCELERATED.', 'crit'); + }, 500); + break; + case 'nasa': + log('>> ESTABLISHING SECURE UPLINK TO KENNEDY SPACE CENTER...', 'info'); + setTimeout(() => { + log('>> BYPASSING FIREWALL [JPL-NODE-7]...', 'warn'); + if (typeof playKeyClick === 'function') playKeyClick(); + setTimeout(() => { + log('>> ACCESSING VOYAGER TELEMETRY DATA...', 'ok'); + if (typeof playKeyClick === 'function') playKeyClick(); + let downloadProgress = 0; + const downloadInterval = setInterval(() => { + downloadProgress += Math.floor(Math.random() * 15) + 5; + if (downloadProgress >= 100) { + downloadProgress = 100; + clearInterval(downloadInterval); + log(`>> DOWNLOADING CLASSIFIED FOLDERS [${downloadProgress}%]`, 'warn'); + log('>> NASA MAINFRAME COMPROMISED. ALL SECRETS SECURED.', 'crit'); + const asciiSat = `\n .\n / \\\n / \\\n /_____\\\n | |\n /| O |\\\n / |_____| \\\n / / \\ \\`; + log('
' + asciiSat + '
', 'ghost'); + if (typeof playErrorBeep === 'function') playErrorBeep(); + } else { + log(`>> DOWNLOADING CLASSIFIED FOLDERS [${downloadProgress}%]`, 'ghost'); + } + }, 400); + }, 1000); + }, 1000); + break; + case 'destruct': + playErrorBeep(); + log('!! SELF-DESTRUCT PROTOCOL INITIATED !!', 'error'); + let count = 5; + const timer = setInterval(() => { + log('T-MINUS ' + count + ' SECONDS...', 'error'); + count--; + if (count < 0) { + clearInterval(timer); + const overlay = document.createElement('div'); + overlay.style.cssText = 'background:black; color:red; position:fixed; top:0; left:0; width:100%; height:100%; z-index:99999; display:flex; flex-direction:column; justify-content:center; align-items:center; font-family:monospace; cursor:pointer;'; + overlay.innerHTML = '

SYSTEM HALTED

SASCHA WINS.

'; + overlay.onclick = () => window.location.reload(); + document.body.appendChild(overlay); + } + }, 1000); + break; + case 'weather': + log('>> ATMOSPHERIC SCAN INITIATED...', 'warn'); + setTimeout(() => { + const conditions = ['KREATIVES CHAOS', 'DIGITALER NEBEL', 'ANARCHIE-FRONT NÄHERT SICH', 'ELEKTRISCHE UNRUHE', 'IDEENSTURM STUFE 3']; + const temps = [Math.floor(Math.random()*15)+10]; + const chaos = ['LOW', 'MODERATE', 'CRITICAL', 'MAXIMUM', 'OFF THE CHARTS']; + const humidity = ['KOFFEIN', 'NOSTALGIE', 'ZUKUNFTSANGST', 'KREATIVENERGIE']; + log('╔══════════════════════════════════╗', 'info'); + log('║ WETTERSTATION KI-LABOR ║', 'info'); + log('╠══════════════════════════════════╣', 'info'); + log(' STANDORT : OVERLORD-BUNKER NORD', 'ok'); + log(' TEMP : ' + temps[0] + '°C (GEFÜHLT: INTENSIV)', 'ok'); + log(' ZUSTAND : ' + conditions[Math.floor(Math.random()*conditions.length)], 'warn'); + log(' CHAOS-LVL : ' + chaos[Math.floor(Math.random()*chaos.length)], 'error'); + log(' LUFTFEUCHTE: ' + humidity[Math.floor(Math.random()*humidity.length)] + ' 84%', 'ok'); + log(' PROGNOSE : PROJEKT-OUTPUT WAHRSCHEINLICH', 'ok'); + log('╚══════════════════════════════════╝', 'info'); + }, 800); + break; + + case 'top': + log('>> SYSTEM-MONITOR AKTIV (q zum Beenden)', 'warn'); + setTimeout(() => { + log('╔══════════════════════════════════════════════╗', 'info'); + log('║ PID PROZESS CPU MEM ║', 'info'); + log('╠══════════════════════════════════════════════╣', 'info'); + log(' 001 KREATIVITAET.exe 94% HIGH', 'ok'); + log(' 002 KAFFEE-DAEMON 3% KRITISCH', 'warn'); + log(' 003 ANARCHIE-KERNEL 12% STABIL', 'ok'); + log(' 004 PROKRASTINATION.app 0% SUSPENDIERT', 'info'); + log(' 005 IDEEN-BUFFER 67% OVERFLOW', 'warn'); + log(' 006 SOCIAL-MEDIA-BLOCKER 99% AKTIV', 'ok'); + log(' 007 MUSIK-SYNTHESIZER 31% RUNNING', 'ok'); + log(' 008 SELBSTZWEIFEL.exe 0% TERMINATED', 'error'); + log(' 009 ZUKUNFT-PLANER 42% IDLE', 'info'); + log(' 010 KINDER-CHAOS-MGR 88% ESKALIERT', 'warn'); + log('╚══════════════════════════════════════════════╝', 'info'); + }, 600); + break; + + case 'uptime': + log('>> SYSTEM-LAUFZEIT WIRD BERECHNET...', 'warn'); + setTimeout(() => { + const boot = new Date(1974, 0, 1); + const now = new Date(); + const ms = now - boot; + const days = Math.floor(ms / (1000 * 60 * 60 * 24)); + const years = Math.floor(days / 365); + const hours = Math.floor((ms / (1000 * 60 * 60)) % 24); + const minutes = Math.floor((ms / (1000 * 60)) % 60); + log('╔══════════════════════════════════════╗', 'info'); + log('║ SYSTEM: SASCHA RODE v' + years + '.0 ║', 'info'); + log('╠══════════════════════════════════════╣', 'info'); + log(' BOOT-DATUM : 01.01.1974', 'ok'); + log(' LAUFZEIT : ' + days.toLocaleString('de-DE') + ' TAGE', 'ok'); + log(' : ' + years + ' JAHRE, ' + hours + ' STD, ' + minutes + ' MIN', 'ok'); + log(' STABILITÄT : UNBERECHENBAR', 'warn'); + log(' UPDATES : LAUFEND (MANUELL)', 'ok'); + log(' KERNEL : KREATIV-ANARCHIE 4.0', 'ok'); + log(' STATUS : NOCH ONLINE. IRGENDWIE.', 'crit'); + log('╚══════════════════════════════════════╝', 'info'); + }, 900); + break; + + case 'fortune': + const fortunes = [ + 'Die Hälfte der Intelligenz besteht darin zu wissen, was man ignorieren kann.', + 'Wer früh aufsteht, hat mehr Zeit sich zu fragen warum.', + 'Kreativität ist Intelligenz, die Spaß hat. Spaß ist Anarchie, die sich gut anfühlt.', + 'Das Internet vergisst nichts. Dein Gehirn alles. Equilibrium.', + 'Wenn Plan A scheitert – gut. Plan A war sowieso zu ordentlich.', + 'Der Unterschied zwischen Genie und Wahnsinn ist ein funktionierender Deploy.', + 'Vertrauen ist gut. Versionskontrolle ist besser.', + 'Die Stille vor dem Commit ist die ehrlichste Form der Angst.', + 'Jeder hat einen Plan bis der erste User die Seite öffnet.', + 'Was nicht dokumentiert ist, war nie wirklich real.', + 'Kaffee ist nur Debugging auf chemischer Ebene.', + 'Ein leeres Terminal-Fenster ist Zen in seiner reinsten Form.', + 'Wer keine Fehler macht, macht nichts. Wer alles macht, macht Fehler. Conclusio: Mach alles.', + 'Die Wahrheit liegt im Source-Code. Die Lüge im Kommentar daneben.', + ]; + log('>> WEISHEITS-GENERATOR AKTIV...', 'warn'); + setTimeout(() => { + const f = fortunes[Math.floor(Math.random() * fortunes.length)]; + log('╔══════════════════════════════════════════╗', 'info'); + log('║ ORAKEL-AUSGABE #' + (Math.floor(Math.random()*9000)+1000) + ' ║', 'info'); + log('╠══════════════════════════════════════════╣', 'info'); + log(' "' + f + '"', 'crit'); + log('╚══════════════════════════════════════════╝', 'info'); + log(' -- QUELLE: DIGITALES ORAKEL DES OVERLORDS', 'info'); + }, 500); + break; + + case 'brew': + if (args && args.toLowerCase().includes('install')) { + const pkg = args.replace(/install\s*/i, '').trim() || 'chaos-engine'; + log('>> brew install ' + pkg, 'warn'); + log('==> Fetching ' + pkg + '...', 'info'); + let progress = 0; + const bar = setInterval(() => { + progress += Math.floor(Math.random() * 18) + 5; + if (progress >= 100) { + progress = 100; + clearInterval(bar); + log('[####################] 100%', 'ok'); + setTimeout(() => { + log('==> Installing ' + pkg + '...', 'info'); + setTimeout(() => { + log('==> Linking...', 'info'); + setTimeout(() => { + log('✓ ' + pkg + ' ' + (Math.floor(Math.random()*9)+1) + '.' + (Math.floor(Math.random()*9)) + '.' + (Math.floor(Math.random()*9)) + ' installed.', 'ok'); + log(' Warning: ' + pkg + ' contains traces of digital anarchie.', 'warn'); + log(' Recommendation: Reboot universe before use.', 'info'); + }, 600); + }, 400); + }, 300); + } else { + const filled = Math.floor(progress / 5); + const bar_str = '[' + '#'.repeat(filled) + '-'.repeat(20-filled) + '] ' + progress + '%'; + log(bar_str, 'info'); + } + }, 250); + } else { + log('FEHLER: Verwendung: brew install ', 'error'); + } + break; + + default: + playErrorBeep(); + log('FEHLER: BEFEHL "' + cmd + '" UNBEKANNT.', 'error'); + } + } + + // Button Click Modes + const setupBtn = (id, cls, onMsg, offMsg) => { + const btn = document.getElementById(id); + if (btn) btn.addEventListener('click', () => { + document.body.classList.toggle(cls); + log(document.body.classList.contains(cls) ? onMsg : offMsg); + }); + }; + setupBtn('btn-kernel', 'mode-kernel', '>> MATRIX AKTIVIERT', '>> MATRIX DEAKTIVIERT'); + + // Matrix Rain Canvas + const canvas = document.createElement('canvas'); + canvas.id = 'matrix-canvas'; + canvas.style.cssText = 'position:fixed;top:0;left:0;width:100%;height:100%;z-index:-1;opacity:0;transition:opacity 1s;pointer-events:none;'; + document.body.appendChild(canvas); + const ctx = canvas.getContext('2d'); + canvas.width = window.innerWidth; + canvas.height = window.innerHeight; + window.addEventListener('resize', () => { canvas.width = window.innerWidth; canvas.height = window.innerHeight; }); + const letters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789$+-*/=%"\'#&_(),.;:?!\\|{}<>[]^~'; + const fontSize = 16; + let columns = Math.max(1, Math.floor(canvas.width / fontSize)); + let drops = []; + for(let x = 0; x < columns; x++) drops[x] = 1; + + function drawMatrix() { + ctx.fillStyle = 'rgba(0, 0, 0, 0.05)'; + ctx.fillRect(0, 0, canvas.width, canvas.height); + ctx.fillStyle = '#0F0'; + ctx.font = fontSize + 'px monospace'; + for(let i = 0; i < drops.length; i++) { + const text = letters.charAt(Math.floor(Math.random() * letters.length)); + ctx.fillText(text, i * fontSize, drops[i] * fontSize); + if(drops[i] * fontSize > canvas.height && Math.random() > 0.975) drops[i] = 0; + drops[i]++; + } + } + setInterval(drawMatrix, 33); + + document.getElementById('btn-kernel')?.addEventListener('click', () => { + canvas.style.opacity = document.body.classList.contains('mode-kernel') ? '0.35' : '0'; + if(document.body.classList.contains('mode-kernel')) document.body.style.backgroundColor = 'transparent'; + }); + setupBtn('btn-anarchy', 'mode-anarchy', '>> ANARCHIE ENGAGED', '>> ORDNUNG HERGESTELLT'); + setupBtn('btn-security', 'mode-security', '!! SECURITY BYPASS !!', '>> STABILIZED'); + setupBtn('btn-scan', 'mode-scan', '>> DEEP SCAN INITIIERT — LÄUFT', '>> SCAN ABGEBROCHEN'); + setupBtn('btn-overdrive', 'mode-overdrive', '!! OVERDRIVE ENGAGED — INSTABIL', '>> OVERDRIVE DEAKTIVIERT'); + + // Filter Logic + filterButtons.forEach(btn => { + btn.addEventListener('click', (e) => { + e.preventDefault(); + const filter = btn.getAttribute('data-filter'); + filterButtons.forEach(b => b.classList.remove('active')); + btn.classList.add('active'); + projectCards.forEach(card => { + const cat = card.getAttribute('data-category'); + card.style.display = (filter === 'all' || cat === filter) ? 'flex' : 'none'; + }); + }); + }); + + // Konami / SASCHA Easter Egg + let secretBuffer = ''; + document.addEventListener('keydown', (e) => { + if (document.activeElement === terminalInput) return; + secretBuffer += e.key.toLowerCase(); + if (secretBuffer.length > 10) secretBuffer = secretBuffer.slice(-10); + if (secretBuffer.includes('sascha')) { + log('>> OVERLORD COMMAND OVERRIDE AUTHORIZED.', 'crit'); + document.body.classList.add('mode-security'); + if (!document.body.classList.contains('mode-kernel')) document.getElementById('btn-kernel').click(); + const overlay = document.createElement('div'); + overlay.style.cssText = 'position:fixed;top:0;left:0;width:100%;height:100%;z-index:9999;background:rgba(0,0,0,0.8);color:#0f0;display:flex;align-items:center;justify-content:center;font-size:3rem;font-family:monospace;pointer-events:none;'; + overlay.innerHTML = '

GOD MODE UNLOCKED

'; + document.body.appendChild(overlay); + if (sfxEnabled) playErrorBeep(); + setTimeout(() => document.body.removeChild(overlay), 4000); + secretBuffer = ''; + } + }); + + // --- TIMELINE LOGIC --- + const steampunkCards = document.querySelectorAll('.steampunk-card'); + const timelineModal = document.getElementById('timeline-modal'); + const closeTimeline = document.getElementById('close-timeline'); + const timelineTrack = document.getElementById('timeline-track'); + const timelineTitle = document.getElementById('timeline-title'); + const timelineSubtitle = document.getElementById('timeline-subtitle'); + const modalPortraitImg = document.getElementById('modal-portrait-img'); + const modalPortraitPlaceholder = document.getElementById('modal-portrait-placeholder'); + const modalPortraitInitial = document.getElementById('modal-portrait-initial'); + const mutterImgSrc = modalPortraitImg ? modalPortraitImg.src : ''; + const themeUri = timelineModal ? (timelineModal.dataset.themeUri || '') : ''; + + // --- PERSON DATA --- + const personData = { + mutti: { + title: 'HISTORISCHES ARCHIV — MUTTER', + subtitle: '// Matriarchin & Kupfer-Architektin', + img: true, + imgSrc: mutterImgSrc, + imgPosition: 'center 18%', + initial: 'M', + events: null + }, + mutter: { + title: 'HISTORISCHES ARCHIV — MUTTER', + subtitle: '// Matriarchin & Kupfer-Architektin', + img: true, + imgSrc: mutterImgSrc, + imgPosition: 'center 18%', + initial: 'M', + events: null // uses classic generateTimeline() + }, + vater: { + title: 'HISTORISCHES ARCHIV — VATER', + subtitle: '// Hydraulik-Meister & System-Engineer', + img: true, + imgSrc: themeUri + '/assets/img/hp_vater_steampunk_01.jpg', + imgPosition: 'center 12%', + initial: null, + events: [ + { year: 1953, text: 'SYSTEM INITIALISIERT. Hydraulik-Meister V1.0 startet erstmals. Diagnostik: Stabil. Herkunft: Klassifiziert.', tag: 'BOOT // KLASSIFIZIERT', omega: false }, + { year: 1960, text: 'ERSTE MECHANISCHE UPGRADES abgeschlossen. Handwerkliche Fähigkeiten auf OMEGA-LEVEL kalibriert. Präzision: 99.3%', tag: 'HARDWARE-UPDATE', omega: false }, + { year: 1970, text: 'NETZWERK-VERBINDUNG mit Matriarchin-Modul hergestellt. Langzeit-Protokoll initialisiert. Stabilität: Bestätigt.', tag: 'NETZWERK', omega: false }, + { year: 1974, text: '⚡ KRITISCH: SYSTEM-AUSGABE REGISTRIERT. Der zukünftige Overlord (Sascha) wird erfolgreich in die Biosphäre kompiliert.', tag: 'OMEGA-KLASSE // KRITISCHES EREIGNIS', omega: true }, + { year: 1981, text: 'ZWEITE SYSTEM-AUSGABE: Bruder-Knoten V1.0 geht online. Netzwerkkapazität erweitert. Chaos-Index leicht erhöht.', tag: 'NETZWERK-ERWEITERUNG', omega: false }, + { year: 1983, text: 'DRITTE SYSTEM-AUSGABE: AETHER-SIBLING (Schwester) bootet erfolgreich. Clan-Netzwerk vollständig operational.', tag: 'NETZWERK-ERWEITERUNG', omega: false }, + { year: 1995, text: 'HYDRAULIK-UPGRADE v3.0 installiert. Langzeitstabilität über 40 Jahre bestätigt. Wartungsintervalle: Unregelmäßig.', tag: 'WARTUNG // LANGZEIT', omega: false }, + { year: 2025, text: 'STATUS: NOCH ONLINE. Alle Primärsysteme funktionsfähig. Erfahrungswert: MAXIMAL. Weitere Daten: NICHT AUTORISIERT.', tag: 'AKTUELL // KLASSIFIZIERT', omega: false }, + ] + }, + bruder: { + title: 'HISTORISCHES ARCHIV — BRUDER', + subtitle: '// Kybernetischer Knoten & Neural-Link', + img: true, + imgSrc: themeUri + '/hp_freddy_1.png', + imgPosition: '30% 20%', + initial: null, + events: [ + { year: 1981, text: '⚡ KYBERNETISCHER KNOTEN V1.0 GEHT ONLINE. Erster System-Schrei registriert. Clan-Netzwerk auf drei Einheiten erweitert. Chaos-Index: SOFORT ERHÖHT.', tag: 'BOOT // OMEGA-KLASSE', omega: true }, + { year: 1985, text: 'MECHANIK-PROTOKOLL SPONTAN AKTIVIERT. Ausgeprägte Affinität zu motorisierten Systemen detektiert. Erste Demontage eines Haushaltsgeräts: ERFOLGREICH. Wiedermontage: FRAGLICH.', tag: 'TALENT-ERKENNUNG // MECHANIK', omega: false }, + { year: 1990, text: 'SCHULNETZ-INTEGRATION läuft. Soziale Protokolle aktiv. Schrauber-Subroutine dominiert Freizeitkapazität. Kein Fahrzeug im Umkreis ist sicher.', tag: 'NETZWERK // MECHANIK-MODUS AKTIV', omega: false }, + { year: 1999, text: 'ERWACHSENEN-MODUS aktiviert. HOCHGESCHWINDIGKEITS-MODUL INSTALLIERT: Motorrad beschafft. Tempolimit-Parameter: IGNORIERT. Adrenalin-Output: MAXIMAL. Sicherheitsprotokoll: DEAKTIVIERT (absichtlich).', tag: 'UPGRADE // ZWEIRAD-EINHEIT AKTIV', omega: false }, + { year: 2005, text: '⚡ PERMANENTER NEURAL-LINK MIT EINHEIT "MARY" HERGESTELLT. Verbindungsstatus: STABIL. Protokoll: LANGZEIT-SYNCHRONISATION. Systemstabilität seit Aktivierung: SIGNIFIKANT ERHÖHT.', tag: 'NETZWERK-FUSION // MARY-LINK', omega: true }, + { year: 2010, text: '⚡ SYSTEM-AUSGABE REGISTRIERT: Tochter LENI erfolgreich in die Biosphäre kompiliert. Neue Subroutine im Clan-Netzwerk aktiv. Gefährlichkeit: BEZAUBERND. Priorität im System: MAXIMAL.', tag: 'OMEGA-KLASSE // LENI ONLINE', omega: true }, + { year: 2025, text: 'AKTUELLER STATUS: OPERATIONAL. Designation: Logistik-Techniker (Lagerarbeiter). Mechanik-Modul: WEITERHIN AKTIV — kein Auto ist sicher. Motorrad: NOCH IN BETRIEB. Familie: STABIL. Verbindung zum Overlord: GUT.', tag: 'AKTUELL // ALLE SYSTEME GRÜN', omega: false }, + ] + }, + schwester: { + title: 'HISTORISCHES ARCHIV — SCHWESTER', + subtitle: '// Aether-Sibling & Pneumatische Reflexe', + img: true, + imgSrc: themeUri + '/assets/img/hp_meli_steampunk_01.jpeg', + imgPosition: 'center 20%', + initial: null, + events: [ + { year: 1983, text: '⚡ AETHER-SIBLING V1.0 BOOTET ERFOLGREICH. Pneumatische Reflexe sofort aktiv. Chaos-Protokolle initialisiert. Clan vollständig.', tag: 'BOOT // OMEGA-KLASSE', omega: true }, + { year: 1987, text: 'ERSTE SCHNITTSTELLEN-TESTS mit Overlord-Netzwerk. Harmonische Resonanz mit gelegentlichen Konflikten. Ergebnis: PRODUKTIV.', tag: 'NETZWERK-TEST', omega: false }, + { year: 1995, text: 'SOZIALES INTEGRATIONS-PROTOKOLL auf MAXIMUM. Performance: Außergewöhnlich. Details: KLASSIFIZIERT.', tag: 'SOZIAL-MATRIX', omega: false }, + { year: 2001, text: 'ERWACHSENEN-MODUS aktiviert. Eigenständige Routinen laufen stabil. Verbindung zum Clan: KONSTANT AKTIV.', tag: 'SYSTEM-UPDATE', omega: false }, + { year: 2010, text: 'FAMILIEN-NETZWERK-UPDATE: Neue Knoten hinzugefügt. Meli-Knoten: Zentrales Bindeglied.', tag: 'NETZWERK-ERWEITERUNG', omega: false }, + { year: 2025, text: 'STATUS: VOLLSTÄNDIG OPERATIONAL. STABILITÄT: MAXIMAL. WEITERE ANGABEN: NICHT AUTORISIERT.', tag: 'AKTUELL // GESCHWÄRZT', omega: false }, + ] + }, + sascha: { + title: 'HISTORISCHES ARCHIV — OVERLORD SASCHA', + subtitle: '// Overlord & KI-Architekt & Gemini Player', + img: true, + imgSrc: themeUri + '/assets/img/comicFigures/hp_sascha_comic_1.jpeg', + imgPosition: 'center 22%', + initial: null, + events: [ + { year: 1974, text: '⚡ OVERLORD-MODUL V1.0 AKTIVIERT. Erster System-Schrei erfolgreich registriert. KI-Labor Grundstein: GELEGT (unbewusst).', tag: 'BOOT // OMEGA-KLASSE', omega: true }, + { year: 1980, text: 'ERSTE KONTAKTAUFNAHME mit Computertechnologie via Atari. Faszinations-Index: 100%. Bekannte Nebenwirkung: Zeitverlust.', tag: 'ERSTER KONTAKT', omega: false }, + { year: 1983, text: 'C64-INTERFACE aktiviert. Erste BASIC-Programme kompiliert. Fehlerquote: Hoch. Aufgabewahrscheinlichkeit: NULL.', tag: 'UPGRADE', omega: false }, + { year: 2000, text: 'WEB-PROTOKOLL PHASE II. Erste HTML-Strukturen kompiliert. System nennt sich: WEBMASTER. Gefährlichkeit: Noch unterschätzt.', tag: 'UPGRADE // WEBMASTER-MODUS', omega: false }, + { year: 2015, text: 'WORDPRESS-KERNEL integriert. Beginn der ästhetischen Kriegsführung gegen Default-Themes. Mission: GESTARTET.', tag: 'MISSION GESTARTET', omega: false }, + { year: 2024, text: '⚡ KI-LABOR OFFIZIELL GEGRÜNDET. Gemini-Neural-Link aktiviert. Anarchie-Engine läuft. Status: GEISTESKRANK & AKTIV.', tag: 'OMEGA-EREIGNIS // GRÜNDUNG', omega: true }, + { year: 2026, text: 'AKTUELLER STATUS: HIER. KAFFEESTAND: KRITISCH. SYSTEM: INSTABIL (Dauerzustand). OVERLORD: ONLINE.', tag: 'AKTUELL // LAUFEND', omega: false }, + ] + }, + sven: { + title: 'HISTORISCHES ARCHIV — SVEN', + subtitle: '// Externe Variable & Unbekannter Faktor', + img: true, + imgSrc: themeUri + '/assets/img/hp_sven.png', + imgPosition: '45% 18%', + initial: null, + events: [ + { year: '????', text: '[DATEN NICHT VERFÜGBAR] System-Ausgabe irgendwann registriert. Zeitpunkt: GESCHWÄRZT. Herkunft: Fraglich.', tag: 'BOOT // KLASSIFIZIERT', omega: false }, + { year: 1990, text: 'ERSTE KONTAKTAUFNAHME mit dem Clan-Netzwerk. Verbindungsqualität: Unbekannt. Absichten: Unklar. Bedrohungsstufe: GERING (vermutlich).', tag: 'EXTERNE VARIABLE', omega: false }, + { year: 2000, text: '[ZUGRIFF VERWEIGERT] Aktivitäten in diesem Zeitraum: OMEGA-KLASSIFIZIERT. Anfrage abgelehnt.', tag: 'GESCHWÄRZT // ZUGRIFF VERWEIGERT', omega: false }, + { year: 2010, text: 'EXTERNE EINFLUSSGRÖSSE detektiert. Integrität: Akzeptabel. Loyalität: Unbewiesen aber bisher unkritisch.', tag: 'ANALYSE // UNVOLLSTÄNDIG', omega: false }, + { year: 2018, text: '[████████████████] Dieser Eintrag wurde entfernt. Grund: [████]. Autorisierung: [UNBEKANNT].', tag: 'GELÖSCHT // URSACHE UNBEKANNT', omega: false }, + { year: 2025, text: 'STATUS: VERMUTLICH ONLINE. KOORDINATEN: NICHT VERFOLGBAR. KLASSIFIZIERUNG: DAUERHAFT AUSSTEHEND.', tag: 'AKTUELL // UNBESTÄTIGT', omega: false }, + ] + } + }; + + const timelineAkteContainer = document.getElementById('timeline-akte-container'); + + function switchPerson(personKey) { + const p = personData[personKey]; + if (!p) return; + + // Titel & Untertitel + if (timelineTitle) timelineTitle.innerText = p.title; + if (timelineSubtitle) timelineSubtitle.innerText = p.subtitle; + + // Portrait wechseln + if (modalPortraitImg && modalPortraitPlaceholder) { + if (p.img) { + modalPortraitImg.src = p.imgSrc || mutterImgSrc; + modalPortraitImg.style.objectPosition = p.imgPosition || 'center 18%'; + modalPortraitImg.style.display = 'block'; + modalPortraitPlaceholder.style.display = 'none'; + } else { + modalPortraitImg.style.display = 'none'; + modalPortraitPlaceholder.style.display = 'flex'; + if (modalPortraitInitial) modalPortraitInitial.textContent = p.initial; + } + } + + // Akte Button Update + if (timelineAkteContainer) { + // Check if we should use 'mutti' for the Akte target (as defined in index.php modals) + const akteKey = (personKey === 'mutter') ? 'mutti' : personKey; + const targetId = 'akte-modal-' + akteKey; + const modalExists = document.getElementById(targetId); + if (modalExists) { + timelineAkteContainer.innerHTML = ` + + `; + // Re-bind the click event because we just created a new button + const newBtn = timelineAkteContainer.querySelector('.akte-trigger-btn'); + newBtn.addEventListener('click', () => { + const modal = document.getElementById(targetId); + if (modal) { + modal.classList.remove('akte-hidden'); + document.body.style.overflow = 'hidden'; + if (typeof playKeyClick === 'function') playKeyClick(); + } + }); + } else { + timelineAkteContainer.innerHTML = ''; + } + } + + // Active-State in Nav + document.querySelectorAll('.person-nav-item').forEach(el => { + el.classList.toggle('active', el.dataset.person === personKey); + }); + + // Timeline generieren + if (p.events === null) { + generateTimeline(); + } else { + generatePersonTimeline(p.events); + } + } + + function generatePersonTimeline(events) { + timelineTrack.innerHTML = ''; + let isLeft = true; + events.forEach(ev => { + const node = document.createElement('div'); + node.className = 'time-node ' + (isLeft ? 'left' : 'right'); + const content = document.createElement('div'); + content.className = 'time-content' + (ev.omega ? ' omega-node' : ''); + if (ev.omega) { + content.innerHTML = + '
OMEGA-KLASSE  ◆  !! FREIGEGEBEN !!
' + + '

[ ' + ev.year + ' ]

' + + '

⚡ KRITISCHES SYSTEMEREIGNIS ⚡
' + ev.text + '

' + + ''; + } else { + content.innerHTML = + '
KLASSIFIZIERT
' + + '

[ ' + ev.year + ' ]

' + + '

' + ev.text + '

' + + ''; + } + node.appendChild(content); + timelineTrack.appendChild(node); + isLeft = !isLeft; + }); + } + + if (steampunkCards.length > 0 && timelineModal) { + steampunkCards.forEach(card => { + card.addEventListener('click', (e) => { + e.preventDefault(); + if (typeof playErrorBeep === 'function') playErrorBeep(); + + document.body.classList.add('mode-time-warp'); + log('>> INITIATING TEMPORAL DISPLACEMENT...', 'warn'); + log('>> TARGET YEAR: 1955', 'ghost'); + + setTimeout(() => { + document.body.classList.remove('mode-time-warp'); + switchPerson('mutter'); + timelineModal.classList.remove('timeline-hidden'); + log('>> TEMPORAL SHIFT COMPLETE.', 'ok'); + }, 1200); + }); + }); + + // Person Nav Clicks + document.querySelectorAll('.person-nav-item').forEach(item => { + item.addEventListener('click', (e) => { + e.preventDefault(); + const personKey = item.dataset.person; + if (typeof playKeyClick === 'function') playKeyClick(); + switchPerson(personKey); + }); + }); + + if (closeTimeline) { + closeTimeline.addEventListener('click', () => { + timelineModal.classList.add('timeline-hidden'); + if (typeof playKeyClick === 'function') playKeyClick(); + }); + } + + function generateTimeline() { + timelineTrack.innerHTML = ''; + + const specialEvents = { + 1974: "ARCHITEKTUR-UPDATE: Der zukünftige Overlord (Sascha) wird von der Kupfer-Matriarchin erfolgreich in die Biosphäre kompiliert. Initialer System-Schrei registriert.", + 1981: "SYSTEM-ERWEITERUNG: Ein neuer kybernetischer Bruder-Knoten geht online. Visuelles Sensoren-Update (Upload steht noch aus).", + 1983: "NETZWERK-UPDATE: AETHER-SIBLING V1.0 (Schwester Meli) bootet erfolgreich. Chaos-Protokolle und pneumatische Reflexe initialisiert." + }; + + const events = [ + "Kritische Dampfdruck-Anomalie entdeckt.", + "Erster erfolgreicher Test des kybernetischen Herzmuskels.", + "System-Absturz aufgrund von überhitzten Kupferspulen.", + "Neural-Link mit den Primär-Vorläufern hergestellt.", + "Mechanische Gliedmaßen rüsten auf Hydraulik um.", + "Prototyp V2 entkommt aus dem Testlabor.", + "Verhandlungen mit dem KI-Mainframe gescheitert.", + "Flucht in die äußeren Kolonien (Offline-Modus).", + "Reboot der emotionalen Sub-Parameter.", + "Wartungsarbeiten an den Exo-Skeletten abgeschlossen." + ]; + + let yearsToRender = []; + for(let y = 1955; y <= new Date().getFullYear(); y += 5) { + yearsToRender.push(y); + } + [1974, 1981, 1983].forEach(sy => { + if(!yearsToRender.includes(sy)) yearsToRender.push(sy); + }); + yearsToRender.sort((a,b) => a - b); + + let isLeft = true; + + yearsToRender.forEach(year => { + const node = document.createElement('div'); + node.className = 'time-node ' + (isLeft ? 'left' : 'right'); + + const content = document.createElement('div'); + content.className = 'time-content'; + + if(specialEvents[year]) { + content.classList.add('omega-node'); + content.innerHTML = + '
OMEGA-KLASSE  ◆  !! FREIGEGEBEN !!
' + + '

[ ' + year + ' ]

' + + '

⚡ KRITISCHES SYSTEMEREIGNIS ⚡
' + specialEvents[year] + '

' + + ''; + } else { + const bgStory = events[Math.floor(Math.random() * events.length)]; + const akteNr = Math.floor(Math.random()*9000)+1000; + content.innerHTML = + '
AKTE #' + akteNr + '  ◆  KLASSIFIZIERT
' + + '

[ ' + year + ' ]

' + + '

' + bgStory + ' Weitere Datenquellen als OMEGA-KLASSE klassifiziert.

' + + ''; + } + + node.appendChild(content); + timelineTrack.appendChild(node); + + isLeft = !isLeft; + }); + } + } + + // --- GÄSTEBUCH --- + const gbSubmit = document.getElementById('gb-submit'); + const gbInputUser = document.getElementById('gb-input-user'); + const gbInputMsg = document.getElementById('gb-input-msg'); + const gbEntries = document.getElementById('gaestebuch-entries'); + + const GB_TAGS = [ + ['STATUS: EINGETROFFEN', ''], + ['IDENTITAET: UNGEKLAERT', ''], + ['HERKUNFT: FRAGLICH', 'gb-tag-warn'], + ['KLASSIFIZIERT: UNBEKANNT', 'gb-tag-crit'], + ['INTEGRITAET: AKZEPTABEL', 'gb-tag-ok'], + ['SIGNAL: SCHWACH', 'gb-tag-warn'], + ['PROZESS: LÄUFT', 'gb-tag-ok'], + ['GEFAEHRLICHKEIT: MITTEL', 'gb-tag-crit'], + ]; + + if (gbSubmit) { + gbSubmit.addEventListener('click', () => { + const user = gbInputUser.value.trim() || 'ANONYMOUS_' + Math.floor(Math.random()*9000+1000); + const msg = gbInputMsg.value.trim(); + if (!msg) { gbInputMsg.focus(); return; } + + const now = new Date(); + const date = now.toLocaleDateString('de-DE') + ' — ' + + String(now.getHours()).padStart(2,'0') + ':' + + String(now.getMinutes()).padStart(2,'0'); + const [tagLabel, tagCls] = GB_TAGS[Math.floor(Math.random() * GB_TAGS.length)]; + + const entry = document.createElement('div'); + entry.className = 'gb-entry gb-new'; + entry.innerHTML = + '
' + + '' + user.toUpperCase().replace(/' + + '◆' + + '' + date + '' + + '' + tagLabel + '' + + '
' + + '

' + msg.replace(//g,'>') + '

'; + + gbEntries.insertBefore(entry, gbEntries.firstChild); + gbInputUser.value = ''; + gbInputMsg.value = ''; + if (typeof playKeyClick === 'function') playKeyClick(); + }); + } + + log('>> SYSTEM READY. WAITING FOR COMMANDS...'); + + // --- OPS DASHBOARD --- + const opsDashSign = document.getElementById('ops-dashboard-sign'); + const opsPanel = document.getElementById('ops-panel'); + const opsPanelLog = document.getElementById('ops-panel-log'); + const opsPanelVital = document.getElementById('ops-panel-vitals'); + const terminalWrap = document.querySelector('.terminal-wrapper'); + let opsOpen = false; + let opsTyped = false; + let vitalInterval = null; + + const OPS_LOG_LINES = [ + { t: '╔══════════════════════════════════════════════════╗', cls: 'ops-line-dim' }, + { t: '║ CHIRURGISCHES PROTOKOLL — KLASSIFIZIERT: ROT ║', cls: 'ops-line-section' }, + { t: '╚══════════════════════════════════════════════════╝', cls: 'ops-line-dim' }, + { t: '', cls: '' }, + { t: '─── OP ALFA-7 ─────────────────────────────────────', cls: 'ops-line-section' }, + { t: ' PATIENT : KREATIVITAET.exe (v4.2-beta)', cls: 'ops-line-label' }, + { t: ' EINGRIFF : Herz-Transplant — Donor: MOTIVATION.sys', cls: '' }, + { t: ' BEFUND : Herz läuft. Richtung unbekannt. Absicht fraglich.', cls: '' }, + { t: ' STATUS : ████████░░ 82% KAPAZITÄT', cls: 'ops-line-ok' }, + { t: ' ERGEBNIS : 0.5 ERFOLGE (zählt als halber Sieg, ganz nach Wunsch)', cls: 'ops-line-label' }, + { t: '', cls: '' }, + { t: '─── OP BETA-12 ─────────────────────────────────────', cls: 'ops-line-section' }, + { t: ' PATIENT : SCHLAFRHYTHMUS.daemon (Version: veraltet)', cls: 'ops-line-label' }, + { t: ' EINGRIFF : Herz-Transplant — Donor: KAFFEE-KERN v9.1', cls: '' }, + { t: ' BEFUND : Donor inkompatibel. Koffein ≠ Blut. Überraschung: keiner.', cls: '' }, + { t: ' STATUS : ██████████ 100% — ABGESCHLOSSEN', cls: 'ops-line-crit' }, + { t: ' ERGEBNIS : TECHNISCH FEHLGESCHLAGEN. Patient läuft trotzdem.', cls: 'ops-line-label' }, + { t: '', cls: '' }, + { t: '════════════════════════════════════════════════════', cls: 'ops-line-dim' }, + { t: ' OPS: ||| 3 ERFOLGE: |½ 1.5 FEHLSCHL: |½ 1.5', cls: 'ops-line-section' }, + { t: ' RESTE: KUEHLHAUS C — ZUSTAND: STABIL / NUTZBAR', cls: 'ops-line-crit' }, + { t: ' NÄCHSTE OP: PROKRASTINATION.exe — ETA: IRGENDWANN', cls: 'ops-line-dim' }, + { t: '════════════════════════════════════════════════════', cls: 'ops-line-dim' }, + ]; + + const VITAL_FRAMES = [ + 'VITALMONITOR ▁▂▃▂▁▃▂▁▁▁▁▁▁▁▁▁▁▁▁▁ FLATLINE', + 'VITALMONITOR ▁▁▂▃▂▁▃▂▁▁▁▁▁▁▁▁▁▁▁▁ FLATLINE', + 'VITALMONITOR ▁▁▁▂▃▂▁▃▂▁▁▁▁▁▁▁▁▁▁▁ FLATLINE', + 'VITALMONITOR ▁▁▁▁▂▃▂▁▃▂▁▁▁▁▁▁▁▁▁▁ FLATLINE', + 'VITALMONITOR ▁▁▁▁▁▂▃▂▁▁▁▂▃▂▁▁▁▁▁▁ FLATLINE', + 'VITALMONITOR ▁▁▁▁▁▁▂▃▂▁▁▁▁▂▃▂▁▁▁▁ FLATLINE', + 'VITALMONITOR ▁▁▁▁▁▁▁▂▃▂▁▁▁▁▁▂▃▂▁▁ FLATLINE', + 'VITALMONITOR ▁▁▁▁▁▁▁▁▂▃▂▁▁▁▁▁▁▁▁▁ FLATLINE', + ]; + + function typeOpsLog() { + if (opsTyped) return; + opsTyped = true; + opsPanelLog.innerHTML = ''; + let i = 0; + function typeLine() { + if (i >= OPS_LOG_LINES.length) return; + const { t, cls } = OPS_LOG_LINES[i++]; + const span = document.createElement('span'); + if (cls) span.className = cls; + span.textContent = t + '\n'; + opsPanelLog.appendChild(span); + opsPanelLog.scrollTop = opsPanelLog.scrollHeight; + setTimeout(typeLine, t === '' ? 30 : 55); + } + typeLine(); + } + + function startVitals() { + let frame = 0; + opsPanelVital.textContent = VITAL_FRAMES[0]; + vitalInterval = setInterval(() => { + frame = (frame + 1) % VITAL_FRAMES.length; + opsPanelVital.textContent = VITAL_FRAMES[frame]; + }, 220); + } + + function stopVitals() { + clearInterval(vitalInterval); + vitalInterval = null; + } + + if (opsDashSign) { + opsDashSign.addEventListener('click', () => { + opsOpen = !opsOpen; + if (opsOpen) { + opsPanel.classList.add('ops-open'); + terminalWrap.classList.add('ops-expanded'); + opsDashSign.querySelector('.ops-sign-hint').textContent = '[ PROTOKOLL SCHLIESSEN ]'; + startVitals(); + setTimeout(typeOpsLog, 300); + if (typeof playKeyClick === 'function') playKeyClick(); + } else { + opsPanel.classList.remove('ops-open'); + terminalWrap.classList.remove('ops-expanded'); + opsDashSign.querySelector('.ops-sign-hint').textContent = '[ PROTOKOLL EINSEHEN ]'; + stopVitals(); + } + }); + } + + }); +})(); + +// ═══════════════════════════════════════ +// PERSONEN-AKTEN +// ═══════════════════════════════════════ +(function() { + const triggers = document.querySelectorAll('.akte-trigger-btn'); + const modals = document.querySelectorAll('.akte-modal'); + + if (triggers.length === 0) return; + + triggers.forEach(trigger => { + trigger.addEventListener('click', () => { + const targetId = trigger.getAttribute('data-akte-target'); + const modal = document.getElementById(targetId); + if (modal) { + modal.classList.remove('akte-hidden'); + document.body.style.overflow = 'hidden'; + + // Update activity time for this specific modal if it has an activity element + const activityEl = modal.querySelector('.akte-activity'); + if (activityEl) { + const now = new Date(); + activityEl.textContent = now.toLocaleDateString('de-DE') + ' ' + + String(now.getHours()).padStart(2,'0') + ':' + + String(now.getMinutes()).padStart(2,'0') + ':' + + String(now.getSeconds()).padStart(2,'0') + ' — GERADE JETZT'; + } + if (typeof playKeyClick === 'function') playKeyClick(); + } + }); + }); + + modals.forEach(modal => { + const closeBtn = modal.querySelector('.akte-close-btn'); + if (closeBtn) { + closeBtn.addEventListener('click', () => { + modal.classList.add('akte-hidden'); + document.body.style.overflow = ''; + if (typeof playKeyClick === 'function') playKeyClick(); + }); + } + modal.addEventListener('click', (e) => { + if (e.target === modal) { + modal.classList.add('akte-hidden'); + document.body.style.overflow = ''; + } + }); + }); + + document.addEventListener('keydown', (e) => { + if (e.key === 'Escape') { + modals.forEach(m => m.classList.add('akte-hidden')); + document.body.style.overflow = ''; + } + }); +})(); + +// ═══════════════════════════════════════ +// COMIC LIGHTBOX ZOOM +// ═══════════════════════════════════════ +(function() { + const lightbox = document.getElementById('comic-lightbox'); + const lbImg = document.getElementById('lightbox-img'); + const closeLb = document.getElementById('close-lightbox'); + + if (!lightbox || !lbImg) return; + + // Delegate click to handle dynamically created images too (if any) + document.addEventListener('click', (e) => { + const trigger = e.target.closest('.comic-zoom-trigger'); + if (trigger) { + e.preventDefault(); + e.stopPropagation(); + const bigImg = trigger.getAttribute('data-big-img'); + if (bigImg) { + lbImg.src = bigImg; + lightbox.classList.remove('akte-hidden'); + document.body.style.overflow = 'hidden'; + if (typeof playKeyClick === 'function') playKeyClick(); + } + } + }); + + function close() { + lightbox.classList.add('akte-hidden'); + document.body.style.overflow = ''; + } + + if (closeLb) closeLb.addEventListener('click', close); + lightbox.addEventListener('click', close); + document.addEventListener('keydown', (e) => { if (e.key === 'Escape') close(); }); +})(); + +// ═══════════════════════════════════════ +// SYSTEM STATUS WIDGET +// ═══════════════════════════════════════ +(function() { + const metrics = { + cpu: { bar: document.getElementById('sw-cpu'), val: document.getElementById('sw-cpu-val'), cur: 88, min: 72, max: 99, unit: '%' }, + kaffee: { bar: document.getElementById('sw-kaffee'), val: document.getElementById('sw-kaffee-val'), cur: 61, min: 5, max: 100, unit: '%', drain: true }, + chaos: { bar: document.getElementById('sw-chaos'), val: document.getElementById('sw-chaos-val'), cur: 77, min: 40, max: 100, unit: '%' }, + ki: { bar: document.getElementById('sw-ki'), val: document.getElementById('sw-ki-val'), cur: 93, min: 60, max: 100, unit: '%' }, + }; + + function lerp(a, b, t) { return a + (b - a) * t; } + + function tick() { + Object.keys(metrics).forEach(key => { + const m = metrics[key]; + if (!m.bar || !m.val) return; + + if (key === 'kaffee') { + // Kaffee leert sich langsam, dann springt es auf 100 + m.cur -= 0.08; + if (m.cur < 5) m.cur = 100; + } else if (key === 'chaos') { + // Chaos: zufällige Spitzen + const spike = Math.random() < 0.04; + m.cur = spike ? 95 + Math.random() * 5 : lerp(m.cur, m.min + Math.random() * (m.max - m.min), 0.06); + } else { + m.cur = lerp(m.cur, m.min + Math.random() * (m.max - m.min), 0.04); + } + m.cur = Math.max(m.min, Math.min(m.max, m.cur)); + const pct = ((m.cur - m.min) / (m.max - m.min) * 100).toFixed(0); + m.bar.style.width = Math.round(m.cur) + '%'; + m.val.textContent = Math.round(m.cur) + m.unit; + }); + } + + setInterval(tick, 900); + tick(); +})(); + +// ═══════════════════════════════════════ +// NEWSTICKER +// ═══════════════════════════════════════ +(function() { + const track = document.getElementById('ticker-track'); + if (!track) return; + + const ITEMS = [ + { t: 'PROKRASTINATION.exe verbraucht 94% CPU — Gegenmaßnahmen: keine', cls: 'ticker-warn' }, + { t: 'WARNUNG: Realitätsdistorsionsfeld bei 120% — Evakuierung nicht vorgesehen', cls: 'ticker-crit' }, + { t: 'KAFFEE_KERNEL läuft seit 18h ohne Unterbrechung — Status: besorgniserregend', cls: '' }, + { t: 'KREATIVITAET.exe hat soeben SCHLAF.daemon überschrieben — Rollback fehlgeschlagen', cls: 'ticker-warn' }, + { t: 'SYSTEM-UPDATE verfügbar: VERNUNFT v2.0 — Installation abgebrochen durch Benutzer', cls: '' }, + { t: 'ANOMALIE ERKANNT: Zeitstempel 1974 verursacht Konflikte mit Gegenwart', cls: 'ticker-warn' }, + { t: 'WORDPRESS-KERN destabilisiert — Zustand: wie immer', cls: '' }, + { t: 'MISSION STATUS: Chaos aufrechterhalten — ERLEDIGT', cls: '' }, + { t: 'KAFFEE-VORRAT KRITISCH — ETA bis Totalausfall: unberechenbar', cls: 'ticker-crit' }, + { t: 'GEMINI NEURAL LINK aktiv — Bewusstseinszustand: kollaborativ / verwirrend', cls: '' }, + { t: 'SELBSTZWEIFEL.exe wurde erfolgreich terminiert — Neustart in 3... 2... 1...', cls: 'ticker-warn' }, + { t: 'NEUE ENTITÄT im Gästebuch registriert — Gefährlichkeit: unklar', cls: '' }, + { t: 'ANARCHIE-KERNEL v4.0.1 läuft stabil — das ist verdächtig', cls: 'ticker-warn' }, + { t: 'SPEICHER-LEAK IN MOTIVATION.sys ENTDECKT — seit 1974 bekannt, nie gefixt', cls: '' }, + ]; + + // Doppelt für nahtloses Looping + [...ITEMS, ...ITEMS].forEach(({ t, cls }) => { + const span = document.createElement('span'); + span.className = 'ticker-item' + (cls ? ' ' + cls : ''); + span.textContent = t; + track.appendChild(span); + }); +})(); + +// --- ANTIGRAVITY ENGINE & GENERATIVE DRONE --- +let droneAudioCtx; +let droneInitialized = false; +let droneShouldPlay = false; +let mainDroneGain; + +function initDroneEngine() { + if (droneInitialized) return; + droneAudioCtx = new (window.AudioContext || window.webkitAudioContext)(); + + mainDroneGain = droneAudioCtx.createGain(); + mainDroneGain.gain.setValueAtTime(0, droneAudioCtx.currentTime); // Start absolutely silent + mainDroneGain.connect(droneAudioCtx.destination); + + const filter = droneAudioCtx.createBiquadFilter(); + filter.type = 'lowpass'; + filter.frequency.setValueAtTime(150, droneAudioCtx.currentTime); + filter.connect(mainDroneGain); + + const freqs = [55, 56.5, 82.5]; + freqs.forEach(freq => { + const osc = droneAudioCtx.createOscillator(); + const lfo = droneAudioCtx.createOscillator(); + const lfoGain = droneAudioCtx.createGain(); + osc.type = 'sawtooth'; + osc.frequency.setValueAtTime(freq, droneAudioCtx.currentTime); + lfo.type = 'sine'; + lfo.frequency.setValueAtTime(0.1 + (Math.random() * 0.1), droneAudioCtx.currentTime); + lfoGain.gain.setValueAtTime(3, droneAudioCtx.currentTime); + lfo.connect(lfoGain); + lfoGain.connect(osc.frequency); + osc.connect(filter); + osc.start(droneAudioCtx.currentTime); + lfo.start(droneAudioCtx.currentTime); + }); + + droneInitialized = true; + console.log(">> GENERATIVE DRONE SYNTHESIZER PRE-LOADED."); + checkDroneState(); +} + +function checkDroneState() { + if (droneInitialized && droneShouldPlay && droneAudioCtx.state === 'running') { + const currTime = droneAudioCtx.currentTime; + // Chrome-safe volume ramping (tends to 0.15 exponentially) + mainDroneGain.gain.setTargetAtTime(0.15, currTime, 2.0); + } +} + +// Master-Unlock für Chrome: Context MUSS während eines User-Gestures erstellt/resumed werden. +const globalAudioUnlock = () => { + initDroneEngine(); + if (droneAudioCtx && droneAudioCtx.state === 'suspended') { + droneAudioCtx.resume().then(() => checkDroneState()); + } else { + checkDroneState(); + } +}; + +document.addEventListener('click', globalAudioUnlock); +document.addEventListener('keydown', globalAudioUnlock); + +function initAntigravity() { + const layers = document.querySelectorAll('.ag-parallax-layer'); + let audioStarted = false; + + window.addEventListener('scroll', () => { + // Trigger Drone Volume Ramp + if (!audioStarted && window.scrollY > 50) { + droneShouldPlay = true; + checkDroneState(); + audioStarted = true; + } + + // Parallax Effect + const scrolled = window.scrollY; + layers.forEach(layer => { + const speed = layer.getAttribute('data-speed') || 0.2; + const yPos = -(scrolled * speed); + layer.style.transform = `translateY(${yPos}px) translateZ(0)`; + }); + }); + + // Add floating effect to terminal if present + const mainTerminal = document.getElementById('terminal-container'); + if (mainTerminal) { + mainTerminal.classList.add('ag-floating'); + } +} + +document.addEventListener('DOMContentLoaded', initAntigravity); diff --git a/hugo_backup/single.php b/hugo_backup/single.php new file mode 100644 index 0000000..eac3d59 --- /dev/null +++ b/hugo_backup/single.php @@ -0,0 +1,198 @@ + +> + + + + <?php the_title(); ?> | DIGITALE ANARCHIE + + +> +
+
+

[ ZURÜCK ZUR BASIS ]

+

+
+ +
+
TOP SECRET
+
+ MISSION REPORT +

DATUM: | STATUS: ABGESCHLOSSEN

+
+ +
+ +
+ + + + +
+ +
+ © SASCHA RODE | DIGITALE ANARCHIE | HANDCODED WITH GEMINI +
+
+ + +
+ // MISSION_REPORT_FEED +
+
+ + [ INITIALISIERE ÜBERTRAGUNG... ] + [ DATENPAKETE WERDEN ENTSCHLÜSSELT... ] +
+
+
+ + + + + + + + diff --git a/hugo_backup/style.css b/hugo_backup/style.css new file mode 100644 index 0000000..60b97c3 --- /dev/null +++ b/hugo_backup/style.css @@ -0,0 +1,2277 @@ +/* +Theme Name: KI-Labor Minimal +Author: Sascha Rode & Gemini +Description: Ein radikal minimalistisches Theme für KI-Experimente. +Version: 1.0 +*/ + +:root { + --bg-color: #0d0d0d; + --text-color: #c0c0c0; + --accent-gold: #d4af37; + --accent-orange: #ff4500; +} + +body { + background-color: var(--bg-color); + color: var(--text-color); + font-family: 'Courier New', Courier, monospace; + margin: 0; + padding: 0; + line-height: 1.6; + overflow-x: hidden; +} + +/* BOOT SCREEN */ +#boot-screen { + position: fixed; + top: 0; left: 0; + width: 100%; height: 100%; + background: #000; + z-index: 10001; + color: #0f0; + font-family: 'Courier New', monospace; + padding: 20px; + overflow: hidden; + display: flex; + flex-direction: column-reverse; +} + +#boot-log { + font-size: 0.85rem; + line-height: 1.2; + white-space: pre-wrap; +} + +.main-content { + transition: opacity 2s ease-in-out; +} + +.main-content.visible { + opacity: 1 !important; +} + +.boot-line { margin-bottom: 2px; } +.boot-line.ok { color: #0f0; } +.boot-line.warn { color: #ff0; } +.boot-line.crit { color: #f00; font-weight: bold; } + +/* SCANLINE & FLICKER EFFEKT */ +@keyframes flicker { + 0% { opacity: 0.97; } + 5% { opacity: 0.95; } + 10% { opacity: 0.9; } + 15% { opacity: 0.95; } + 20% { opacity: 0.98; } + 100% { opacity: 1; } +} + +body::before { + content: ' '; + display: block; + position: fixed; + top: 0; left: 0; bottom: 0; right: 0; + background: linear-gradient(rgba(18, 16, 16, 0) 50%, rgba(0, 0, 0, 0.1) 50%), + linear-gradient(90deg, rgba(255, 0, 0, 0.03), rgba(0, 255, 0, 0.01), rgba(0, 0, 255, 0.03)); + z-index: 9999; + background-size: 100% 3px, 3px 100%; + pointer-events: none; + animation: flicker 0.1s infinite; +} + +/* SELF DESTRUCT OVERLAY */ +#destruction-overlay { + position: fixed; + top: 0; left: 0; + width: 100%; height: 100%; + background: #000; + color: #f00; + z-index: 10000; + display: none; + flex-direction: column; + justify-content: center; + align-items: center; + font-family: 'Courier New', monospace; + text-align: center; +} + +.destruct-msg { + font-size: 3rem; + font-weight: 900; + text-transform: uppercase; + letter-spacing: 10px; + margin-bottom: 20px; + text-shadow: 0 0 20px #f00; +} + +.destruct-sub { + font-size: 1.2rem; + color: #666; +} + +/* TERMINAL STYLES */ +.container { + max-width: 900px; + margin: 0 auto; + padding: 40px 20px; +} + +header { + text-align: center; + border-bottom: 2px solid #3d2b1f; + margin-bottom: 40px; + padding-bottom: 20px; +} + +h1 { + color: var(--accent-orange); + text-transform: uppercase; + letter-spacing: 5px; + margin: 0; + text-shadow: 0 0 15px rgba(255, 69, 0, 0.7); +} + +.tagline { + color: var(--accent-gold); + font-style: italic; + font-size: 1.2rem; +} + +.hero-image { + width: 100%; + border: 5px solid #3d2b1f; + box-shadow: 0 0 30px rgba(0,0,0,1); + margin: 20px 0; +} + +.content-box { + background: rgba(20, 20, 20, 0.8); + border-left: 5px solid var(--accent-orange); + padding: 20px; + margin-top: 40px; +} + +footer { + text-align: center; + font-size: 0.8rem; + color: #444; + margin-top: 100px; + border-top: 1px solid #222; + padding: 20px; +} + +/* Warn-Box Style */ +.warning-box { + border: 2px dashed var(--accent-orange); + padding: 10px; + margin-top: 20px; + color: var(--accent-orange); + font-weight: bold; + font-size: 0.85rem; + text-transform: uppercase; + display: inline-block; + animation: blinker 2s linear infinite; +} + +@keyframes blinker { + 50% { opacity: 0.3; } +} + +/* --- INTERAKTIVE MODI --- */ + +/* 1. KI-KERNEL (Matrix Style) */ +body.mode-kernel { + background-color: #000; + color: #0f0; + font-family: 'Courier New', monospace; +} +body.mode-kernel a, +body.mode-kernel h1, +body.mode-kernel .tagline, +body.mode-kernel .warning-box { + color: #0f0 !important; + text-shadow: 0 0 10px #0f0; + border-color: #0f0; +} +body.mode-kernel .hero-image { + filter: hue-rotate(90deg) contrast(1.5) brightness(1.2); + border-color: #0f0; +} + +/* 2. ANARCHIE (Glitch & Tilt) */ +@keyframes shake { + 0% { transform: translate(1px, 1px) rotate(0deg); } + 10% { transform: translate(-1px, -2px) rotate(-1deg); } + 20% { transform: translate(-3px, 0px) rotate(1deg); } + 30% { transform: translate(3px, 2px) rotate(0deg); } + 40% { transform: translate(1px, -1px) rotate(1deg); } + 50% { transform: translate(-1px, 2px) rotate(-1deg); } + 60% { transform: translate(-3px, 1px) rotate(0deg); } + 70% { transform: translate(3px, 1px) rotate(-1deg); } + 80% { transform: translate(-1px, -1px) rotate(1deg); } + 90% { transform: translate(1px, 2px) rotate(0deg); } + 100% { transform: translate(1px, -2px) rotate(-1deg); } +} +body.mode-anarchy { + animation: shake 0.3s infinite; + /* Ein fieser Red-Tint Filter auf dem gesamten Body, ohne das Layout zu sprengen */ + filter: grayscale(1) sepia(1) hue-rotate(-50deg) saturate(5) contrast(2); + background-color: #111; +} + +body.mode-anarchy .container { + /* Container behält sein Box-Model intakt */ + animation: none; + filter: none; +} + +/* 3. SECURITY BYPASS (Red Alert) */ +@keyframes red-alert { + 0% { box-shadow: inset 0 0 0 red; } + 50% { box-shadow: inset 0 0 100px red; } + 100% { box-shadow: inset 0 0 0 red; } +} +body.mode-security { + animation: red-alert 1s infinite; +} +body.mode-security::after { + content: "WARNING: UNAUTHORIZED ACCESS"; + position: fixed; + top: 50%; left: 50%; + transform: translate(-50%, -50%); + font-size: 5rem; + color: rgba(255, 0, 0, 0.2); + font-weight: 900; + z-index: 0; + pointer-events: none; + transform: translate(-50%, -50%) rotate(-15deg); +} + +/* DEEP SCAN MODE */ +body.mode-scan::before { + content: ''; + position: fixed; + left: 0; right: 0; + height: 3px; + background: linear-gradient(90deg, + transparent 0%, + rgba(0,255,65,0.0) 10%, + rgba(0,255,65,0.9) 50%, + rgba(0,255,65,0.0) 90%, + transparent 100% + ); + box-shadow: 0 0 18px 4px rgba(0,255,65,0.4); + z-index: 99999; + pointer-events: none; + animation: scan-line 2.4s linear infinite; +} +body.mode-scan::after { + content: 'SCANNING...'; + position: fixed; + top: 12px; right: 16px; + font-family: 'Courier New', monospace; + font-size: 0.55rem; + letter-spacing: 4px; + color: rgba(0,255,65,0.5); + z-index: 99999; + pointer-events: none; + animation: blinker 0.8s step-end infinite; +} +body.mode-scan { + background-image: repeating-linear-gradient( + 0deg, + transparent, + transparent 2px, + rgba(0,255,65,0.018) 2px, + rgba(0,255,65,0.018) 4px + ); +} +@keyframes scan-line { + 0% { top: -4px; } + 100% { top: 100vh; } +} + +/* OVERDRIVE MODE */ +body.mode-overdrive { + filter: saturate(2.2) contrast(1.15) brightness(1.05); +} +body.mode-overdrive h1, +body.mode-overdrive h2, +body.mode-overdrive h3 { + text-shadow: 0 0 12px currentColor, 0 0 30px currentColor !important; +} +body.mode-overdrive .switch-btn, +body.mode-overdrive .filter-btn, +body.mode-overdrive .portfolio-item { + box-shadow: 0 0 10px rgba(255,69,0,0.4) !important; +} +body.mode-overdrive #system-log { + box-shadow: inset 0 0 30px rgba(0,255,65,0.15), 0 0 20px rgba(0,255,65,0.2) !important; + border-color: rgba(0,255,65,0.5) !important; +} +body.mode-overdrive::after { + content: 'OVERDRIVE'; + position: fixed; + bottom: 36px; right: 16px; + font-family: 'Courier New', monospace; + font-size: 0.5rem; + letter-spacing: 5px; + color: rgba(255,69,0,0.35); + pointer-events: none; + z-index: 9400; +} + +/* ═══════════════════════════════════════ + CONTROL PANEL — CYBERPUNK METAL BUTTONS +═══════════════════════════════════════ */ +.control-panel { + display: flex; + flex-wrap: wrap; + gap: 6px; + max-width: 750px; + margin: 0 auto 20px; + padding: 10px; + background: + linear-gradient(180deg, rgba(40,35,30,0.6) 0%, rgba(8,6,4,0.95) 50%, rgba(30,25,20,0.6) 100%); + border-top: 1px solid rgba(255,255,255,0.07); + border-bottom: 1px solid rgba(0,0,0,0.9); + border-left: 1px solid rgba(255,255,255,0.04); + border-right: 1px solid rgba(255,255,255,0.04); + box-shadow: + 0 6px 30px rgba(0,0,0,0.8), + inset 0 1px 0 rgba(255,255,255,0.05); +} + +.switch-btn { + flex: 1; + min-width: 110px; + padding: 11px 10px 9px; + font-family: 'Courier New', monospace; + font-size: 0.6rem; + letter-spacing: 2px; + text-transform: uppercase; + cursor: pointer; + position: relative; + transition: all 0.12s ease; + user-select: none; + + /* Metal plate */ + background: linear-gradient( + 170deg, + #252018 0%, + #111008 45%, + #0d0b06 55%, + #1e1a10 100% + ); + border-top: 1px solid rgba(255,220,100,0.12); + border-left: 1px solid rgba(255,220,100,0.06); + border-right: 1px solid rgba(0,0,0,0.7); + border-bottom: 2px solid rgba(0,0,0,0.85); + box-shadow: + inset 0 1px 0 rgba(255,220,80,0.06), + inset 0 -1px 0 rgba(0,0,0,0.6), + 0 2px 6px rgba(0,0,0,0.6); + + /* Neon text — orange default */ + color: rgba(255,120,20,0.75); + text-shadow: + 0 0 6px rgba(255,100,0,0.6), + 0 0 14px rgba(255,80,0,0.3); +} + +.switch-btn::before { + content: ''; + position: absolute; + top: 0; left: 0; right: 0; + height: 40%; + background: linear-gradient(180deg, rgba(255,220,80,0.04) 0%, transparent 100%); + pointer-events: none; +} + +.switch-btn:hover { + background: linear-gradient( + 170deg, + #302a1a 0%, + #1a1508 45%, + #141208 55%, + #28220e 100% + ); + color: rgba(255,140,30,0.95); + text-shadow: + 0 0 8px rgba(255,120,0,0.9), + 0 0 20px rgba(255,80,0,0.5), + 0 0 40px rgba(255,60,0,0.2); + border-top-color: rgba(255,220,100,0.2); + box-shadow: + inset 0 1px 0 rgba(255,220,80,0.1), + inset 0 -1px 0 rgba(0,0,0,0.6), + 0 0 12px rgba(255,100,0,0.15), + 0 2px 6px rgba(0,0,0,0.6); +} + +.switch-btn:active, +.switch-btn.active { + background: linear-gradient( + 170deg, + #0d0b06 0%, + #181408 45%, + #1a1608 55%, + #111008 100% + ); + border-top: 1px solid rgba(0,0,0,0.5); + border-bottom: 1px solid rgba(255,180,50,0.15); + box-shadow: + inset 0 2px 8px rgba(0,0,0,0.8), + inset 0 1px 3px rgba(0,0,0,0.5), + 0 0 16px rgba(255,100,0,0.2); + transform: translateY(1px); + color: rgba(255,160,40,1); + text-shadow: + 0 0 10px rgba(255,140,0,1), + 0 0 25px rgba(255,100,0,0.7), + 0 0 50px rgba(255,60,0,0.3); +} + +/* Green variant — ANARCHIE-MODE */ +.switch-btn.green { + color: rgba(0,255,65,0.7); + text-shadow: 0 0 6px rgba(0,255,65,0.6), 0 0 14px rgba(0,255,65,0.3); +} +.switch-btn.green:hover { + color: rgba(0,255,65,0.95); + text-shadow: 0 0 8px rgba(0,255,65,0.9), 0 0 22px rgba(0,255,65,0.5), 0 0 40px rgba(0,255,65,0.2); + box-shadow: inset 0 1px 0 rgba(255,220,80,0.1), 0 0 12px rgba(0,255,65,0.15), 0 2px 6px rgba(0,0,0,0.6); +} +.switch-btn.green:active, +.switch-btn.green.active { + color: rgba(0,255,65,1); + text-shadow: 0 0 10px rgba(0,255,65,1), 0 0 25px rgba(0,255,65,0.7), 0 0 50px rgba(0,255,65,0.3); + box-shadow: inset 0 2px 8px rgba(0,0,0,0.8), 0 0 16px rgba(0,255,65,0.2); +} + +/* Red variant — OVERDRIVE */ +.switch-btn.red { + color: rgba(255,40,10,0.75); + text-shadow: 0 0 6px rgba(255,20,0,0.7), 0 0 14px rgba(255,0,0,0.3); +} +.switch-btn.red:hover { + color: rgba(255,60,20,0.95); + text-shadow: 0 0 8px rgba(255,30,0,0.9), 0 0 22px rgba(255,0,0,0.6), 0 0 40px rgba(255,0,0,0.2); + box-shadow: inset 0 1px 0 rgba(255,220,80,0.1), 0 0 12px rgba(255,30,0,0.2), 0 2px 6px rgba(0,0,0,0.6); +} +.switch-btn.red:active, +.switch-btn.red.active { + color: rgba(255,60,20,1); + text-shadow: 0 0 10px rgba(255,40,0,1), 0 0 25px rgba(255,20,0,0.7), 0 0 50px rgba(255,0,0,0.3); + box-shadow: inset 0 2px 8px rgba(0,0,0,0.8), 0 0 18px rgba(255,30,0,0.25); + animation: blinker 0.4s step-end infinite; +} + +/* 4. GHOST MODE (Stealth & Invisibility) */ +body.mode-ghost #system-log { + opacity: 0.8; + transition: all 2s ease; + animation: ghost-pulse 4s infinite; + border-color: rgba(0, 255, 0, 0.3); +} + +body.mode-ghost .portfolio-grid { + filter: grayscale(1) brightness(0.5); + pointer-events: none; +} + +body.mode-ghost #terminal-input, +body.mode-ghost .prompt { + color: rgba(0, 255, 0, 0.8); /* Deutlich lesbar bleiben */ + text-shadow: 0 0 5px rgba(0, 255, 0, 0.5); +} + +@keyframes ghost-pulse { + 0% { opacity: 0.7; } + 50% { opacity: 1.0; } + 100% { opacity: 0.7; } +} + +/* TERMINAL STYLES */ +#system-log { + background: #000; + border: 1px solid #333; + color: #0f0; + font-family: 'Courier New', monospace; + padding: 15px; + margin-top: 0; + min-height: 250px; + display: flex; + flex-direction: column; + box-shadow: inset 0 0 10px #000; + transition: min-height 0.55s cubic-bezier(0.4,0,0.2,1); +} + +#log-output { + flex-grow: 1; + overflow-y: auto; + font-size: 0.9rem; + display: flex; + flex-direction: column-reverse; +} + +.log-entry.ghost { + color: rgba(0, 255, 0, 0.4); + font-size: 0.75rem; + letter-spacing: 2px; + text-shadow: 0 0 5px rgba(0, 255, 0, 0.2); +} + +.log-entry.user-cmd { + color: var(--accent-orange); + font-weight: bold; +} + +.log-entry.info { color: var(--accent-gold); } +.log-entry.error { color: #f00; font-weight: bold; } +.log-entry.ok { color: #0f0; } +.log-entry.warn { color: #ff0; } + +.terminal-input-line { + display: flex; + border-top: 1px solid #111; + padding-top: 10px; + margin-top: 5px; +} + +.prompt { + color: #0f0; + margin-right: 10px; + font-weight: bold; +} + +#terminal-input { + background: transparent; + border: none; + color: #0f0; + font-family: 'Courier New', monospace; + width: 100%; + outline: none; + font-size: 0.9rem; +} + +/* CONTENT HEADER & FILTER */ +.content-header { + display: flex; + justify-content: space-between; + align-items: center; + border-bottom: 1px solid #333; + margin-bottom: 20px; + padding-bottom: 10px; +} + +.filter-controls { + display: flex; + gap: 10px; +} + +.filter-btn { + background: transparent; + border: 1px solid #444; + color: #888; + padding: 2px 8px; + font-family: 'Courier New', monospace; + font-size: 0.7rem; + cursor: pointer; + transition: all 0.2s; +} + +.filter-btn:hover, .filter-btn.active { + border-color: var(--accent-orange); + color: var(--accent-orange); +} + +/* CLASSIFICATION STAMP */ +.classification-stamp { + position: absolute; + top: 40px; + right: 40px; + border: 5px double rgba(255, 0, 0, 0.4); + color: rgba(255, 0, 0, 0.4); + padding: 10px 30px; + font-size: 1.8rem; + font-weight: 900; + text-transform: uppercase; + transform: rotate(12deg); + user-select: none; + pointer-events: none; + letter-spacing: 8px; + z-index: 5; + box-shadow: 0 0 10px rgba(255, 0, 0, 0.1); + background: rgba(255, 0, 0, 0.02); +} + +.classification-stamp::after { + content: "EYES ONLY"; + display: block; + font-size: 0.6rem; + text-align: center; + letter-spacing: 2px; + margin-top: 5px; + font-weight: 400; +} + +/* HERO GLITCH EFFECTS */ +.hero-image { + max-width: 750px; + width: 100%; + display: block; + margin: 20px auto; + border: 5px solid #3d2b1f; + box-shadow: 0 0 30px rgba(0,0,0,1); + transition: all 0.5s ease; +} + +body.mode-security .hero-image { + filter: sepia(1) saturate(5) hue-rotate(-50deg); + animation: shake 0.2s infinite; +} + +body.mode-anarchy .hero-image { + filter: invert(1) contrast(3); + /* Das Bild wird nicht mehr gnadenlos abgeschnitten, sondern erbt den Portfolio-Glitch Effekt */ + animation: portfolio-glitch 0.2s infinite; +} + +.mission-content img { + max-width: 500px; + width: 100%; + height: auto; + border: 2px solid #333; + margin: 30px auto; + filter: grayscale(0.5) contrast(1.2); + box-shadow: 0 0 20px rgba(0,0,0,0.5); + display: block; +} + +.image-caption { + font-size: 0.75rem; + color: var(--accent-gold); + text-transform: uppercase; + margin-top: -20px; + margin-bottom: 30px; + text-align: center; + letter-spacing: 2px; +} + +/* PORTFOLIO LINK & GRID */ + +.item-excerpt, .item-excerpt p { + font-size: 0.85rem; + color: #888; + margin: 5px 0 0 0; + line-height: 1.4; + text-decoration: none !important; +} + +/* FORTUNE TEASER */ +.fortune-teaser { + margin-top: 16px; + padding: 18px 24px; + border: 1px solid #2a2a2a; + border-left: 3px solid var(--accent-gold); + background: rgba(212, 175, 55, 0.03); + cursor: pointer; + transition: background 0.2s, border-color 0.2s; + display: flex; + align-items: baseline; + gap: 24px; + flex-wrap: wrap; +} + +.fortune-teaser:hover { + background: rgba(212, 175, 55, 0.07); + border-left-color: var(--accent-orange); +} + +.fortune-teaser-label { + color: #444; + font-size: 0.65rem; + letter-spacing: 2px; + white-space: nowrap; + flex-shrink: 0; +} + +.fortune-teaser-text { + color: #777; + font-size: 0.8rem; + margin: 0; + flex: 1; + line-height: 1.5; +} + +.fortune-teaser-text em { + color: var(--accent-gold); + font-style: normal; +} + +.fortune-teaser-hint { + color: #444; + font-size: 0.75rem; + white-space: nowrap; + flex-shrink: 0; +} + +.fortune-teaser-hint code { + color: var(--accent-gold); + font-family: 'Courier New', monospace; +} + +/* COMMAND CARDS */ +.cmd-cards-section { + display: grid; + grid-template-columns: repeat(3, 1fr); + gap: 20px; + margin-top: 40px; +} + +.cmd-card { + background: rgba(15, 15, 15, 0.9); + border: 1px solid #333; + border-top: 3px solid var(--accent-orange); + display: flex; + flex-direction: column; + transition: border-color 0.2s, box-shadow 0.2s; +} + +.cmd-card:hover { + border-color: var(--accent-gold); + box-shadow: 0 0 20px rgba(212, 175, 55, 0.25); +} + +.cmd-card-img { + width: 100%; + height: 180px; + object-fit: cover; + object-position: top; + filter: sepia(0.4) brightness(0.7); + display: block; +} + +.cmd-card-body { + padding: 18px; + display: flex; + flex-direction: column; + gap: 8px; + flex: 1; +} + +.cmd-card-label { + color: #555; + font-size: 0.65rem; + letter-spacing: 2px; +} + +.cmd-card-title { + color: var(--accent-orange); + font-size: 1.1rem; + margin: 0; + font-family: 'Courier New', monospace; + letter-spacing: 1px; +} + +.cmd-card-text { + color: #aaa; + font-size: 0.8rem; + line-height: 1.6; + margin: 0; + flex: 1; +} + +.cmd-card-hint { + display: block; + color: #444; + font-size: 0.7rem; + border-top: 1px solid #222; + padding-top: 10px; + margin-top: 4px; + letter-spacing: 1px; +} + +.cmd-card-hint code { + color: #0f0; + background: rgba(0,255,0,0.05); + padding: 1px 5px; + font-family: 'Courier New', monospace; +} + +@media (max-width: 768px) { + .cmd-cards-section { + grid-template-columns: 1fr; + } +} + +/* PORTFOLIO GRID */ +.portfolio-grid { + display: grid; + grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); + gap: 20px; + margin-top: 50px; +} + +.portfolio-item { + background: rgba(15, 15, 15, 0.9); + border: 1px solid #333; + padding: 25px 20px 20px 20px; + position: relative; + transition: all 0.3s; + height: 100%; + display: flex; + flex-direction: column; + justify-content: flex-start; +} + +.portfolio-link:hover .portfolio-item { + border-color: var(--accent-orange); + box-shadow: 0 0 25px rgba(255, 69, 0, 0.4); + animation: portfolio-glitch 0.3s infinite; + z-index: 10; +} + +@keyframes portfolio-glitch { + 0% { transform: translate(0, -5px) skew(0deg); filter: drop-shadow(2px 0 0 rgba(255,0,0,0.5)) drop-shadow(-2px 0 0 rgba(0,0,255,0.5)); } + 25% { transform: translate(-2px, -4px) skew(1deg); filter: drop-shadow(-2px 0 0 rgba(255,0,0,0.5)) drop-shadow(2px 0 0 rgba(0,0,255,0.5)); } + 50% { transform: translate(2px, -6px) skew(-1deg); filter: drop-shadow(2px 0 0 rgba(255,0,0,0.5)) drop-shadow(-2px 0 0 rgba(0,0,255,0.5)); } + 75% { transform: translate(-1px, -5px) skew(2deg); filter: drop-shadow(-2px 0 0 rgba(255,0,0,0.5)) drop-shadow(2px 0 0 rgba(0,0,255,0.5)); } + 100% { transform: translate(0, -5px) skew(0deg); filter: drop-shadow(2px 0 0 rgba(255,0,0,0.5)) drop-shadow(-2px 0 0 rgba(0,0,255,0.5)); } +} + +/* PROJECT THUMBNAILS (Evidence Photo Style) */ +.project-header-wrap { + display: flex; + align-items: center; + gap: 15px; + margin-bottom: 10px; + border-bottom: 1px solid #222; + padding-bottom: 15px; +} + +.project-thumb { + width: 60px; + height: 60px; + object-fit: cover; + border: 3px solid #eee; /* Polaroid Rand */ + filter: grayscale(1) contrast(1.2) sepia(0.3); + transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275); + transform: rotate(-3deg); + box-shadow: 2px 2px 5px rgba(0,0,0,0.5); + flex-shrink: 0; +} + +/* Klebestreifen oben links */ +.project-thumb::before { + content: ""; + position: absolute; + top: -10px; + left: 50%; + width: 30px; + height: 10px; + background: rgba(255, 255, 255, 0.1); + transform: translateX(-50%); + box-shadow: 0 0 5px rgba(0,0,0,0.2); +} + +.portfolio-link:hover .project-thumb { + filter: grayscale(0) contrast(1); + transform: rotate(0deg) scale(1.1); + border-color: var(--accent-gold); + box-shadow: 0 0 20px rgba(212, 175, 55, 0.4); +} + +.portfolio-item h3 { + color: var(--accent-gold); + margin: 0; + font-size: 1rem; + flex-grow: 1; + text-transform: uppercase; + letter-spacing: 1px; +} + +.status-tag { + font-size: 0.7rem; + background: #222; + padding: 2px 8px; + position: absolute; + top: 10px; + right: 10px; + border: 1px solid #444; + z-index: 10; +} + +.status-tag.stable { color: #0f0; border-color: #0f0; } +.status-tag.corrupted { color: #f00; border-color: #f00; animation: blinker 1s infinite; } + +/* --- TIMELINE MODAL --- */ +#timeline-modal { + position: fixed; top: 0; left: 0; width: 100%; height: 100%; + background: url('assets/img/steampunk_bg.png') center/cover no-repeat, rgba(15, 10, 5, 0.95); + background-blend-mode: multiply; + z-index: 20000; + overflow-y: auto; + padding: 40px 20px; + font-family: 'Courier New', monospace; + opacity: 1; transition: opacity 0.5s; + box-shadow: inset 0 0 100px #000; +} +#timeline-modal.timeline-hidden { + opacity: 0; pointer-events: none; +} +#close-timeline { + position: fixed; top: 20px; right: 30px; + background: rgba(0,0,0,0.5); color: var(--accent-orange); border: 2px solid var(--accent-orange); + padding: 10px 20px; font-weight: bold; cursor: pointer; z-index: 20001; + box-shadow: 0 0 10px rgba(255,69,0,0.5); + text-shadow: 0 0 5px #000; +} +#close-timeline:hover { background: var(--accent-orange); color: #000; } + +/* STEAMPUNK MIRROR PORTRAIT */ +.mutter-portrait-wrap { + text-align: center; + margin: 24px auto 8px; + position: relative; + width: fit-content; + cursor: zoom-in; + z-index: 1; +} +.mutter-mirror-frame { + display: inline-block; + position: relative; + padding: 18px; + background: radial-gradient(ellipse at center, rgba(212,175,55,0.08) 0%, transparent 70%); +} +.mutter-mirror-frame::before { + content: '⚙ ✦ ⚙ ✦ ⚙ ✦ ⚙'; + display: block; + text-align: center; + color: rgba(212,175,55,0.35); + font-size: 0.65rem; + letter-spacing: 6px; + margin-bottom: 6px; +} +.mutter-mirror-frame::after { + content: '⚙ ✦ ⚙ ✦ ⚙ ✦ ⚙'; + display: block; + text-align: center; + color: rgba(212,175,55,0.35); + font-size: 0.65rem; + letter-spacing: 6px; + margin-top: 6px; +} +.mutter-mirror-inner { + position: relative; + display: inline-block; + border-radius: 50%; + padding: 5px; + background: conic-gradient( + #3a2200 0deg, #b87333 30deg, #d4af37 60deg, #8b5e00 90deg, + #b87333 120deg, #5c3a21 150deg, #d4af37 180deg, #b87333 210deg, + #3a2200 240deg, #d4af37 270deg, #b87333 300deg, #5c3a21 330deg, + #3a2200 360deg + ); + box-shadow: + 0 0 0 2px rgba(212,175,55,0.15), + 0 0 12px rgba(184,115,51,0.3), + inset 0 0 6px rgba(0,0,0,0.5); + transition: + transform 0.42s cubic-bezier(0.34, 1.56, 0.64, 1), + box-shadow 0.35s; +} +.mutter-mirror-inner::before, +.mutter-mirror-inner::after { + content: ''; + position: absolute; + border-radius: 50%; + pointer-events: none; +} +.mutter-mirror-inner::before { + inset: -9px; + border: 1px dashed rgba(212,175,55,0.2); +} +.mutter-mirror-inner::after { + inset: -16px; + border: 1px solid rgba(184,115,51,0.12); +} +.mutter-mirror-img { + display: block; + width: 150px; + height: 150px; + border-radius: 50%; + object-fit: cover; + object-position: center 18%; + opacity: 0.6; + filter: sepia(0.35) brightness(0.82) contrast(1.05); + transition: opacity 0.35s, filter 0.35s; +} +.mutter-mirror-deco { + position: absolute; + color: rgba(212,175,55,0.4); + font-size: 1rem; + line-height: 1; + pointer-events: none; + transition: color 0.3s, text-shadow 0.3s; +} +.mutter-mirror-deco.top { top: 2px; left: 50%; transform: translateX(-50%); } +.mutter-mirror-deco.bottom { bottom: 2px; left: 50%; transform: translateX(-50%); } +.mutter-mirror-deco.left { left: 2px; top: 50%; transform: translateY(-50%); } +.mutter-mirror-deco.right { right: 2px; top: 50%; transform: translateY(-50%); } + +/* --- PORTRAIT HOVER EFFEKT --- */ +.mutter-portrait-wrap { + cursor: zoom-in; + position: relative; + z-index: 1; +} +.mutter-portrait-wrap:hover { + z-index: 5; +} +.mutter-portrait-wrap:hover .mutter-mirror-inner { + transform: scale(1.7); + box-shadow: + 0 0 0 3px rgba(212,175,55,0.3), + 0 0 30px rgba(184,115,51,0.7), + 0 0 65px rgba(212,175,55,0.3), + inset 0 0 8px rgba(0,0,0,0.5); +} +.mutter-portrait-wrap:hover .mutter-mirror-inner::before { + animation: portrait-ring-cw 1.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards; + border-color: rgba(212,175,55,0.5); +} +.mutter-portrait-wrap:hover .mutter-mirror-inner::after { + animation: portrait-ring-ccw 2s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards; + border-color: rgba(184,115,51,0.3); +} +@keyframes portrait-ring-cw { + from { transform: rotate(0deg); } + to { transform: rotate(210deg); } +} +@keyframes portrait-ring-ccw { + from { transform: rotate(0deg); } + to { transform: rotate(-150deg); } +} +.mutter-portrait-wrap:hover .mutter-mirror-img { + opacity: 0.88; + filter: sepia(0.1) brightness(0.95) contrast(1.1); +} +.mutter-portrait-wrap:hover .modal-portrait-placeholder { + filter: sepia(0) brightness(1.05); +} +.mutter-portrait-wrap:hover .mutter-mirror-deco { + color: rgba(212,175,55,0.9); + text-shadow: 0 0 10px rgba(212,175,55,0.7); +} + +.timeline-track { + position: relative; max-width: 800px; margin: 40px auto; +} +/* Kupferrohr in der Mitte */ +.timeline-track::after { + content: ''; position: absolute; + width: 8px; + background: linear-gradient(to right, #5c3a21 0%, #b87333 50%, #5c3a21 100%); + top: 0; bottom: 0; left: 50%; margin-left: -4px; + box-shadow: 2px 0 10px rgba(0,0,0,0.9); + border-radius: 4px; +} + +.time-node { + padding: 10px 40px; position: relative; background: inherit; width: 50%; box-sizing: border-box; +} +.time-node.left { left: 0; text-align: right; } +.time-node.right { left: 50%; text-align: left; } + +/* Ventil / dicker Kupferknoten auf dem Rohr */ +.time-node::after { + content: ''; position: absolute; + width: 24px; height: 24px; right: -16px; top: 15px; + background: radial-gradient(circle, #d4af37 20%, #8b5a2b 80%); + border: 3px solid #3e2723; border-radius: 50%; z-index: 1; + box-shadow: 0 0 15px rgba(0,0,0,0.9), inset 0 0 5px #000; +} +.time-node.right::after { left: -16px; } + +/* Steampunk Kästchen */ +.time-content { + padding: 25px; + background: linear-gradient(135deg, rgba(50, 30, 15, 0.95), rgba(20, 10, 5, 0.95)); + border: 2px solid #b5a642; + outline: 2px solid #2a1f18; /* Kabel-Base */ + outline-offset: 4px; + box-shadow: inset 0 0 20px rgba(0,0,0,0.8), 5px 5px 20px rgba(0,0,0,0.7); + position: relative; border-radius: 3px; +} +/* Subtile Kabelverschlaufung (Kupferdraht) um normale Boxen */ +.time-content::after { + content: ''; position: absolute; top: -6px; left: -6px; right: -6px; bottom: -6px; + border: 1px dashed #b87333; + border-radius: 5px; + pointer-events: none; + opacity: 0.6; + z-index: 2; +} + +/* Messing-Nieten in den Ecken */ +.time-content::before { + content: ''; position: absolute; width: 100%; height: 100%; left: 0; top: 0; pointer-events: none; + background-image: + radial-gradient(circle at 10px 10px, #b5a642 3px, transparent 4px), + radial-gradient(circle at calc(100% - 10px) 10px, #b5a642 3px, transparent 4px), + radial-gradient(circle at 10px calc(100% - 10px), #b5a642 3px, transparent 4px), + radial-gradient(circle at calc(100% - 10px) calc(100% - 10px), #b5a642 3px, transparent 4px); + opacity: 0.8; +} + +.time-content h3 { + margin-top: 8px; color: #d4af37; + border-bottom: 1px dashed #b5a642; + padding-bottom: 5px; + text-shadow: 1px 1px 2px #000; + font-size: 1.1rem; + letter-spacing: 2px; +} +.time-content p { font-size: 0.9rem; color: #e8dcc4; line-height: 1.5; text-shadow: 1px 1px 2px #000; margin-bottom: 0; } + +/* Akte-Kopfstreifen */ +.tc-header { + margin: -25px -25px 12px -25px; + padding: 5px 14px; + background: linear-gradient(90deg, rgba(181,166,66,0.15), rgba(181,166,66,0.05)); + border-bottom: 1px solid #b5a642; + font-size: 0.6rem; + letter-spacing: 2px; + color: #8a7a30; + text-transform: uppercase; +} + +.tc-stamp { + color: #b5a642; + border: 1px solid #b5a642; + padding: 0 5px; + font-size: 0.55rem; + letter-spacing: 3px; + vertical-align: middle; +} + +.tc-stamp.omega { + color: var(--accent-orange); + border-color: var(--accent-orange); + animation: blinker 1.2s infinite; +} + +/* Akte-Fußstreifen */ +.tc-footer { + margin: 12px -25px -25px -25px; + padding: 5px 14px; + background: linear-gradient(90deg, rgba(181,166,66,0.05), rgba(181,166,66,0.12)); + border-top: 1px solid #3a2e10; + font-size: 0.55rem; + letter-spacing: 2px; + color: #5a4e20; + text-transform: uppercase; +} + +/* OMEGA KNOTEN - Die Überraschung (Elektro-Arc) */ +.time-content.omega-node { + border-color: #ff4500; + outline: 2px solid #330000; + box-shadow: inset 0 0 30px rgba(255, 69, 0, 0.5), 0 0 30px rgba(255, 0, 0, 0.8); + background: linear-gradient(135deg, rgba(80, 20, 10, 0.95), rgba(30, 0, 0, 0.95)); + animation: omega-pulse 2s infinite alternate, omega-shake 0.5s infinite; +} +.time-content.omega-node::after { + content: ''; position: absolute; top: -8px; left: -8px; right: -8px; bottom: -8px; + border: 2px solid #0ff; /* Plasma cyan */ + border-radius: 6px; + box-shadow: 0 0 15px #0ff, inset 0 0 10px #0ff; + animation: electric-arc 0.15s infinite; + pointer-events: none; + opacity: 0.9; + z-index: 2; +} + +@keyframes omega-pulse { + 0% { box-shadow: inset 0 0 30px rgba(255, 69, 0, 0.4), 0 0 20px rgba(255, 0, 0, 0.6); } + 100% { box-shadow: inset 0 0 60px rgba(255, 69, 0, 0.9), 0 0 40px rgba(255, 0, 0, 1); } +} + +@keyframes omega-shake { + 0%, 100% { transform: translate(0, 0) rotate(0deg); } + 25% { transform: translate(0.5px, 0.5px) rotate(0.2deg); } + 50% { transform: translate(-0.5px, -0.5px) rotate(-0.2deg); } + 75% { transform: translate(0.5px, -0.5px) rotate(0.2deg); } +} + +@keyframes electric-arc { + 0% { clip-path: polygon(0 0, 100% 0, 100% 5%, 0 5%); border-color: #0ff; } + 25% { clip-path: polygon(95% 0, 100% 0, 100% 100%, 95% 100%); border-color: #fff; } + 50% { clip-path: polygon(0 95%, 100% 95%, 100% 100%, 0 100%); border-color: #0ff; } + 75% { clip-path: polygon(0 0, 5% 0, 5% 100%, 0 100%); border-color: #fff; } + 100% { clip-path: polygon(0 0, 100% 0, 100% 20%, 0 20%); border-color: #0ff; } +} + +@media screen and (max-width: 600px) { + .timeline-track::after { left: 31px; } + .time-node { width: 100%; padding-left: 70px; padding-right: 25px; } + .time-node.left { text-align: left; } + .time-node.right { left: 0; } + .time-node.left::after, .time-node.right::after { left: 19px; } +} + +/* --- PERSON NAV ROW (Timeline Modal) --- */ +.person-nav-row { + display: flex; + justify-content: center; + gap: 20px; + margin: 16px 0 28px; + flex-wrap: wrap; + padding: 0 16px; +} +.person-nav-item { + text-decoration: none; + display: flex; + flex-direction: column; + align-items: center; + gap: 6px; + position: relative; + z-index: 1; +} +.person-nav-item:hover { + z-index: 10; +} +.person-nav-portrait { + width: 90px; + height: 90px; + border-radius: 50%; + background: radial-gradient(circle at 38% 38%, rgba(212,175,55,0.14) 0%, rgba(0,0,0,0.9) 70%); + border: 2px solid rgba(212,175,55,0.22); + box-shadow: 0 0 0 4px rgba(212,175,55,0.04), 0 0 14px rgba(212,175,55,0.05); + display: flex; + align-items: center; + justify-content: center; + font-size: 1.5rem; + color: rgba(212,175,55,0.32); + font-family: 'Courier New', monospace; + letter-spacing: 1px; + filter: sepia(0.2); + position: relative; + transform-origin: center bottom; + transition: + transform 0.38s cubic-bezier(0.34, 1.56, 0.64, 1), + border-color 0.25s, + box-shadow 0.25s, + color 0.25s, + filter 0.25s; + overflow: hidden; +} +.person-nav-portrait img { + width: 100%; + height: 100%; + object-fit: cover; + transition: transform 0.3s ease; +} +.comic-zoom-trigger { + cursor: zoom-in; +} +@keyframes comicBounce { + 0%, 100% { transform: translateY(0) scale(2.2); } + 50% { transform: translateY(-8px) scale(2.3); } +} +/* Innerer rotierender Ring */ +.person-nav-portrait::before { + content: ''; + position: absolute; + inset: -8px; + border-radius: 50%; + border: 1px dashed rgba(212,175,55,0.15); + pointer-events: none; + transition: transform 0.6s ease, border-color 0.3s, opacity 0.3s; + opacity: 0.4; +} +/* Äußerer rotierender Ring */ +.person-nav-portrait::after { + content: ''; + position: absolute; + inset: -16px; + border-radius: 50%; + border: 1px solid rgba(212,175,55,0.07); + pointer-events: none; + transition: transform 0.9s ease, border-color 0.3s, opacity 0.3s; + opacity: 0.25; +} +.person-nav-item:hover .person-nav-portrait { + transform: scale(2.2); + animation: comicBounce 0.6s infinite alternate ease-in-out; + border-color: rgba(212,175,55,0.7); + box-shadow: + 0 0 0 3px rgba(212,175,55,0.08), + 0 0 25px rgba(212,175,55,0.6), + 0 0 60px rgba(212,175,55,0.3), + inset 0 0 14px rgba(212,175,55,0.06); + color: rgba(212,175,55,0.92); + filter: sepia(0) brightness(1.1) contrast(1.05); +} +.person-nav-item:hover .person-nav-portrait::before { + transform: rotate(135deg); + border-color: rgba(212,175,55,0.4); + opacity: 0.85; +} +.person-nav-item:hover .person-nav-portrait::after { + transform: rotate(-90deg); + border-color: rgba(212,175,55,0.22); + opacity: 0.65; +} +.person-nav-label { + font-size: 0.8rem; + font-weight: bold; + letter-spacing: 2px; + color: rgba(212,175,55,0.6); + font-family: 'Courier New', monospace; + text-transform: uppercase; + text-decoration: underline; + text-underline-offset: 4px; + text-decoration-color: rgba(212,175,55,0.2); + transition: all 0.25s ease; +} +.person-nav-item:hover .person-nav-label { + color: var(--accent-gold); + text-decoration-color: var(--accent-gold); + text-shadow: 0 0 8px rgba(212,175,55,0.4); +} +.person-nav-item.active .person-nav-portrait { + border-color: rgba(212,175,55,0.7); + box-shadow: 0 0 0 4px rgba(212,175,55,0.08), 0 0 24px rgba(212,175,55,0.2); + color: rgba(212,175,55,0.85); + filter: sepia(0); +} +.person-nav-item.active .person-nav-label { + color: rgba(212,175,55,0.7); +} + +/* Modal portrait placeholder circle */ +.modal-portrait-placeholder { + width: 150px; + height: 150px; + border-radius: 50%; + background: radial-gradient(circle at 38% 38%, rgba(212,175,55,0.18) 0%, rgba(30,20,5,0.95) 65%); + display: flex; + align-items: center; + justify-content: center; + flex-direction: column; + gap: 5px; + filter: sepia(0.2); +} +.modal-portrait-placeholder span:first-child { + font-size: 3rem; + color: rgba(212,175,55,0.38); + font-family: 'Courier New', monospace; + line-height: 1; +} +.modal-portrait-hint { + font-size: 0.42rem; + letter-spacing: 3px; + color: rgba(212,175,55,0.2); + font-family: 'Courier New', monospace; +} + +/* TIME WARP GLITCH */ +body.mode-time-warp { + animation: shake 0.1s infinite; + filter: sepia(100%) hue-rotate(-20deg) contrast(200%) brightness(0.8) blur(1px); +} + +/* --- ANTIGRAVITY PHASE --- */ +:root { + --ag-float-duration: 6s; + --ag-drift-offset: 15px; +} + +.ag-floating { + animation: ag-float var(--ag-float-duration) ease-in-out infinite; + will-change: transform; + transform: translateZ(0); /* Force GPU Acceleration for M4 */ +} + +@keyframes ag-float { + 0%, 100% { + transform: translateY(0) translateZ(0); + } + 50% { + transform: translateY(calc(-1 * var(--ag-drift-offset))) translateZ(0); + } +} + +.ag-parallax-layer { + transition: transform 0.1s cubic-bezier(0.2, 0.8, 0.2, 1); + will-change: transform; +} + +.ag-weightless { + opacity: 0.85; + filter: blur(0.5px); + transition: all 0.5s ease; +} + +.ag-weightless:hover { + opacity: 1; + filter: blur(0); + transform: scale(1.02) translateZ(0); +} + +/* ═══════════════════════════════════════ + OPS DASHBOARD SIGN +═══════════════════════════════════════ */ +#ops-dashboard-sign { + margin-top: 30px; + margin-bottom: 0; + cursor: pointer; + border: 1px solid rgba(255,69,0,0.4); + border-bottom: none; + background: linear-gradient(180deg, rgba(20,5,0,0.95) 0%, rgba(10,2,0,0.98) 100%); + padding: 10px 16px 12px; + position: relative; + overflow: hidden; + transition: border-color 0.3s, box-shadow 0.3s; + box-shadow: 0 0 18px rgba(255,69,0,0.08), inset 0 0 30px rgba(0,0,0,0.5); +} +#ops-dashboard-sign::before { + content: ''; + position: absolute; + inset: 0; + background: repeating-linear-gradient( + 0deg, + transparent, + transparent 3px, + rgba(255,69,0,0.015) 3px, + rgba(255,69,0,0.015) 4px + ); + pointer-events: none; +} +#ops-dashboard-sign:hover { + border-color: rgba(255,69,0,0.7); + box-shadow: 0 0 28px rgba(255,69,0,0.18), inset 0 0 20px rgba(255,40,0,0.05); +} +.ops-sign-header { + display: flex; + align-items: center; + justify-content: center; + gap: 10px; + margin-bottom: 8px; +} +.ops-title { + font-size: 0.7rem; + letter-spacing: 4px; + color: rgba(255,100,0,0.7); + text-transform: uppercase; +} +.ops-blink-dot { + width: 6px; + height: 6px; + border-radius: 50%; + background: #ff2200; + display: inline-block; + animation: blinker 1.1s step-end infinite; + box-shadow: 0 0 5px #ff2200; +} +.ops-blink-dot:last-child { animation-delay: 0.55s; } +.ops-sign-stats { + display: flex; + align-items: center; + justify-content: center; + gap: 14px; + flex-wrap: wrap; +} +.ops-stat-block { + display: flex; + flex-direction: column; + align-items: center; + gap: 1px; +} +.ops-stat-label { + font-size: 0.5rem; + letter-spacing: 3px; + color: rgba(255,69,0,0.4); + text-transform: uppercase; +} +.ops-tally { + font-size: 1.1rem; + letter-spacing: 2px; + color: rgba(255,69,0,0.55); + line-height: 1; +} +.ops-stat-val { + font-size: 0.85rem; + letter-spacing: 2px; + color: rgba(200,200,200,0.6); +} +.ops-stat-val.ops-warn { color: rgba(255,200,0,0.65); } +.ops-stat-val.ops-crit { color: rgba(255,50,0,0.7); animation: blinker 2s infinite; } +.ops-divider { + color: rgba(255,69,0,0.2); + font-size: 0.7rem; + margin-top: 8px; +} +.ops-sign-hint { + text-align: center; + margin-top: 8px; + font-size: 0.55rem; + letter-spacing: 4px; + color: rgba(255,69,0,0.3); + transition: color 0.3s; +} +#ops-dashboard-sign:hover .ops-sign-hint { color: rgba(255,69,0,0.6); } + +/* ═══════════════════════════════════════ + OPS PANEL (inside terminal, expandable) +═══════════════════════════════════════ */ +#ops-panel { + max-height: 0; + overflow: hidden; + transition: max-height 0.55s cubic-bezier(0.4, 0, 0.2, 1); + border-bottom: 0px solid rgba(255,69,0,0); +} +#ops-panel.ops-open { + max-height: 420px; + border-bottom: 1px solid rgba(255,69,0,0.2); + margin-bottom: 10px; +} +#ops-panel-vitals { + padding: 6px 0 2px; + font-size: 0.7rem; + letter-spacing: 1px; + color: rgba(255,60,0,0.5); + white-space: pre; + overflow: hidden; + text-align: center; +} +#ops-panel-log { + padding: 4px 0 8px; + font-size: 0.72rem; + line-height: 1.6; + color: rgba(200,180,130,0.75); + white-space: pre; + overflow-y: auto; + max-height: 340px; +} +#ops-panel-log .ops-line-section { color: rgba(255,69,0,0.55); } +#ops-panel-log .ops-line-label { color: rgba(212,175,55,0.6); } +#ops-panel-log .ops-line-crit { color: rgba(255,40,0,0.8); } +#ops-panel-log .ops-line-ok { color: rgba(0,220,80,0.6); } +#ops-panel-log .ops-line-dim { color: rgba(120,120,120,0.5); } + +@keyframes vitals-scan { + 0% { content: 'VITALMONITOR ▁▂▃▂▁▃▂▁▁▁▁▁▁▁▁▁▁▁▁▁ FLATLINE'; } + 20% { content: 'VITALMONITOR ▁▁▂▃▂▁▃▂▁▁▁▁▁▁▁▁▁▁▁▁ FLATLINE'; } + 40% { content: 'VITALMONITOR ▁▁▁▂▃▂▁▃▂▁▁▁▁▁▁▁▁▁▁▁ FLATLINE'; } + 60% { content: 'VITALMONITOR ▁▁▁▁▂▃▂▁▃▂▁▁▁▁▁▁▁▁▁▁ FLATLINE'; } + 80% { content: 'VITALMONITOR ▁▁▁▁▁▂▃▂▁▃▂▁▁▁▁▁▁▁▁▁ FLATLINE'; } + 100% { content: 'VITALMONITOR ▁▁▁▁▁▁▂▃▂▁▃▂▁▁▁▁▁▁▁▁ FLATLINE'; } +} + +/* terminal expands when ops panel is open */ +.terminal-wrapper.ops-expanded #system-log { + transition: min-height 0.55s cubic-bezier(0.4,0,0.2,1); +} + +/* ═══════════════════════════════════════ + GÄSTEBUCH +═══════════════════════════════════════ */ +.gaestebuch-wrap { + margin-top: 30px; + border: 1px solid rgba(212,175,55,0.2); + background: rgba(5,3,0,0.97); + padding: 24px 20px 20px; + position: relative; + overflow: hidden; +} +.gaestebuch-wrap::before { + content: ''; + position: absolute; + inset: 0; + background: repeating-linear-gradient( + 0deg, transparent, transparent 5px, + rgba(212,175,55,0.012) 5px, rgba(212,175,55,0.012) 6px + ); + pointer-events: none; +} +.gaestebuch-header { + display: flex; + align-items: center; + justify-content: center; + gap: 12px; + margin-bottom: 6px; +} +.gaestebuch-title { + font-size: 0.75rem; + letter-spacing: 4px; + color: rgba(212,175,55,0.55); + text-transform: uppercase; + margin: 0; + font-weight: normal; +} +.gaestebuch-led { + width: 5px; height: 5px; + border-radius: 50%; + background: var(--accent-gold); + opacity: 0.6; + animation: blinker 2.2s step-end infinite; + box-shadow: 0 0 4px var(--accent-gold); +} +.gaestebuch-sub { + text-align: center; + font-size: 0.65rem; + letter-spacing: 2px; + color: rgba(150,130,80,0.45); + margin: 0 0 20px; +} +.gaestebuch-entries { + display: flex; + flex-direction: column; + gap: 0; +} +.gb-entry { + border-top: 1px solid rgba(212,175,55,0.08); + padding: 14px 4px 14px 12px; + position: relative; + transition: background 0.2s; +} +.gb-entry:hover { + background: rgba(212,175,55,0.025); +} +.gb-entry::before { + content: '>'; + position: absolute; + left: 0; + top: 16px; + color: rgba(212,175,55,0.2); + font-size: 0.7rem; +} +.gb-entry.gb-new { + animation: gb-fadeIn 0.6s ease forwards; +} +@keyframes gb-fadeIn { + from { opacity: 0; transform: translateY(-6px); background: rgba(212,175,55,0.06); } + to { opacity: 1; transform: translateY(0); background: transparent; } +} +.gb-meta { + display: flex; + align-items: center; + flex-wrap: wrap; + gap: 8px; + margin-bottom: 5px; +} +.gb-user { + font-size: 0.72rem; + letter-spacing: 2px; + color: var(--accent-gold); + opacity: 0.75; +} +.gb-dot { color: rgba(212,175,55,0.2); font-size: 0.5rem; } +.gb-date { + font-size: 0.6rem; + letter-spacing: 1px; + color: rgba(150,130,80,0.45); +} +.gb-tag { + font-size: 0.5rem; + letter-spacing: 2px; + border: 1px solid rgba(212,175,55,0.2); + color: rgba(212,175,55,0.35); + padding: 1px 6px; + text-transform: uppercase; + margin-left: auto; +} +.gb-tag.gb-tag-warn { border-color: rgba(255,180,0,0.25); color: rgba(255,180,0,0.4); } +.gb-tag.gb-tag-ok { border-color: rgba(0,200,80,0.2); color: rgba(0,200,80,0.4); } +.gb-tag.gb-tag-crit { border-color: rgba(255,50,0,0.25); color: rgba(255,80,0,0.45); } +.gb-text { + font-size: 0.8rem; + line-height: 1.6; + color: rgba(190,180,150,0.65); + margin: 0; + padding-left: 2px; +} + +/* Form */ +.gb-form-wrap { + margin-top: 20px; + border-top: 1px solid rgba(212,175,55,0.12); + padding-top: 16px; +} +.gb-form-header { + font-size: 0.6rem; + letter-spacing: 4px; + color: rgba(212,175,55,0.35); + margin-bottom: 12px; +} +.gb-form { + display: flex; + flex-direction: column; + gap: 8px; +} +.gb-input { + background: rgba(0,0,0,0.6); + border: 1px solid rgba(212,175,55,0.15); + color: rgba(200,185,140,0.8); + font-family: 'Courier New', monospace; + font-size: 0.78rem; + padding: 8px 12px; + outline: none; + transition: border-color 0.2s; + resize: none; +} +.gb-input:focus { border-color: rgba(212,175,55,0.4); } +.gb-input::placeholder { color: rgba(150,130,80,0.35); } +.gb-textarea { min-height: 70px; } +.gb-btn { + align-self: flex-start; + background: transparent; + border: 1px solid rgba(212,175,55,0.3); + color: rgba(212,175,55,0.6); + font-family: 'Courier New', monospace; + font-size: 0.7rem; + letter-spacing: 3px; + padding: 6px 16px; + cursor: pointer; + transition: all 0.2s; +} +.gb-btn:hover { + border-color: rgba(212,175,55,0.7); + color: rgba(212,175,55,0.9); + background: rgba(212,175,55,0.05); +} + +/* ═══════════════════════════════════════ + PERSONEN-AKTE +═══════════════════════════════════════ */ +.akte-trigger-btn { + background: linear-gradient(135deg, #3d2b1f 0%, #1a110a 100%); + border: 2px solid #b87333; + border-radius: 3px; + color: #d4af37; + font-family: 'Courier New', monospace; + font-size: 0.8rem; + font-weight: bold; + letter-spacing: 1px; + padding: 10px 22px; + cursor: pointer; + transition: all 0.3s; + text-transform: uppercase; + white-space: nowrap; + position: relative; + box-shadow: + inset 0 0 10px rgba(0,0,0,0.8), + 0 4px 8px rgba(0,0,0,0.5); + text-shadow: 1px 1px 2px rgba(0,0,0,0.9); + overflow: hidden; +} +.akte-trigger-btn::before, .akte-trigger-btn::after { + content: '•'; + position: absolute; + font-size: 10px; + color: rgba(184, 115, 51, 0.6); +} +.akte-trigger-btn::before { top: 2px; left: 4px; } +.akte-trigger-btn::after { bottom: 2px; right: 4px; } + +.akte-trigger-btn:hover { + border-color: #ff4500; + color: #ff4500; + box-shadow: + inset 0 0 15px rgba(255, 69, 0, 0.2), + 0 0 20px rgba(255, 69, 0, 0.2); + transform: translateY(-2px); +} +.akte-footer-row { + display: flex; + flex-wrap: wrap; + justify-content: center; + gap: 10px; + margin: 50px 0 20px; + padding: 0 20px; + position: relative; + z-index: 5000; +} +@media (max-width: 600px) { + .akte-footer-row { gap: 6px; } + .akte-trigger-btn { font-size: 0.55rem; padding: 5px 8px; letter-spacing: 1px; } +} +.akte-hidden { display: none !important; } +.akte-modal { + position: fixed; + inset: 0; + z-index: 30000; + background: rgba(0,0,0,0.92); + overflow-y: auto; + display: flex; + align-items: flex-start; + justify-content: center; + padding: 40px 16px 60px; + backdrop-filter: blur(3px); +} +.akte-inner { + width: 100%; + max-width: 700px; + background: #0a0800; + border: 1px solid rgba(212,175,55,0.25); + padding: 30px 28px 28px; + position: relative; + box-shadow: 0 0 60px rgba(212,175,55,0.08); +} +.akte-inner::before { + content: ''; + position: absolute; + inset: 0; + background: repeating-linear-gradient( + 0deg, transparent, transparent 4px, + rgba(212,175,55,0.012) 4px, rgba(212,175,55,0.012) 5px + ); + pointer-events: none; +} +.akte-close-btn { + position: absolute; + top: 14px; right: 14px; + background: transparent; + border: 1px solid rgba(255,69,0,0.4); + color: rgba(255,69,0,0.6); + font-family: 'Courier New', monospace; + font-size: 0.65rem; + letter-spacing: 2px; + padding: 4px 10px; + cursor: pointer; + transition: all 0.2s; +} +.akte-close-btn:hover { background: rgba(255,69,0,0.1); color: #ff4500; } +.akte-stamp { + font-size: 0.65rem; + letter-spacing: 5px; + text-transform: uppercase; + padding: 3px 10px; + display: inline-block; + font-weight: bold; +} +.akte-stamp-top { + border: 2px solid rgba(255,69,0,0.4); + color: rgba(255,69,0,0.4); + margin-bottom: 20px; + transform: rotate(-1.5deg); + display: block; + width: fit-content; +} +.akte-stamp-red { + border: 2px solid rgba(255,0,0,0.5); + color: rgba(255,0,0,0.55); + transform: rotate(-2deg); +} +.akte-stamp-gold { + border: 2px solid rgba(212,175,55,0.35); + color: rgba(212,175,55,0.4); + transform: rotate(1deg); +} +.akte-header-row { + display: flex; + gap: 24px; + margin-bottom: 22px; + align-items: flex-start; + flex-wrap: wrap; +} +.akte-photo-wrap { + position: relative; + flex-shrink: 0; +} +.akte-photo { + width: 110px; + height: 130px; + object-fit: cover; + object-position: top; + filter: sepia(0.5) brightness(0.75) contrast(1.1); + display: block; + border: 1px solid rgba(212,175,55,0.2); +} +.akte-photo-stamp { + position: absolute; + inset: 0; + display: flex; + align-items: center; + justify-content: center; + font-size: 0.7rem; + letter-spacing: 4px; + color: rgba(255,0,0,0.7); + border: 2px solid rgba(255,0,0,0.5); + transform: rotate(-8deg); + pointer-events: none; + font-weight: bold; +} +.akte-title-block { flex: 1; min-width: 200px; } +.akte-nr { + font-size: 0.55rem; + letter-spacing: 3px; + color: rgba(212,175,55,0.4); + margin-bottom: 8px; +} +.akte-name { + font-size: 1.4rem; + letter-spacing: 4px; + color: rgba(212,175,55,0.8); + margin: 0 0 6px; + text-transform: uppercase; +} +.akte-alias { + font-size: 0.6rem; + letter-spacing: 2px; + color: rgba(180,160,100,0.5); + margin-bottom: 12px; +} +.akte-status-row { display: flex; gap: 8px; flex-wrap: wrap; } +.akte-badge { + font-size: 0.55rem; + letter-spacing: 2px; + padding: 2px 8px; + border: 1px solid; + text-transform: uppercase; +} +.akte-badge-warn { border-color: rgba(255,180,0,0.3); color: rgba(255,180,0,0.55); } +.akte-badge-crit { border-color: rgba(255,50,0,0.3); color: rgba(255,80,0,0.55); } +.akte-table { + width: 100%; + border-collapse: collapse; + margin-bottom: 20px; + font-size: 0.75rem; +} +.akte-table tr { border-top: 1px solid rgba(212,175,55,0.07); } +.akte-table td { padding: 7px 6px; color: rgba(190,180,150,0.65); vertical-align: top; } +.akte-key { + color: rgba(212,175,55,0.45) !important; + letter-spacing: 1px; + font-size: 0.65rem !important; + white-space: nowrap; + padding-right: 16px !important; + width: 1%; +} +.akte-redact { + background: rgba(20,20,20,0.95); + color: rgba(20,20,20,0.95); + border-bottom: 1px solid rgba(80,80,80,0.3); + user-select: none; + font-size: 0.7rem; +} +.akte-fingerprint-row { + display: flex; + align-items: flex-end; + justify-content: space-between; + flex-wrap: wrap; + gap: 16px; + margin-top: 10px; +} +.akte-fp { display: flex; align-items: center; gap: 12px; } +.akte-fp-inner { + width: 54px; height: 70px; + border-radius: 45% 45% 48% 48% / 40% 40% 60% 60%; + border: 1px solid rgba(212,175,55,0.25); + position: relative; + overflow: hidden; + flex-shrink: 0; +} +.akte-fp-inner::before { + content: ''; + position: absolute; + inset: -4px; + background: repeating-radial-gradient( + ellipse at 50% 60%, + transparent 0px, transparent 3px, + rgba(212,175,55,0.12) 3px, rgba(212,175,55,0.12) 4px + ); +} +.akte-fp-label { + font-size: 0.55rem; + letter-spacing: 1px; + color: rgba(212,175,55,0.35); + line-height: 1.7; +} +.akte-bottom-stamps { + display: flex; + flex-direction: column; + gap: 8px; + align-items: flex-end; +} + +/* ═══════════════════════════════════════ + SYSTEM STATUS WIDGET +═══════════════════════════════════════ */ +#sys-widget { + position: fixed; + right: 16px; + top: 50%; + transform: translateY(-50%); + z-index: 9000; + background: rgba(0,0,0,0.88); + border: 1px solid rgba(0,255,65,0.15); + padding: 10px 12px; + width: 130px; + box-shadow: 0 0 20px rgba(0,255,65,0.05); + backdrop-filter: blur(4px); +} +.sys-widget-header { + font-size: 0.55rem; + letter-spacing: 3px; + color: rgba(0,255,65,0.35); + margin-bottom: 10px; + text-align: center; +} +.sys-metric { + display: flex; + align-items: center; + gap: 5px; + margin-bottom: 7px; +} +.sys-label { + font-size: 0.5rem; + letter-spacing: 1px; + color: rgba(0,255,65,0.4); + width: 36px; + flex-shrink: 0; +} +.sys-bar-wrap { + flex: 1; + height: 4px; + background: rgba(255,255,255,0.05); + overflow: hidden; +} +.sys-bar { + height: 100%; + background: rgba(0,255,65,0.5); + width: 0%; + transition: width 0.8s ease; +} +.sys-bar-gold { background: rgba(212,175,55,0.55); } +.sys-bar-red { background: rgba(255,69,0,0.55); } +.sys-bar-cyan { background: rgba(0,200,255,0.5); } +.sys-val { + font-size: 0.5rem; + color: rgba(0,255,65,0.45); + width: 26px; + text-align: right; + flex-shrink: 0; +} + +/* ═══════════════════════════════════════ + NEWSTICKER +═══════════════════════════════════════ */ +#newsticker { + position: fixed; + bottom: 0; left: 0; right: 0; + z-index: 9500; + background: rgba(0,0,0,0.92); + border-top: 1px solid rgba(255,69,0,0.2); + display: flex; + align-items: center; + height: 26px; + overflow: hidden; +} +.ticker-label { + flex-shrink: 0; + font-size: 0.55rem; + letter-spacing: 3px; + color: rgba(255,69,0,0.6); + padding: 0 12px; + border-right: 1px solid rgba(255,69,0,0.2); + white-space: nowrap; + height: 100%; + display: flex; + align-items: center; + background: rgba(255,69,0,0.04); +} +.ticker-track-wrap { + flex: 1; + overflow: hidden; + height: 100%; + display: flex; + align-items: center; +} +.ticker-track { + display: inline-flex; + gap: 0; + white-space: nowrap; + animation: ticker-scroll 60s linear infinite; +} +.ticker-track:hover { animation-play-state: paused; } +@keyframes ticker-scroll { + 0% { transform: translateX(0); } + 100% { transform: translateX(-50%); } +} +.ticker-item { + font-size: 0.6rem; + letter-spacing: 1px; + color: rgba(200,180,130,0.55); + padding: 0 28px; +} +.ticker-item::before { + content: '▶ '; + color: rgba(255,69,0,0.4); +} +.ticker-item.ticker-warn { color: rgba(255,180,0,0.6); } +.ticker-item.ticker-crit { color: rgba(255,60,0,0.65); } +/* Etwas Abstand für den Ticker am Seitenende */ +footer { padding-bottom: 30px; } + +/* ═══════════════════════════════════════ + MAC NERDS PAGE +═══════════════════════════════════════ */ +.mac-nerds-page { background: #050500; } +.mn-container { max-width: 960px; margin: 0 auto; padding: 30px 16px 60px; } + +.mn-header { margin-bottom: 30px; } +.mn-back { + display: inline-block; + font-size: 0.65rem; + letter-spacing: 3px; + color: rgba(255,69,0,0.45); + text-decoration: none; + margin-bottom: 20px; + transition: color 0.2s; +} +.mn-back:hover { color: rgba(255,69,0,0.8); } +.mn-title { + font-size: 2.2rem; + letter-spacing: 8px; + color: var(--accent-orange); + margin: 0 0 8px; + text-shadow: 0 0 30px rgba(255,69,0,0.3); +} +.mn-subtitle { + font-size: 0.7rem; + letter-spacing: 2px; + color: rgba(150,130,80,0.5); + margin: 0 0 14px; +} +.mn-warning { + display: inline-block; + font-size: 0.6rem; + letter-spacing: 2px; + border: 1px dashed rgba(255,180,0,0.3); + color: rgba(255,180,0,0.5); + padding: 4px 12px; +} + +/* Filter */ +.mn-filter-bar { + display: flex; + gap: 6px; + flex-wrap: wrap; + margin-bottom: 24px; + border-bottom: 1px solid rgba(255,69,0,0.1); + padding-bottom: 16px; +} +.mn-filter { + background: transparent; + border: 1px solid rgba(255,69,0,0.2); + color: rgba(255,100,0,0.4); + font-family: 'Courier New', monospace; + font-size: 0.6rem; + letter-spacing: 2px; + padding: 4px 12px; + cursor: pointer; + transition: all 0.2s; +} +.mn-filter:hover, .mn-filter.active { + border-color: rgba(255,69,0,0.6); + color: rgba(255,100,0,0.85); + background: rgba(255,69,0,0.05); +} + +/* Grid */ +.mn-grid { + display: grid; + grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); + gap: 12px; +} + +/* Card */ +.mn-card { + background: rgba(8,5,0,0.95); + border: 1px solid rgba(255,69,0,0.12); + padding: 16px; + transition: border-color 0.2s, box-shadow 0.2s; + display: flex; + flex-direction: column; + gap: 8px; +} +.mn-card:hover { + border-color: rgba(255,69,0,0.3); + box-shadow: 0 0 16px rgba(255,69,0,0.06); +} +.mn-card-meta { + display: flex; + align-items: center; + justify-content: space-between; +} +.mn-cat-tag { + font-size: 0.5rem; + letter-spacing: 3px; + color: rgba(212,175,55,0.4); + border: 1px solid rgba(212,175,55,0.15); + padding: 1px 6px; +} +.mn-risk { + font-size: 0.5rem; + letter-spacing: 2px; + padding: 1px 6px; + border: 1px solid; +} +.mn-risk-safe { border-color: rgba(0,200,80,0.2); color: rgba(0,200,80,0.45); } +.mn-risk-caution { border-color: rgba(255,180,0,0.3); color: rgba(255,180,0,0.55); animation: blinker 2s infinite; } + +.mn-card-title { + font-size: 0.9rem; + letter-spacing: 1px; + color: rgba(220,200,150,0.8); + margin: 0; + font-weight: normal; +} +.mn-card-desc { + font-size: 0.72rem; + line-height: 1.55; + color: rgba(160,150,120,0.6); + margin: 0; + flex: 1; +} + +/* Command block */ +.mn-cmd-block { + display: flex; + align-items: stretch; + gap: 0; + border: 1px solid rgba(0,255,65,0.12); + background: rgba(0,0,0,0.5); + margin-top: 4px; +} +.mn-cmd-code { + flex: 1; + font-family: 'Courier New', monospace; + font-size: 0.68rem; + color: rgba(0,255,65,0.7); + padding: 8px 10px; + word-break: break-all; + line-height: 1.5; + letter-spacing: 0.3px; +} +.mn-copy-btn { + flex-shrink: 0; + background: transparent; + border: none; + border-left: 1px solid rgba(0,255,65,0.12); + color: rgba(0,255,65,0.35); + font-family: 'Courier New', monospace; + font-size: 0.55rem; + letter-spacing: 2px; + padding: 0 10px; + cursor: pointer; + transition: all 0.2s; + white-space: nowrap; +} +.mn-copy-btn:hover { background: rgba(0,255,65,0.05); color: rgba(0,255,65,0.8); } +.mn-copy-btn.mn-copy-ok { color: rgba(0,255,65,1); background: rgba(0,255,65,0.08); } diff --git a/hugo_backup/sven.php b/hugo_backup/sven.php new file mode 100644 index 0000000..72d831a --- /dev/null +++ b/hugo_backup/sven.php @@ -0,0 +1,286 @@ + + + + + + SVEN | DIGITALE ANARCHIE + + + +
+ + ← ZURÜCK ZUR BASIS + +
+ AKTE // EXTERNE VARIABLE // KLASSIFIZIERUNG: UNBEKANNT +
+ +
+
+
+ ? + ? + ? + ? +
+ ? + PLATZHALTER +
+
+
+

SVEN

+

// Externe Variable & Unbekannter Faktor

+ STATUS: UNBEKANNT — INTEGRITÄT: AKZEPTABEL + +

+ Der mysteriöse Sven. Externe Einflussgröße im System. Herkunft: Fraglich. + Absichten: Unklar. Verbindung zum Clan: Vorhanden. Klassifizierung: Dauerhaft ausstehend. +

+
+ +
+

// CHRONOLOGISCHES ARCHIV — SVEN (UNVOLLSTÄNDIG)

+
+
+ + +
+ // AKTE_SVEN_LIVE +
+
+ +
+
+
+ +
+ + + + diff --git a/hugo_backup/test.php b/hugo_backup/test.php new file mode 100644 index 0000000..e69de29 diff --git a/hugo_backup/vater.php b/hugo_backup/vater.php new file mode 100644 index 0000000..a21ad47 --- /dev/null +++ b/hugo_backup/vater.php @@ -0,0 +1,356 @@ + + + + + + VATER | DIGITALE ANARCHIE + + + + +
+ + ← ZURÜCK ZUR BASIS + +
+ AKTE // HYDRAULIK-MEISTER // KLASSIFIZIERT +
+ +
+
+
+ ⚙ + ⚙ + ⚙ + ⚙ +
+ V + PLATZHALTER +
+
+
+

VATER

+

// Hydraulik-Meister & System-Engineer

+ STATUS: KLASSIFIZIERT + +

+ Der Ingenieur des Clans. Spezialisiert auf mechanische Systeme und hydraulische Upgrades. + Verantwortlich für die Grundarchitektur des Netzwerks. Weitere Details: GESCHWÄRZT. +

+
+ +
+

// CHRONOLOGISCHES ARCHIV — VATER

+
+
+ + +
+ // AKTE_VATER_LIVE +
+
+ +
+
+
+ +
+ + + + diff --git a/layouts/_default/baseof.html b/layouts/_default/baseof.html new file mode 100644 index 0000000..071b634 --- /dev/null +++ b/layouts/_default/baseof.html @@ -0,0 +1,25 @@ + + + + + + {{ .Title }} | {{ .Site.Title }} + + + + +
⚙
+
⚙
+ + {{ partial "header.html" . }} + +
+ {{ block "main" . }}{{ end }} +
+ + {{ partial "footer.html" . }} + {{ partial "ticker.html" . }} + + + + diff --git a/layouts/_default/list.html b/layouts/_default/list.html new file mode 100644 index 0000000..e69de29 diff --git a/layouts/_default/single.html b/layouts/_default/single.html new file mode 100644 index 0000000..b2a5ce1 --- /dev/null +++ b/layouts/_default/single.html @@ -0,0 +1,212 @@ +{{ define "main" }} +
+ + + {{ partial "person_nav.html" . }} + +
+
+

{{ .Title | upper }}

+

// DATENSTROM & CHRONIK

+
+ + +
+ {{ range $index, $element := .Params.events }} + {{ $side := "right" }}{{ if (mod $index 2) }}{{ $side = "left" }}{{ end }} +
+
+
+ [ {{ .year }} ] + {{ if .tag }}{{ .tag }}{{ end }} +
+

{{ .text }}

+
+
+ {{ end }} +
+ + +
+ {{ if eq .Title "RODE, SASCHA" }} + + {{ else if eq .Title "Mutti" }} + + {{ else }} + + {{ end }} +
+
+
+ + + + + +{{ end }} diff --git a/layouts/index.html b/layouts/index.html new file mode 100644 index 0000000..1bb133d --- /dev/null +++ b/layouts/index.html @@ -0,0 +1,129 @@ +{{ define "main" }} +
+ +
+

SASCHAS ZENTRUM FÜR DIGITALE ANARCHIE

+

Beruf: Geisteskrank & Gemini Player

+
+ ⚠ VORSICHT: INSTABILE ALGORITHMEN. BETRETEN AUF EIGENE GEFAHR.
+ KEINE HAFTUNG FÜR DATENVERLUST ODER EXISTENZIELLE KRISEN. +
+
+ + + + +
+

// ZENTRAL-ARCHIV ZUGRIFF

+ {{ partial "person_nav.html" . }} +
+ +
+ Steampunk Sascha +
+ +
+ + + + + +
+ + +
+
+ + ● CHIRURGISCHES OPS-DASHBOARD ● + +
+
+
+
HEUTE
+
|||
+
3 OPS
+
+ ◈ +
+
ERFOLGE
+
|½
+
1.5
+
+ ◈ +
+
RESTE
+
KUEHLHAUS C
+
+
+
[ PROTOKOLL EINSEHEN ]
+
+ + +
+
+
+ // SYSTEM_LOG_FEED + [ ORAKEL ] +
+
+
+
+ sascha@ki-labor:~$ + +
+
+
+ + +
+ +
+
+

PROJEKT-ARCHIV

+
+ + + + MAC NERDS +
+
+ +
+ {{ range .Site.RegularPages }} + {{ if eq .Section "posts" }} + +
+ + {{ .Params.status_label | default "AKTIV" }} + +
+ {{ if .Params.thumb }} + Preview + {{ end }} +

{{ .Title }}

+
+
+ {{ .Summary }} +
+
+
+ {{ end }} + {{ end }} +
+
+ + + + +
+
+
+ + +{{ end }} diff --git a/layouts/partials/footer.html b/layouts/partials/footer.html new file mode 100644 index 0000000..5299782 --- /dev/null +++ b/layouts/partials/footer.html @@ -0,0 +1,5 @@ +
+ +
diff --git a/layouts/partials/header.html b/layouts/partials/header.html new file mode 100644 index 0000000..50b0d7f --- /dev/null +++ b/layouts/partials/header.html @@ -0,0 +1,4 @@ + +
+ +
diff --git a/layouts/partials/person_nav.html b/layouts/partials/person_nav.html new file mode 100644 index 0000000..15960eb --- /dev/null +++ b/layouts/partials/person_nav.html @@ -0,0 +1,46 @@ +
+ {{ if eq .Section "personen" }} + + ⚡ ZURÜCK ZUR BASIS ⚡ + + {{ end }} + +
+ {{ $persons := slice "mutti" "vater" "bruder" "schwester" "sascha" "sven" }} + {{ range $persons }} + {{ $id := . }} + {{ $name := . | upper }} + {{ $img := "" }} + {{ if eq $id "mutti" }}{{ $img = "/img/comicFigures/hp_mutti_comic_1.jpeg" }}{{ end }} + {{ if eq $id "bruder" }}{{ $img = "/img/comicFigures/hp_freddy_comic_1.png" }}{{ end }} + {{ if eq $id "sascha" }}{{ $img = "/img/comicFigures/hp_sascha_comic_1.jpeg" }}{{ end }} + {{ if eq $id "sven" }}{{ $img = "/img/comicFigures/hp_sven_comic_1.jpeg" }}{{ end }} + {{ if eq $id "vater" }}{{ $img = "/img/comicFigures/hp_vater_comic_1.png" }}{{ end }} + {{ if eq $id "schwester" }}{{ $img = "/img/comicFigures/hp_meli_comic_1.png" }}{{ end }} + + +
+ {{ if $img }} + {{ $name }} + {{ else }} + {{ substr $name 0 1 }} + {{ end }} +
+ {{ $name }} +
+ {{ end }} +
+
+ + diff --git a/layouts/partials/ticker.html b/layouts/partials/ticker.html new file mode 100644 index 0000000..019faee --- /dev/null +++ b/layouts/partials/ticker.html @@ -0,0 +1,44 @@ + +
+ // SYSTEM_LOG_FEED +
+
+ [ HUGO SYSTEM INITIALISIERT... ] + [ WP-KERN GELÖSCHT // ANARCHIE LEVEL 100 ] +
+
+
+ + + + diff --git a/public/.DS_Store b/public/.DS_Store new file mode 100644 index 0000000..72a9d2a Binary files /dev/null and b/public/.DS_Store differ diff --git a/public/anarchie/index.html b/public/anarchie/index.html new file mode 100644 index 0000000..7810306 --- /dev/null +++ b/public/anarchie/index.html @@ -0,0 +1,461 @@ + + + + + + Anarchie Test | DIGITALE ANARCHIE | KI-LABOR + + + + +
⚙
+
⚙
+ + +
+ +
+ + +
+ +
+ + +
+ + +
+ + + + + + + + + + + + + +
+ + MUTTI + +
+ MUTTI +
+ + + + + + + + + + + + +
+ + VATER + +
+ VATER +
+ + + + + + + + + + + + +
+ + BRUDER + +
+ BRUDER +
+ + + + + + + + + + + + +
+ + SCHWESTER + +
+ SCHWESTER +
+ + + + + + + + + + + + +
+ + SASCHA + +
+ SASCHA +
+ + + + + + + + + + + + +
+ + SVEN + +
+ SVEN +
+ +
+
+ + + + +
+
+

ANARCHIE TEST

+

// DATENSTROM & CHRONIK

+
+ + +
+ + +
+
+
+ [ 2026 ] + TEST-SUCCESS +
+

Wenn dieser Text rechts oder links versetzt erscheint, haben wir gewonnen.

+
+
+ +
+ + +
+ + + +
+
+
+ + + + + + +
+ +
+ +
+ + +
+ // SYSTEM_LOG_FEED +
+
+ [ HUGO SYSTEM INITIALISIERT... ] + [ WP-KERN GELÖSCHT // ANARCHIE LEVEL 100 ] +
+
+
+ + + + + + + + + diff --git a/public/categories/index.xml b/public/categories/index.xml new file mode 100644 index 0000000..2d30c08 --- /dev/null +++ b/public/categories/index.xml @@ -0,0 +1,11 @@ + + + + Categories on DIGITALE ANARCHIE | KI-LABOR + //localhost:1313/categories/ + Recent content in Categories on DIGITALE ANARCHIE | KI-LABOR + Hugo + de-de + + + diff --git a/public/css/style.css b/public/css/style.css new file mode 100644 index 0000000..9ea3a9a --- /dev/null +++ b/public/css/style.css @@ -0,0 +1,2410 @@ +/* +Theme Name: KI-Labor Minimal +Author: Sascha Rode & Gemini +Description: Ein radikal minimalistisches Theme für KI-Experimente. +Version: 1.0 +*/ + +:root { + --bg-color: #0d0d0d; + --text-color: #c0c0c0; + --accent-gold: #d4af37; + --accent-orange: #ff4500; +} + +html { + font-size: 125%; /* Global font size increase (1rem = 20px) */ +} + +body { + background-color: var(--bg-color); + color: var(--text-color); + font-family: 'Courier New', Courier, monospace; + margin: 0; + padding: 0; + line-height: 1.6; + overflow-x: hidden; +} + +body.home-page { + background: linear-gradient(rgba(0, 0, 0, 0.9), rgba(0, 0, 0, 0.9)), url('/img/grid.png') repeat; +} + +.bg-steampunk { + background: linear-gradient(rgba(10, 8, 5, 0.7), rgba(10, 8, 5, 0.7)), url('/img/steampunk_bg.png') center/cover no-repeat fixed !important; +} + +/* BOOT SCREEN */ +#boot-screen { + position: fixed; + top: 0; left: 0; + width: 100%; height: 100%; + background: #000; + z-index: 10001; + color: #0f0; + font-family: 'Courier New', monospace; + padding: 20px; + overflow: hidden; + display: flex; + flex-direction: column-reverse; +} + +#boot-log { + font-size: 0.85rem; + line-height: 1.2; + white-space: pre-wrap; +} +/* --- RED ALERT / BYPASS MODE --- */ +body.mode-bypass { + box-shadow: inset 0 0 150px rgba(255, 0, 0, 0.4); + animation: alert-pulse 2s infinite; +} + +body.mode-bypass .hero-image { + filter: sepia(1) saturate(5) hue-rotate(-50deg); + animation: image-glitch 0.2s infinite; +} + +@keyframes alert-pulse { + 0%, 100% { box-shadow: inset 0 0 100px rgba(255, 0, 0, 0.3); } + 50% { box-shadow: inset 0 0 200px rgba(255, 0, 0, 0.6); } +} + +@keyframes image-glitch { + 0% { transform: translate(0); } + 20% { transform: translate(-5px, 5px); } + 40% { transform: translate(-5px, -5px); } + 60% { transform: translate(5px, 5px); } + 80% { transform: translate(5px, -5px); } + 100% { transform: translate(0); } +} + +.main-content { + opacity: 0; + transition: opacity 1s ease-in-out; + background: transparent !important; +} +.main-content.visible { + opacity: 1 !important; +} +/* Fallback if JS is slow or disabled */ +body:not(.js-enabled) .main-content { + opacity: 1; + background: transparent !important; +} + +.container { + background: transparent !important; +} +} + +.boot-line { margin-bottom: 2px; } +.boot-line.ok { color: #0f0; } +.boot-line.warn { color: #ff0; } +.boot-line.crit { color: #f00; font-weight: bold; } + +/* SCANLINE & FLICKER EFFEKT */ +@keyframes flicker { + 0% { opacity: 0.97; } + 5% { opacity: 0.95; } + 10% { opacity: 0.9; } + 15% { opacity: 0.95; } + 20% { opacity: 0.98; } + 100% { opacity: 1; } +} + +body::before { + content: ' '; + display: block; + position: fixed; + top: 0; left: 0; bottom: 0; right: 0; + background: linear-gradient(rgba(18, 16, 16, 0) 50%, rgba(0, 0, 0, 0.1) 50%), + linear-gradient(90deg, rgba(255, 0, 0, 0.03), rgba(0, 255, 0, 0.01), rgba(0, 0, 255, 0.03)); + z-index: 9999; + background-size: 100% 3px, 3px 100%; + pointer-events: none; + animation: flicker 0.1s infinite; +} + +/* SELF DESTRUCT OVERLAY */ +#destruction-overlay { + position: fixed; + top: 0; left: 0; + width: 100%; height: 100%; + background: #000; + color: #f00; + z-index: 10000; + display: none; + flex-direction: column; + justify-content: center; + align-items: center; + font-family: 'Courier New', monospace; + text-align: center; +} + +.destruct-msg { + font-size: 3rem; + font-weight: 900; + text-transform: uppercase; + letter-spacing: 10px; + margin-bottom: 20px; + text-shadow: 0 0 20px #f00; +} + +.destruct-sub { + font-size: 1.2rem; + color: #666; +} + +/* TERMINAL STYLES */ +.container { + max-width: 900px; + margin: 0 auto; + padding: 40px 20px; +} + +header { + text-align: center; + border-bottom: 2px solid #3d2b1f; + margin-bottom: 40px; + padding-bottom: 20px; +} + +h1 { + color: var(--accent-orange); + text-transform: uppercase; + letter-spacing: 5px; + margin: 0; + text-shadow: 0 0 15px rgba(255, 69, 0, 0.7); +} + +.tagline { + color: var(--accent-gold); + font-style: italic; + font-size: 1.2rem; +} + +.hero-image { + width: 100%; + border: 5px solid #3d2b1f; + box-shadow: 0 0 30px rgba(0,0,0,1); + margin: 20px 0; +} + +.content-box { + background: rgba(20, 20, 20, 0.8); + border-left: 5px solid var(--accent-orange); + padding: 20px; + margin-top: 40px; +} + +footer { + text-align: center; + font-size: 0.8rem; + color: #444; + margin-top: 100px; + border-top: 1px solid #222; + padding: 20px; +} + +/* Warn-Box Style */ +.warning-box { + border: 2px dashed var(--accent-orange); + padding: 10px; + margin-top: 20px; + color: var(--accent-orange); + font-weight: bold; + font-size: 0.85rem; + text-transform: uppercase; + display: inline-block; + animation: blinker 2s linear infinite; +} + +@keyframes blinker { + 50% { opacity: 0.3; } +} + +/* --- INTERAKTIVE MODI --- */ + +/* 1. KI-KERNEL (Matrix Style) */ +body.mode-kernel { + background-color: #000; + color: #0f0; + font-family: 'Courier New', monospace; +} +body.mode-kernel a, +body.mode-kernel h1, +body.mode-kernel .tagline, +body.mode-kernel .warning-box { + color: #0f0 !important; + text-shadow: 0 0 10px #0f0; + border-color: #0f0; +} +body.mode-kernel .hero-image { + filter: hue-rotate(90deg) contrast(1.5) brightness(1.2); + border-color: #0f0; +} + +/* 2. ANARCHIE (Glitch & Tilt) */ +@keyframes shake { + 0% { transform: translate(1px, 1px) rotate(0deg); } + 10% { transform: translate(-1px, -2px) rotate(-1deg); } + 20% { transform: translate(-3px, 0px) rotate(1deg); } + 30% { transform: translate(3px, 2px) rotate(0deg); } + 40% { transform: translate(1px, -1px) rotate(1deg); } + 50% { transform: translate(-1px, 2px) rotate(-1deg); } + 60% { transform: translate(-3px, 1px) rotate(0deg); } + 70% { transform: translate(3px, 1px) rotate(-1deg); } + 80% { transform: translate(-1px, -1px) rotate(1deg); } + 90% { transform: translate(1px, 2px) rotate(0deg); } + 100% { transform: translate(1px, -2px) rotate(-1deg); } +} +body.mode-anarchy { + animation: shake 0.3s infinite; + /* Ein fieser Red-Tint Filter auf dem gesamten Body, ohne das Layout zu sprengen */ + filter: grayscale(1) sepia(1) hue-rotate(-50deg) saturate(5) contrast(2); + background-color: #111; +} + +body.mode-anarchy .container { + /* Container behält sein Box-Model intakt */ + animation: none; + filter: none; +} + +/* 3. SECURITY BYPASS (Red Alert) */ +@keyframes red-alert { + 0% { box-shadow: inset 0 0 0 red; } + 50% { box-shadow: inset 0 0 100px red; } + 100% { box-shadow: inset 0 0 0 red; } +} +body.mode-security { + animation: red-alert 1s infinite; +} +body.mode-security::after { + content: "WARNING: UNAUTHORIZED ACCESS"; + position: fixed; + top: 50%; left: 50%; + transform: translate(-50%, -50%); + font-size: 5rem; + color: rgba(255, 0, 0, 0.2); + font-weight: 900; + z-index: 0; + pointer-events: none; + transform: translate(-50%, -50%) rotate(-15deg); +} + +/* DEEP SCAN MODE */ +body.mode-scan::before { + content: ''; + position: fixed; + left: 0; right: 0; + height: 3px; + background: linear-gradient(90deg, + transparent 0%, + rgba(0,255,65,0.0) 10%, + rgba(0,255,65,0.9) 50%, + rgba(0,255,65,0.0) 90%, + transparent 100% + ); + box-shadow: 0 0 18px 4px rgba(0,255,65,0.4); + z-index: 99999; + pointer-events: none; + animation: scan-line 2.4s linear infinite; +} +body.mode-scan::after { + content: 'SCANNING...'; + position: fixed; + top: 12px; right: 16px; + font-family: 'Courier New', monospace; + font-size: 0.55rem; + letter-spacing: 4px; + color: rgba(0,255,65,0.5); + z-index: 99999; + pointer-events: none; + animation: blinker 0.8s step-end infinite; +} +body.mode-scan { + background-image: repeating-linear-gradient( + 0deg, + transparent, + transparent 2px, + rgba(0,255,65,0.018) 2px, + rgba(0,255,65,0.018) 4px + ); +} +@keyframes scan-line { + 0% { top: -4px; } + 100% { top: 100vh; } +} + +/* OVERDRIVE MODE */ +body.mode-overdrive { + filter: saturate(2.2) contrast(1.15) brightness(1.05); +} +body.mode-overdrive h1, +body.mode-overdrive h2, +body.mode-overdrive h3 { + text-shadow: 0 0 12px currentColor, 0 0 30px currentColor !important; +} +body.mode-overdrive .switch-btn, +body.mode-overdrive .filter-btn, +body.mode-overdrive .portfolio-item { + box-shadow: 0 0 10px rgba(255,69,0,0.4) !important; +} +body.mode-overdrive #system-log { + box-shadow: inset 0 0 30px rgba(0,255,65,0.15), 0 0 20px rgba(0,255,65,0.2) !important; + border-color: rgba(0,255,65,0.5) !important; +} +body.mode-overdrive::after { + content: 'OVERDRIVE'; + position: fixed; + bottom: 36px; right: 16px; + font-family: 'Courier New', monospace; + font-size: 0.5rem; + letter-spacing: 5px; + color: rgba(255,69,0,0.35); + pointer-events: none; + z-index: 9400; +} + +/* ═══════════════════════════════════════ + CONTROL PANEL — CYBERPUNK METAL BUTTONS +═══════════════════════════════════════ */ +.control-panel { + display: flex; + flex-wrap: wrap; + gap: 6px; + width: 100%; + max-width: 900px; + box-sizing: border-box; + margin: 0 auto 20px; + padding: 10px; + background: + linear-gradient(180deg, rgba(40,35,30,0.6) 0%, rgba(8,6,4,0.95) 50%, rgba(30,25,20,0.6) 100%); + border-top: 1px solid rgba(255,255,255,0.07); + border-bottom: 1px solid rgba(0,0,0,0.9); + border-left: 1px solid rgba(255,255,255,0.04); + border-right: 1px solid rgba(255,255,255,0.04); + box-shadow: + 0 6px 30px rgba(0,0,0,0.8), + inset 0 1px 0 rgba(255,255,255,0.05); +} + +.switch-btn { + flex: 1; + min-width: 110px; + padding: 11px 10px 9px; + font-family: 'Courier New', monospace; + font-size: 0.6rem; + letter-spacing: 2px; + text-transform: uppercase; + cursor: pointer; + position: relative; + transition: all 0.12s ease; + user-select: none; + + /* Metal plate */ + background: linear-gradient( + 170deg, + #252018 0%, + #111008 45%, + #0d0b06 55%, + #1e1a10 100% + ); + border-top: 1px solid rgba(255,220,100,0.12); + border-left: 1px solid rgba(255,220,100,0.06); + border-right: 1px solid rgba(0,0,0,0.7); + border-bottom: 2px solid rgba(0,0,0,0.85); + box-shadow: + inset 0 1px 0 rgba(255,220,80,0.06), + inset 0 -1px 0 rgba(0,0,0,0.6), + 0 2px 6px rgba(0,0,0,0.6); + + /* Neon text — orange default */ + color: rgba(255,120,20,0.75); + text-shadow: + 0 0 6px rgba(255,100,0,0.6), + 0 0 14px rgba(255,80,0,0.3); +} + +.switch-btn::before { + content: ''; + position: absolute; + top: 0; left: 0; right: 0; + height: 40%; + background: linear-gradient(180deg, rgba(255,220,80,0.04) 0%, transparent 100%); + pointer-events: none; +} + +.switch-btn:hover { + background: linear-gradient( + 170deg, + #302a1a 0%, + #1a1508 45%, + #141208 55%, + #28220e 100% + ); + color: rgba(255,140,30,0.95); + text-shadow: + 0 0 8px rgba(255,120,0,0.9), + 0 0 20px rgba(255,80,0,0.5), + 0 0 40px rgba(255,60,0,0.2); + border-top-color: rgba(255,220,100,0.2); + box-shadow: + inset 0 1px 0 rgba(255,220,80,0.1), + inset 0 -1px 0 rgba(0,0,0,0.6), + 0 0 12px rgba(255,100,0,0.15), + 0 2px 6px rgba(0,0,0,0.6); +} + +.switch-btn:active, +.switch-btn.active { + background: linear-gradient( + 170deg, + #0d0b06 0%, + #181408 45%, + #1a1608 55%, + #111008 100% + ); + border-top: 1px solid rgba(0,0,0,0.5); + border-bottom: 1px solid rgba(255,180,50,0.15); + box-shadow: + inset 0 2px 8px rgba(0,0,0,0.8), + inset 0 1px 3px rgba(0,0,0,0.5), + 0 0 16px rgba(255,100,0,0.2); + transform: translateY(1px); + color: rgba(255,160,40,1); + text-shadow: + 0 0 10px rgba(255,140,0,1), + 0 0 25px rgba(255,100,0,0.7), + 0 0 50px rgba(255,60,0,0.3); +} + +/* Green variant — ANARCHIE-MODE */ +.switch-btn.green { + color: rgba(0,255,65,0.7); + text-shadow: 0 0 6px rgba(0,255,65,0.6), 0 0 14px rgba(0,255,65,0.3); +} +.switch-btn.green:hover { + color: rgba(0,255,65,0.95); + text-shadow: 0 0 8px rgba(0,255,65,0.9), 0 0 22px rgba(0,255,65,0.5), 0 0 40px rgba(0,255,65,0.2); + box-shadow: inset 0 1px 0 rgba(255,220,80,0.1), 0 0 12px rgba(0,255,65,0.15), 0 2px 6px rgba(0,0,0,0.6); +} +.switch-btn.green:active, +.switch-btn.green.active { + color: rgba(0,255,65,1); + text-shadow: 0 0 10px rgba(0,255,65,1), 0 0 25px rgba(0,255,65,0.7), 0 0 50px rgba(0,255,65,0.3); + box-shadow: inset 0 2px 8px rgba(0,0,0,0.8), 0 0 16px rgba(0,255,65,0.2); +} + +/* Red variant — OVERDRIVE */ +.switch-btn.red { + color: rgba(255,40,10,0.75); + text-shadow: 0 0 6px rgba(255,20,0,0.7), 0 0 14px rgba(255,0,0,0.3); +} +.switch-btn.red:hover { + color: rgba(255,60,20,0.95); + text-shadow: 0 0 8px rgba(255,30,0,0.9), 0 0 22px rgba(255,0,0,0.6), 0 0 40px rgba(255,0,0,0.2); + box-shadow: inset 0 1px 0 rgba(255,220,80,0.1), 0 0 12px rgba(255,30,0,0.2), 0 2px 6px rgba(0,0,0,0.6); +} +.switch-btn.red:active, +.switch-btn.red.active { + color: rgba(255,60,20,1); + text-shadow: 0 0 10px rgba(255,40,0,1), 0 0 25px rgba(255,20,0,0.7), 0 0 50px rgba(255,0,0,0.3); + box-shadow: inset 0 2px 8px rgba(0,0,0,0.8), 0 0 18px rgba(255,30,0,0.25); + animation: blinker 0.4s step-end infinite; +} + +/* 4. GHOST MODE (Stealth & Invisibility) */ +body.mode-ghost #system-log { + opacity: 0.8; + transition: all 2s ease; + animation: ghost-pulse 4s infinite; + border-color: rgba(0, 255, 0, 0.3); +} + +body.mode-ghost .portfolio-grid { + filter: grayscale(1) brightness(0.5); + pointer-events: none; +} + +body.mode-ghost #terminal-input, +body.mode-ghost .prompt { + color: rgba(0, 255, 0, 0.8); /* Deutlich lesbar bleiben */ + text-shadow: 0 0 5px rgba(0, 255, 0, 0.5); +} + +@keyframes ghost-pulse { + 0% { opacity: 0.7; } + 50% { opacity: 1.0; } + 100% { opacity: 0.7; } +} + +#system-log { + background: #000; + border: 1px solid #333; + color: #0f0; + font-family: 'Courier New', monospace; + padding: 15px; + margin-top: 0; + min-height: 250px; + transition: height 0.5s cubic-bezier(0.4, 0, 0.2, 1); + display: flex; + flex-direction: column; + box-shadow: inset 0 0 10px #000; + overflow: hidden; +} + transition: min-height 0.55s cubic-bezier(0.4,0,0.2,1); +} + +#log-output { + flex-grow: 1; + overflow-y: auto; + font-size: 0.9rem; + display: flex; + flex-direction: column-reverse; +} + +.log-entry.ghost { + color: rgba(0, 255, 0, 0.4); + font-size: 0.75rem; + letter-spacing: 2px; + text-shadow: 0 0 5px rgba(0, 255, 0, 0.2); +} + +.log-entry.user-cmd { + color: var(--accent-orange); + font-weight: bold; +} + +.log-entry.info { color: var(--accent-gold); } +.log-entry.error { color: #f00; font-weight: bold; } +.log-entry.ok { color: #0f0; } +.log-entry.warn { color: #ff0; } + +.terminal-input-line { + display: flex; + border-top: 1px solid #111; + padding-top: 10px; + margin-top: 5px; +} + +.prompt { + color: #0f0; + margin-right: 10px; + font-weight: bold; +} + +#terminal-input { + background: transparent; + border: none; + color: #0f0; + font-family: 'Courier New', monospace; + width: 100%; + outline: none; + font-size: 0.9rem; +} + +/* CONTENT HEADER & FILTER */ +.content-header { + display: flex; + justify-content: space-between; + align-items: center; + border-bottom: 1px solid #333; + margin-bottom: 20px; + padding-bottom: 10px; +} + +.filter-controls { + display: flex; + gap: 10px; +} + +.filter-btn { + background: transparent; + border: 1px solid #444; + color: #888; + padding: 2px 8px; + font-family: 'Courier New', monospace; + font-size: 0.7rem; + cursor: pointer; + transition: all 0.2s; +} + +.filter-btn:hover, .filter-btn.active { + border-color: var(--accent-orange); + color: var(--accent-orange); +} + +/* CLASSIFICATION STAMP */ +.classification-stamp { + position: absolute; + top: 40px; + right: 40px; + border: 5px double rgba(255, 0, 0, 0.4); + color: rgba(255, 0, 0, 0.4); + padding: 10px 30px; + font-size: 1.8rem; + font-weight: 900; + text-transform: uppercase; + transform: rotate(12deg); + user-select: none; + pointer-events: none; + letter-spacing: 8px; + z-index: 5; + box-shadow: 0 0 10px rgba(255, 0, 0, 0.1); + background: rgba(255, 0, 0, 0.02); +} + +.classification-stamp::after { + content: "EYES ONLY"; + display: block; + font-size: 0.6rem; + text-align: center; + letter-spacing: 2px; + margin-top: 5px; + font-weight: 400; +} + +/* HERO GLITCH EFFECTS */ +.hero-image { + max-width: 750px; + width: 100%; + display: block; + margin: 20px auto; + border: 5px solid #3d2b1f; + box-shadow: 0 0 30px rgba(0,0,0,1); + transition: all 0.5s ease; +} + +body.mode-security .hero-image { + filter: sepia(1) saturate(5) hue-rotate(-50deg); + animation: shake 0.2s infinite; +} + +body.mode-anarchy .hero-image { + filter: invert(1) contrast(3); + /* Das Bild wird nicht mehr gnadenlos abgeschnitten, sondern erbt den Portfolio-Glitch Effekt */ + animation: portfolio-glitch 0.2s infinite; +} + +.mission-content img { + max-width: 500px; + width: 100%; + height: auto; + border: 2px solid #333; + margin: 30px auto; + filter: grayscale(0.5) contrast(1.2); + box-shadow: 0 0 20px rgba(0,0,0,0.5); + display: block; +} + +.image-caption { + font-size: 0.75rem; + color: var(--accent-gold); + text-transform: uppercase; + margin-top: -20px; + margin-bottom: 30px; + text-align: center; + letter-spacing: 2px; +} + +/* PORTFOLIO LINK & GRID */ + +.item-excerpt, .item-excerpt p { + font-size: 0.85rem; + color: #888; + margin: 5px 0 0 0; + line-height: 1.4; + text-decoration: none !important; +} + +/* FORTUNE TEASER */ +.fortune-teaser { + margin-top: 16px; + padding: 18px 24px; + border: 1px solid #2a2a2a; + border-left: 3px solid var(--accent-gold); + background: rgba(212, 175, 55, 0.03); + cursor: pointer; + transition: background 0.2s, border-color 0.2s; + display: flex; + align-items: baseline; + gap: 24px; + flex-wrap: wrap; +} + +.fortune-teaser:hover { + background: rgba(212, 175, 55, 0.07); + border-left-color: var(--accent-orange); +} + +.fortune-teaser-label { + color: #444; + font-size: 0.65rem; + letter-spacing: 2px; + white-space: nowrap; + flex-shrink: 0; +} + +.fortune-teaser-text { + color: #777; + font-size: 0.8rem; + margin: 0; + flex: 1; + line-height: 1.5; +} + +.fortune-teaser-text em { + color: var(--accent-gold); + font-style: normal; +} + +.fortune-teaser-hint { + color: #444; + font-size: 0.75rem; + white-space: nowrap; + flex-shrink: 0; +} + +.fortune-teaser-hint code { + color: var(--accent-gold); + font-family: 'Courier New', monospace; +} + +/* COMMAND CARDS */ +.cmd-cards-section { + display: grid; + grid-template-columns: repeat(3, 1fr); + gap: 20px; + margin-top: 40px; +} + +.cmd-card { + background: rgba(15, 15, 15, 0.9); + border: 1px solid #333; + border-top: 3px solid var(--accent-orange); + display: flex; + flex-direction: column; + transition: border-color 0.2s, box-shadow 0.2s; +} + +.cmd-card:hover { + border-color: var(--accent-gold); + box-shadow: 0 0 20px rgba(212, 175, 55, 0.25); +} + +.cmd-card-img { + width: 100%; + height: 180px; + object-fit: cover; + object-position: top; + filter: sepia(0.4) brightness(0.7); + display: block; +} + +.cmd-card-body { + padding: 18px; + display: flex; + flex-direction: column; + gap: 8px; + flex: 1; +} + +.cmd-card-label { + color: #555; + font-size: 0.65rem; + letter-spacing: 2px; +} + +.cmd-card-title { + color: var(--accent-orange); + font-size: 1.1rem; + margin: 0; + font-family: 'Courier New', monospace; + letter-spacing: 1px; +} + +.cmd-card-text { + color: #aaa; + font-size: 0.8rem; + line-height: 1.6; + margin: 0; + flex: 1; +} + +.cmd-card-hint { + display: block; + color: #444; + font-size: 0.7rem; + border-top: 1px solid #222; + padding-top: 10px; + margin-top: 4px; + letter-spacing: 1px; +} + +.cmd-card-hint code { + color: #0f0; + background: rgba(0,255,0,0.05); + padding: 1px 5px; + font-family: 'Courier New', monospace; +} + +@media (max-width: 768px) { + .cmd-cards-section { + grid-template-columns: 1fr; + } +} + +/* PORTFOLIO GRID */ +.portfolio-grid { + display: grid; + grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); + gap: 20px; + margin-top: 50px; +} + +.portfolio-item { + background: rgba(15, 15, 15, 0.9); + border: 1px solid #333; + padding: 25px 20px 20px 20px; + position: relative; + transition: all 0.3s; + height: 100%; + display: flex; + flex-direction: column; + justify-content: flex-start; +} + +.portfolio-link:hover .portfolio-item { + border-color: var(--accent-orange); + box-shadow: 0 0 25px rgba(255, 69, 0, 0.4); + animation: portfolio-glitch 0.3s infinite; + z-index: 10; +} + +@keyframes portfolio-glitch { + 0% { transform: translate(0, -5px) skew(0deg); filter: drop-shadow(2px 0 0 rgba(255,0,0,0.5)) drop-shadow(-2px 0 0 rgba(0,0,255,0.5)); } + 25% { transform: translate(-2px, -4px) skew(1deg); filter: drop-shadow(-2px 0 0 rgba(255,0,0,0.5)) drop-shadow(2px 0 0 rgba(0,0,255,0.5)); } + 50% { transform: translate(2px, -6px) skew(-1deg); filter: drop-shadow(2px 0 0 rgba(255,0,0,0.5)) drop-shadow(-2px 0 0 rgba(0,0,255,0.5)); } + 75% { transform: translate(-1px, -5px) skew(2deg); filter: drop-shadow(-2px 0 0 rgba(255,0,0,0.5)) drop-shadow(2px 0 0 rgba(0,0,255,0.5)); } + 100% { transform: translate(0, -5px) skew(0deg); filter: drop-shadow(2px 0 0 rgba(255,0,0,0.5)) drop-shadow(-2px 0 0 rgba(0,0,255,0.5)); } +} + +/* PROJECT THUMBNAILS (Evidence Photo Style) */ +.project-header-wrap { + display: flex; + align-items: center; + gap: 15px; + margin-bottom: 10px; + border-bottom: 1px solid #222; + padding-bottom: 15px; +} + +.project-thumb { + width: 60px; + height: 60px; + object-fit: cover; + border: 3px solid #eee; /* Polaroid Rand */ + filter: grayscale(1) contrast(1.2) sepia(0.3); + transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275); + transform: rotate(-3deg); + box-shadow: 2px 2px 5px rgba(0,0,0,0.5); + flex-shrink: 0; +} + +/* Klebestreifen oben links */ +.project-thumb::before { + content: ""; + position: absolute; + top: -10px; + left: 50%; + width: 30px; + height: 10px; + background: rgba(255, 255, 255, 0.1); + transform: translateX(-50%); + box-shadow: 0 0 5px rgba(0,0,0,0.2); +} + +.portfolio-link:hover .project-thumb { + filter: grayscale(0) contrast(1); + transform: rotate(0deg) scale(1.1); + border-color: var(--accent-gold); + box-shadow: 0 0 20px rgba(212, 175, 55, 0.4); +} + +.portfolio-item h3 { + color: var(--accent-gold); + margin: 0; + font-size: 1rem; + flex-grow: 1; + text-transform: uppercase; + letter-spacing: 1px; +} + +.status-tag { + font-size: 0.7rem; + background: #222; + padding: 2px 8px; + position: absolute; + top: 10px; + right: 10px; + border: 1px solid #444; + z-index: 10; +} + +.status-tag.stable { color: #0f0; border-color: #0f0; } +.status-tag.corrupted { color: #f00; border-color: #f00; animation: blinker 1s infinite; } + +/* --- TIMELINE MODAL --- */ +#timeline-modal { + position: fixed; top: 0; left: 0; width: 100%; height: 100%; + background: url('/img/steampunk_bg.png') center/cover no-repeat, rgba(15, 10, 5, 0.95); + background-blend-mode: multiply; + z-index: 20000; + overflow-y: auto; + padding: 40px 20px; + font-family: 'Courier New', monospace; + opacity: 1; transition: opacity 0.5s; + box-shadow: inset 0 0 100px #000; +} +#timeline-modal.timeline-hidden { + opacity: 0; pointer-events: none; +} +#close-timeline { + position: fixed; top: 20px; right: 30px; + background: rgba(0,0,0,0.5); color: var(--accent-orange); border: 2px solid var(--accent-orange); + padding: 10px 20px; font-weight: bold; cursor: pointer; z-index: 20001; + box-shadow: 0 0 10px rgba(255,69,0,0.5); + text-shadow: 0 0 5px #000; +} +#close-timeline:hover { background: var(--accent-orange); color: #000; } + +/* STEAMPUNK MIRROR PORTRAIT */ +.mutter-portrait-wrap { + text-align: center; + margin: 24px auto 8px; + position: relative; + width: fit-content; + cursor: zoom-in; + z-index: 1; +} +.mutter-mirror-frame { + display: inline-block; + position: relative; + padding: 18px; + background: radial-gradient(ellipse at center, rgba(212,175,55,0.08) 0%, transparent 70%); +} +.mutter-mirror-frame::before { + content: '⚙ ✦ ⚙ ✦ ⚙ ✦ ⚙'; + display: block; + text-align: center; + color: rgba(212,175,55,0.35); + font-size: 0.65rem; + letter-spacing: 6px; + margin-bottom: 6px; +} +.mutter-mirror-frame::after { + content: '⚙ ✦ ⚙ ✦ ⚙ ✦ ⚙'; + display: block; + text-align: center; + color: rgba(212,175,55,0.35); + font-size: 0.65rem; + letter-spacing: 6px; + margin-top: 6px; +} +.mutter-mirror-inner { + position: relative; + display: inline-block; + border-radius: 50%; + padding: 5px; + background: conic-gradient( + #3a2200 0deg, #b87333 30deg, #d4af37 60deg, #8b5e00 90deg, + #b87333 120deg, #5c3a21 150deg, #d4af37 180deg, #b87333 210deg, + #3a2200 240deg, #d4af37 270deg, #b87333 300deg, #5c3a21 330deg, + #3a2200 360deg + ); + box-shadow: + 0 0 0 2px rgba(212,175,55,0.15), + 0 0 12px rgba(184,115,51,0.3), + inset 0 0 6px rgba(0,0,0,0.5); + transition: + transform 0.42s cubic-bezier(0.34, 1.56, 0.64, 1), + box-shadow 0.35s; +} +.mutter-mirror-inner::before, +.mutter-mirror-inner::after { + content: ''; + position: absolute; + border-radius: 50%; + pointer-events: none; +} +.mutter-mirror-inner::before { + inset: -9px; + border: 1px dashed rgba(212,175,55,0.2); +} +.mutter-mirror-inner::after { + inset: -16px; + border: 1px solid rgba(184,115,51,0.12); +} +.mutter-mirror-img { + display: block; + width: 150px; + height: 150px; + border-radius: 50%; + object-fit: cover; + object-position: center 18%; + opacity: 0.6; + filter: sepia(0.35) brightness(0.82) contrast(1.05); + transition: opacity 0.35s, filter 0.35s; +} +.mutter-mirror-deco { + position: absolute; + color: rgba(212,175,55,0.4); + font-size: 1rem; + line-height: 1; + pointer-events: none; + transition: color 0.3s, text-shadow 0.3s; +} +.mutter-mirror-deco.top { top: 2px; left: 50%; transform: translateX(-50%); } +.mutter-mirror-deco.bottom { bottom: 2px; left: 50%; transform: translateX(-50%); } +.mutter-mirror-deco.left { left: 2px; top: 50%; transform: translateY(-50%); } +.mutter-mirror-deco.right { right: 2px; top: 50%; transform: translateY(-50%); } + +/* --- PORTRAIT HOVER EFFEKT --- */ +.mutter-portrait-wrap { + cursor: zoom-in; + position: relative; + z-index: 1; +} +.mutter-portrait-wrap:hover { + z-index: 5; +} +.mutter-portrait-wrap:hover .mutter-mirror-inner { + transform: scale(1.7); + box-shadow: + 0 0 0 3px rgba(212,175,55,0.3), + 0 0 30px rgba(184,115,51,0.7), + 0 0 65px rgba(212,175,55,0.3), + inset 0 0 8px rgba(0,0,0,0.5); +} +.mutter-portrait-wrap:hover .mutter-mirror-inner::before { + animation: portrait-ring-cw 1.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards; + border-color: rgba(212,175,55,0.5); +} +.mutter-portrait-wrap:hover .mutter-mirror-inner::after { + animation: portrait-ring-ccw 2s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards; + border-color: rgba(184,115,51,0.3); +} +@keyframes portrait-ring-cw { + from { transform: rotate(0deg); } + to { transform: rotate(210deg); } +} +@keyframes portrait-ring-ccw { + from { transform: rotate(0deg); } + to { transform: rotate(-150deg); } +} +.mutter-portrait-wrap:hover .mutter-mirror-img { + opacity: 0.88; + filter: sepia(0.1) brightness(0.95) contrast(1.1); +} +.mutter-portrait-wrap:hover .modal-portrait-placeholder { + filter: sepia(0) brightness(1.05); +} +.mutter-portrait-wrap:hover .mutter-mirror-deco { + color: rgba(212,175,55,0.9); + text-shadow: 0 0 10px rgba(212,175,55,0.7); +} + +.timeline-track { + position: relative; max-width: 800px; margin: 40px auto; +} +/* Kupferrohr in der Mitte */ +.timeline-track::after { + content: ''; position: absolute; + width: 8px; + background: linear-gradient(to right, #5c3a21 0%, #b87333 50%, #5c3a21 100%); + top: 0; bottom: 0; left: 50%; margin-left: -4px; + box-shadow: 2px 0 10px rgba(0,0,0,0.9); + border-radius: 4px; +} + +.time-node { + padding: 10px 40px; position: relative; background: inherit; width: 50%; box-sizing: border-box; +} +.time-node.left { left: 0; text-align: right; } +.time-node.right { left: 50%; text-align: left; } + +/* Nieten entlang der Mittellinie */ +.time-node.left::after, +.time-node.right::after { + content: ''; + position: absolute; + width: 18px; + height: 18px; + background: radial-gradient(circle at 35% 35%, #f0d070 0%, #b87333 40%, #5c3a21 80%, #2a1b0a 100%); + border: 2px solid #7a4a1a; + border-radius: 50%; + top: 50%; + transform: translateY(-50%); + z-index: 5; + box-shadow: + inset 0 2px 3px rgba(255,220,100,0.5), + inset 0 -2px 3px rgba(0,0,0,0.6), + 2px 3px 6px rgba(0,0,0,0.8), + 0 0 8px rgba(184,115,51,0.4); +} +.time-node.left::after { right: -8px; } +.time-node.right::after { left: -8px; } + +/* Omega-Niet leuchtend rot */ +.time-node.omega.left::after, +.time-node.omega.right::after { + border-color: #8b0000; + background: radial-gradient(circle at 35% 35%, #ff6040 0%, #cc1100 40%, #660000 80%, #1a0000 100%); + box-shadow: + inset 0 2px 3px rgba(255,120,80,0.5), + inset 0 -2px 3px rgba(0,0,0,0.7), + 2px 3px 6px rgba(0,0,0,0.8), + 0 0 12px #ff4500, + 0 0 25px rgba(255,69,0,0.6); + animation: omega-dot-pulse 0.8s infinite alternate ease-in-out; +} + +/* Steampunk Kästchen */ +.time-content { + padding: 25px; + background: linear-gradient(135deg, rgba(50, 30, 15, 0.95), rgba(20, 10, 5, 0.95)); + border: 2px solid #b5a642; + outline: 2px solid #2a1f18; /* Kabel-Base */ + outline-offset: 4px; + box-shadow: inset 0 0 20px rgba(0,0,0,0.8), 5px 5px 20px rgba(0,0,0,0.7); + position: relative; border-radius: 3px; +} +/* Subtile Kabelverschlaufung (Kupferdraht) um normale Boxen */ +.time-content::after { + content: ''; position: absolute; top: -6px; left: -6px; right: -6px; bottom: -6px; + border: 1px dashed #b87333; + border-radius: 5px; + pointer-events: none; + opacity: 0.6; + z-index: 2; +} + +/* Messing-Nieten in den Ecken */ +.time-content::before { + content: ''; position: absolute; width: 100%; height: 100%; left: 0; top: 0; pointer-events: none; + background-image: + radial-gradient(circle at 10px 10px, #b5a642 3px, transparent 4px), + radial-gradient(circle at calc(100% - 10px) 10px, #b5a642 3px, transparent 4px), + radial-gradient(circle at 10px calc(100% - 10px), #b5a642 3px, transparent 4px), + radial-gradient(circle at calc(100% - 10px) calc(100% - 10px), #b5a642 3px, transparent 4px); + opacity: 0.8; +} + +.time-content h3 { + margin-top: 8px; color: #d4af37; + border-bottom: 1px dashed #b5a642; + padding-bottom: 5px; + text-shadow: 1px 1px 2px #000; + font-size: 1.1rem; + letter-spacing: 2px; +} +.time-content p { font-size: 0.9rem; color: #e8dcc4; line-height: 1.5; text-shadow: 1px 1px 2px #000; margin-bottom: 0; } + +/* Akte-Kopfstreifen */ +.tc-header { + margin: -25px -25px 12px -25px; + padding: 5px 14px; + background: linear-gradient(90deg, rgba(181,166,66,0.15), rgba(181,166,66,0.05)); + border-bottom: 1px solid #b5a642; + font-size: 0.6rem; + letter-spacing: 2px; + color: #8a7a30; + text-transform: uppercase; +} + +.tc-stamp { + color: #b5a642; + border: 1px solid #b5a642; + padding: 0 5px; + font-size: 0.55rem; + letter-spacing: 3px; + vertical-align: middle; +} + +.tc-stamp.omega { + color: var(--accent-orange); + border-color: var(--accent-orange); + animation: blinker 1.2s infinite; +} + +/* Akte-Fußstreifen */ +.tc-footer { + margin: 12px -25px -25px -25px; + padding: 5px 14px; + background: linear-gradient(90deg, rgba(181,166,66,0.05), rgba(181,166,66,0.12)); + border-top: 1px solid #3a2e10; + font-size: 0.55rem; + letter-spacing: 2px; + color: #5a4e20; + text-transform: uppercase; +} + +/* OMEGA KNOTEN - Die Überraschung (Elektro-Arc) */ +.time-content.omega-node { + border-color: #ff4500; + outline: 2px solid #330000; + box-shadow: inset 0 0 30px rgba(255, 69, 0, 0.5), 0 0 30px rgba(255, 0, 0, 0.8); + background: linear-gradient(135deg, rgba(80, 20, 10, 0.95), rgba(30, 0, 0, 0.95)); + animation: omega-pulse 2s infinite alternate, omega-shake 0.5s infinite; +} +.time-content.omega-node::after { + content: ''; position: absolute; top: -8px; left: -8px; right: -8px; bottom: -8px; + border: 2px solid #0ff; /* Plasma cyan */ + border-radius: 6px; + box-shadow: 0 0 15px #0ff, inset 0 0 10px #0ff; + animation: electric-arc 0.15s infinite; + pointer-events: none; + opacity: 0.9; + z-index: 2; +} + +@keyframes omega-pulse { + 0% { box-shadow: inset 0 0 30px rgba(255, 69, 0, 0.4), 0 0 20px rgba(255, 0, 0, 0.6); } + 100% { box-shadow: inset 0 0 60px rgba(255, 69, 0, 0.9), 0 0 40px rgba(255, 0, 0, 1); } +} + +@keyframes omega-shake { + 0%, 100% { transform: translate(0, 0) rotate(0deg); } + 25% { transform: translate(0.5px, 0.5px) rotate(0.2deg); } + 50% { transform: translate(-0.5px, -0.5px) rotate(-0.2deg); } + 75% { transform: translate(0.5px, -0.5px) rotate(0.2deg); } +} + +@keyframes electric-arc { + 0% { clip-path: polygon(0 0, 100% 0, 100% 5%, 0 5%); border-color: #0ff; } + 25% { clip-path: polygon(95% 0, 100% 0, 100% 100%, 95% 100%); border-color: #fff; } + 50% { clip-path: polygon(0 95%, 100% 95%, 100% 100%, 0 100%); border-color: #0ff; } + 75% { clip-path: polygon(0 0, 5% 0, 5% 100%, 0 100%); border-color: #fff; } + 100% { clip-path: polygon(0 0, 100% 0, 100% 20%, 0 20%); border-color: #0ff; } +} + +@media screen and (max-width: 600px) { + .timeline-track::after { left: 31px; } + .time-node { width: 100%; padding-left: 70px; padding-right: 25px; } + .time-node.left { text-align: left; } + .time-node.right { left: 0; } + .time-node.left::after, .time-node.right::after { left: 19px; } +} + +/* --- PERSON NAV ROW (Timeline Modal) --- */ +.person-nav-row { + display: flex; + justify-content: center; + gap: 20px; + margin: 16px 0 28px; + flex-wrap: wrap; + padding: 0 16px; +} +.person-nav-item { + text-decoration: none; + display: flex; + flex-direction: column; + align-items: center; + gap: 6px; + position: relative; + z-index: 1; +} +.person-nav-item:hover { + z-index: 10; +} +.person-nav-portrait { + width: 90px; + height: 90px; + border-radius: 50%; + background: radial-gradient(circle at 38% 38%, rgba(212,175,55,0.14) 0%, rgba(0,0,0,0.9) 70%); + border: 2px solid rgba(212,175,55,0.22); + box-shadow: 0 0 0 4px rgba(212,175,55,0.04), 0 0 14px rgba(212,175,55,0.05); + display: flex; + align-items: center; + justify-content: center; + font-size: 1.5rem; + color: rgba(212,175,55,0.32); + font-family: 'Courier New', monospace; + letter-spacing: 1px; + filter: sepia(0.2); + position: relative; + transform-origin: center bottom; + transition: + transform 0.38s cubic-bezier(0.34, 1.56, 0.64, 1), + border-color 0.25s, + box-shadow 0.25s, + color 0.25s, + filter 0.25s; + overflow: hidden; +} +.person-nav-portrait img { + width: 100%; + height: 100%; + object-fit: cover; + transition: transform 0.3s ease; +} +.comic-zoom-trigger { + cursor: zoom-in; +} +@keyframes comicBounce { + 0%, 100% { transform: translateY(0) scale(2.2); } + 50% { transform: translateY(-8px) scale(2.3); } +} +/* Innerer rotierender Ring */ +.person-nav-portrait::before { + content: ''; + position: absolute; + inset: -8px; + border-radius: 50%; + border: 1px dashed rgba(212,175,55,0.15); + pointer-events: none; + transition: transform 0.6s ease, border-color 0.3s, opacity 0.3s; + opacity: 0.4; +} +/* Äußerer rotierender Ring */ +.person-nav-portrait::after { + content: ''; + position: absolute; + inset: -16px; + border-radius: 50%; + border: 1px solid rgba(212,175,55,0.07); + pointer-events: none; + transition: transform 0.9s ease, border-color 0.3s, opacity 0.3s; + opacity: 0.25; +} +.person-nav-item:hover .person-nav-portrait { + transform: scale(2.2); + animation: comicBounce 0.6s infinite alternate ease-in-out; + border-color: rgba(212,175,55,0.7); + box-shadow: + 0 0 0 3px rgba(212,175,55,0.08), + 0 0 25px rgba(212,175,55,0.6), + 0 0 60px rgba(212,175,55,0.3), + inset 0 0 14px rgba(212,175,55,0.06); + color: rgba(212,175,55,0.92); + filter: sepia(0) brightness(1.1) contrast(1.05); +} +.person-nav-item:hover .person-nav-portrait::before { + transform: rotate(135deg); + border-color: rgba(212,175,55,0.4); + opacity: 0.85; +} +.person-nav-item:hover .person-nav-portrait::after { + transform: rotate(-90deg); + border-color: rgba(212,175,55,0.22); + opacity: 0.65; +} +.person-nav-label { + font-size: 0.8rem; + font-weight: bold; + letter-spacing: 2px; + color: rgba(212,175,55,0.6); + font-family: 'Courier New', monospace; + text-transform: uppercase; + text-decoration: underline; + text-underline-offset: 4px; + text-decoration-color: rgba(212,175,55,0.2); + transition: all 0.25s ease; +} +.person-nav-item:hover .person-nav-label { + color: var(--accent-gold); + text-decoration-color: var(--accent-gold); + text-shadow: 0 0 8px rgba(212,175,55,0.4); +} +.person-nav-item.active .person-nav-portrait { + border-color: rgba(212,175,55,0.7); + box-shadow: 0 0 0 4px rgba(212,175,55,0.08), 0 0 24px rgba(212,175,55,0.2); + color: rgba(212,175,55,0.85); + filter: sepia(0); +} +.person-nav-item.active .person-nav-label { + color: rgba(212,175,55,0.7); +} + +/* Modal portrait placeholder circle */ +.modal-portrait-placeholder { + width: 150px; + height: 150px; + border-radius: 50%; + background: radial-gradient(circle at 38% 38%, rgba(212,175,55,0.18) 0%, rgba(30,20,5,0.95) 65%); + display: flex; + align-items: center; + justify-content: center; + flex-direction: column; + gap: 5px; + filter: sepia(0.2); +} +.modal-portrait-placeholder span:first-child { + font-size: 3rem; + color: rgba(212,175,55,0.38); + font-family: 'Courier New', monospace; + line-height: 1; +} +.modal-portrait-hint { + font-size: 0.42rem; + letter-spacing: 3px; + color: rgba(212,175,55,0.2); + font-family: 'Courier New', monospace; +} + +/* TIME WARP GLITCH */ +body.mode-time-warp { + animation: shake 0.1s infinite; + filter: sepia(100%) hue-rotate(-20deg) contrast(200%) brightness(0.8) blur(1px); +} + +/* --- ANTIGRAVITY PHASE --- */ +:root { + --ag-float-duration: 6s; + --ag-drift-offset: 15px; +} + +.ag-floating { + animation: ag-float var(--ag-float-duration) ease-in-out infinite; + will-change: transform; + transform: translateZ(0); /* Force GPU Acceleration for M4 */ +} + +@keyframes ag-float { + 0%, 100% { + transform: translateY(0) translateZ(0); + } + 50% { + transform: translateY(calc(-1 * var(--ag-drift-offset))) translateZ(0); + } +} + +.ag-parallax-layer { + transition: transform 0.1s cubic-bezier(0.2, 0.8, 0.2, 1); + will-change: transform; +} + +.ag-weightless { + opacity: 0.85; + filter: blur(0.5px); + transition: all 0.5s ease; +} + +.ag-weightless:hover { + opacity: 1; + filter: blur(0); + transform: scale(1.02) translateZ(0); +} + +/* ═══════════════════════════════════════ + OPS DASHBOARD SIGN +═══════════════════════════════════════ */ +#ops-dashboard-sign { + margin-top: 30px; + margin-bottom: 0; + cursor: pointer; + border: 1px solid rgba(255,69,0,0.4); + border-bottom: none; + background: linear-gradient(180deg, rgba(20,5,0,0.95) 0%, rgba(10,2,0,0.98) 100%); + padding: 10px 16px 12px; + position: relative; + overflow: hidden; + transition: border-color 0.3s, box-shadow 0.3s; + box-shadow: 0 0 18px rgba(255,69,0,0.08), inset 0 0 30px rgba(0,0,0,0.5); +} +#ops-dashboard-sign::before { + content: ''; + position: absolute; + inset: 0; + background: repeating-linear-gradient( + 0deg, + transparent, + transparent 3px, + rgba(255,69,0,0.015) 3px, + rgba(255,69,0,0.015) 4px + ); + pointer-events: none; +} +#ops-dashboard-sign:hover { + border-color: rgba(255,69,0,0.7); + box-shadow: 0 0 28px rgba(255,69,0,0.18), inset 0 0 20px rgba(255,40,0,0.05); +} +.ops-sign-header { + display: flex; + align-items: center; + justify-content: center; + gap: 10px; + margin-bottom: 8px; +} +.ops-title { + font-size: 0.7rem; + letter-spacing: 4px; + color: rgba(255,100,0,0.7); + text-transform: uppercase; +} +.ops-blink-dot { + width: 6px; + height: 6px; + border-radius: 50%; + background: #ff2200; + display: inline-block; + animation: blinker 1.1s step-end infinite; + box-shadow: 0 0 5px #ff2200; +} +.ops-blink-dot:last-child { animation-delay: 0.55s; } +.ops-sign-stats { + display: flex; + align-items: center; + justify-content: center; + gap: 14px; + flex-wrap: wrap; +} +.ops-stat-block { + display: flex; + flex-direction: column; + align-items: center; + gap: 1px; +} +.ops-stat-label { + font-size: 0.5rem; + letter-spacing: 3px; + color: rgba(255,69,0,0.4); + text-transform: uppercase; +} +.ops-tally { + font-size: 1.1rem; + letter-spacing: 2px; + color: rgba(255,69,0,0.55); + line-height: 1; +} +.ops-stat-val { + font-size: 0.85rem; + letter-spacing: 2px; + color: rgba(200,200,200,0.6); +} +.ops-stat-val.ops-warn { color: rgba(255,200,0,0.65); } +.ops-stat-val.ops-crit { color: rgba(255,50,0,0.7); animation: blinker 2s infinite; } +.ops-divider { + color: rgba(255,69,0,0.2); + font-size: 0.7rem; + margin-top: 8px; +} +.ops-sign-hint { + text-align: center; + margin-top: 8px; + font-size: 0.55rem; + letter-spacing: 4px; + color: rgba(255,69,0,0.3); + transition: color 0.3s; +} +#ops-dashboard-sign:hover .ops-sign-hint { color: rgba(255,69,0,0.6); } + +/* ═══════════════════════════════════════ + OPS PANEL (inside terminal, expandable) +═══════════════════════════════════════ */ +#ops-panel { + max-height: 0; + overflow: hidden; + transition: max-height 0.55s cubic-bezier(0.4, 0, 0.2, 1); + border-bottom: 0px solid rgba(255,69,0,0); +} +#ops-panel.ops-open { + max-height: 420px; + border-bottom: 1px solid rgba(255,69,0,0.2); + margin-bottom: 10px; +} +#ops-panel-vitals { + padding: 6px 0 2px; + font-size: 0.7rem; + letter-spacing: 1px; + color: rgba(255,60,0,0.5); + white-space: pre; + overflow: hidden; + text-align: center; +} +#ops-panel-log { + padding: 4px 0 8px; + font-size: 0.72rem; + line-height: 1.6; + color: rgba(200,180,130,0.75); + white-space: pre; + overflow-y: auto; + max-height: 340px; +} +#ops-panel-log .ops-line-section { color: rgba(255,69,0,0.55); } +#ops-panel-log .ops-line-label { color: rgba(212,175,55,0.6); } +#ops-panel-log .ops-line-crit { color: rgba(255,40,0,0.8); } +#ops-panel-log .ops-line-ok { color: rgba(0,220,80,0.6); } +#ops-panel-log .ops-line-dim { color: rgba(120,120,120,0.5); } + +@keyframes vitals-scan { + 0% { content: 'VITALMONITOR ▁▂▃▂▁▃▂▁▁▁▁▁▁▁▁▁▁▁▁▁ FLATLINE'; } + 20% { content: 'VITALMONITOR ▁▁▂▃▂▁▃▂▁▁▁▁▁▁▁▁▁▁▁▁ FLATLINE'; } + 40% { content: 'VITALMONITOR ▁▁▁▂▃▂▁▃▂▁▁▁▁▁▁▁▁▁▁▁ FLATLINE'; } + 60% { content: 'VITALMONITOR ▁▁▁▁▂▃▂▁▃▂▁▁▁▁▁▁▁▁▁▁ FLATLINE'; } + 80% { content: 'VITALMONITOR ▁▁▁▁▁▂▃▂▁▃▂▁▁▁▁▁▁▁▁▁ FLATLINE'; } + 100% { content: 'VITALMONITOR ▁▁▁▁▁▁▂▃▂▁▃▂▁▁▁▁▁▁▁▁ FLATLINE'; } +} + +/* terminal expands when ops panel is open */ +.terminal-wrapper.ops-expanded #system-log { + transition: min-height 0.55s cubic-bezier(0.4,0,0.2,1); +} + +/* ═══════════════════════════════════════ + GÄSTEBUCH +═══════════════════════════════════════ */ +.gaestebuch-wrap { + margin-top: 30px; + border: 1px solid rgba(212,175,55,0.2); + background: rgba(5,3,0,0.97); + padding: 24px 20px 20px; + position: relative; + overflow: hidden; +} +.gaestebuch-wrap::before { + content: ''; + position: absolute; + inset: 0; + background: repeating-linear-gradient( + 0deg, transparent, transparent 5px, + rgba(212,175,55,0.012) 5px, rgba(212,175,55,0.012) 6px + ); + pointer-events: none; +} +.gaestebuch-header { + display: flex; + align-items: center; + justify-content: center; + gap: 12px; + margin-bottom: 6px; +} +.gaestebuch-title { + font-size: 0.75rem; + letter-spacing: 4px; + color: rgba(212,175,55,0.55); + text-transform: uppercase; + margin: 0; + font-weight: normal; +} +.gaestebuch-led { + width: 5px; height: 5px; + border-radius: 50%; + background: var(--accent-gold); + opacity: 0.6; + animation: blinker 2.2s step-end infinite; + box-shadow: 0 0 4px var(--accent-gold); +} +.gaestebuch-sub { + text-align: center; + font-size: 0.65rem; + letter-spacing: 2px; + color: rgba(150,130,80,0.45); + margin: 0 0 20px; +} +.gaestebuch-entries { + display: flex; + flex-direction: column; + gap: 0; +} +.gb-entry { + border-top: 1px solid rgba(212,175,55,0.08); + padding: 14px 4px 14px 12px; + position: relative; + transition: background 0.2s; +} +.gb-entry:hover { + background: rgba(212,175,55,0.025); +} +.gb-entry::before { + content: '>'; + position: absolute; + left: 0; + top: 16px; + color: rgba(212,175,55,0.2); + font-size: 0.7rem; +} +.gb-entry.gb-new { + animation: gb-fadeIn 0.6s ease forwards; +} +@keyframes gb-fadeIn { + from { opacity: 0; transform: translateY(-6px); background: rgba(212,175,55,0.06); } + to { opacity: 1; transform: translateY(0); background: transparent; } +} +.gb-meta { + display: flex; + align-items: center; + flex-wrap: wrap; + gap: 8px; + margin-bottom: 5px; +} +.gb-user { + font-size: 0.72rem; + letter-spacing: 2px; + color: var(--accent-gold); + opacity: 0.75; +} +.gb-dot { color: rgba(212,175,55,0.2); font-size: 0.5rem; } +.gb-date { + font-size: 0.6rem; + letter-spacing: 1px; + color: rgba(150,130,80,0.45); +} +.gb-tag { + font-size: 0.5rem; + letter-spacing: 2px; + border: 1px solid rgba(212,175,55,0.2); + color: rgba(212,175,55,0.35); + padding: 1px 6px; + text-transform: uppercase; + margin-left: auto; +} +.gb-tag.gb-tag-warn { border-color: rgba(255,180,0,0.25); color: rgba(255,180,0,0.4); } +.gb-tag.gb-tag-ok { border-color: rgba(0,200,80,0.2); color: rgba(0,200,80,0.4); } +.gb-tag.gb-tag-crit { border-color: rgba(255,50,0,0.25); color: rgba(255,80,0,0.45); } +.gb-text { + font-size: 0.8rem; + line-height: 1.6; + color: rgba(190,180,150,0.65); + margin: 0; + padding-left: 2px; +} + +/* Form */ +.gb-form-wrap { + margin-top: 20px; + border-top: 1px solid rgba(212,175,55,0.12); + padding-top: 16px; +} +.gb-form-header { + font-size: 0.6rem; + letter-spacing: 4px; + color: rgba(212,175,55,0.35); + margin-bottom: 12px; +} +.gb-form { + display: flex; + flex-direction: column; + gap: 8px; +} +.gb-input { + background: rgba(0,0,0,0.6); + border: 1px solid rgba(212,175,55,0.15); + color: rgba(200,185,140,0.8); + font-family: 'Courier New', monospace; + font-size: 0.78rem; + padding: 8px 12px; + outline: none; + transition: border-color 0.2s; + resize: none; +} +.gb-input:focus { border-color: rgba(212,175,55,0.4); } +.gb-input::placeholder { color: rgba(150,130,80,0.35); } +.gb-textarea { min-height: 70px; } +.gb-btn { + align-self: flex-start; + background: transparent; + border: 1px solid rgba(212,175,55,0.3); + color: rgba(212,175,55,0.6); + font-family: 'Courier New', monospace; + font-size: 0.7rem; + letter-spacing: 3px; + padding: 6px 16px; + cursor: pointer; + transition: all 0.2s; +} +.gb-btn:hover { + border-color: rgba(212,175,55,0.7); + color: rgba(212,175,55,0.9); + background: rgba(212,175,55,0.05); +} + +/* ═══════════════════════════════════════ + PERSONEN-AKTE +═══════════════════════════════════════ */ +.akte-trigger-btn { + background: linear-gradient(135deg, #3d2b1f 0%, #1a110a 100%); + border: 2px solid #b87333; + border-radius: 3px; + color: #d4af37; + font-family: 'Courier New', monospace; + font-size: 0.8rem; + font-weight: bold; + letter-spacing: 1px; + padding: 10px 22px; + cursor: pointer; + transition: all 0.3s; + text-transform: uppercase; + white-space: nowrap; + position: relative; + box-shadow: + inset 0 0 10px rgba(0,0,0,0.8), + 0 4px 8px rgba(0,0,0,0.5); + text-shadow: 1px 1px 2px rgba(0,0,0,0.9); + overflow: hidden; +} +.akte-trigger-btn::before, .akte-trigger-btn::after { + content: '•'; + position: absolute; + font-size: 10px; + color: rgba(184, 115, 51, 0.6); +} +.akte-trigger-btn::before { top: 2px; left: 4px; } +.akte-trigger-btn::after { bottom: 2px; right: 4px; } + +.akte-trigger-btn:hover { + border-color: #ff4500; + color: #ff4500; + box-shadow: + inset 0 0 15px rgba(255, 69, 0, 0.2), + 0 0 20px rgba(255, 69, 0, 0.2); + transform: translateY(-2px); +} +.akte-footer-row { + display: flex; + flex-wrap: wrap; + justify-content: center; + gap: 10px; + margin: 50px 0 20px; + padding: 0 20px; + position: relative; + z-index: 5000; +} +@media (max-width: 600px) { + .akte-footer-row { gap: 6px; } + .akte-trigger-btn { font-size: 0.55rem; padding: 5px 8px; letter-spacing: 1px; } +} +.akte-hidden { display: none !important; } +.akte-modal { + position: fixed; + inset: 0; + z-index: 30000; + background: rgba(0,0,0,0.92); + overflow-y: auto; + display: flex; + align-items: flex-start; + justify-content: center; + padding: 40px 16px 60px; + backdrop-filter: blur(3px); +} +.akte-inner { + width: 100%; + max-width: 700px; + background: #0a0800; + border: 1px solid rgba(212,175,55,0.25); + padding: 30px 28px 28px; + position: relative; + box-shadow: 0 0 60px rgba(212,175,55,0.08); +} +.akte-inner::before { + content: ''; + position: absolute; + inset: 0; + background: repeating-linear-gradient( + 0deg, transparent, transparent 4px, + rgba(212,175,55,0.012) 4px, rgba(212,175,55,0.012) 5px + ); + pointer-events: none; +} +.akte-close-btn { + position: absolute; + top: 14px; right: 14px; + background: transparent; + border: 1px solid rgba(255,69,0,0.4); + color: rgba(255,69,0,0.6); + font-family: 'Courier New', monospace; + font-size: 0.65rem; + letter-spacing: 2px; + padding: 4px 10px; + cursor: pointer; + transition: all 0.2s; +} +.akte-close-btn:hover { background: rgba(255,69,0,0.1); color: #ff4500; } +.akte-stamp { + font-size: 0.65rem; + letter-spacing: 5px; + text-transform: uppercase; + padding: 3px 10px; + display: inline-block; + font-weight: bold; +} +.akte-stamp-top { + border: 2px solid rgba(255,69,0,0.4); + color: rgba(255,69,0,0.4); + margin-bottom: 20px; + transform: rotate(-1.5deg); + display: block; + width: fit-content; +} +.akte-stamp-red { + border: 2px solid rgba(255,0,0,0.5); + color: rgba(255,0,0,0.55); + transform: rotate(-2deg); +} +.akte-stamp-gold { + border: 2px solid rgba(212,175,55,0.35); + color: rgba(212,175,55,0.4); + transform: rotate(1deg); +} +.akte-header-row { + display: flex; + gap: 24px; + margin-bottom: 22px; + align-items: flex-start; + flex-wrap: wrap; +} +.akte-photo-wrap { + position: relative; + flex-shrink: 0; +} +.akte-photo { + width: 110px; + height: 130px; + object-fit: cover; + object-position: top; + filter: sepia(0.5) brightness(0.75) contrast(1.1); + display: block; + border: 1px solid rgba(212,175,55,0.2); +} +.akte-photo-stamp { + position: absolute; + inset: 0; + display: flex; + align-items: center; + justify-content: center; + font-size: 0.7rem; + letter-spacing: 4px; + color: rgba(255,0,0,0.7); + border: 2px solid rgba(255,0,0,0.5); + transform: rotate(-8deg); + pointer-events: none; + font-weight: bold; +} +.akte-title-block { flex: 1; min-width: 200px; } +.akte-nr { + font-size: 0.55rem; + letter-spacing: 3px; + color: rgba(212,175,55,0.4); + margin-bottom: 8px; +} +.akte-name { + font-size: 1.4rem; + letter-spacing: 4px; + color: rgba(212,175,55,0.8); + margin: 0 0 6px; + text-transform: uppercase; +} +.akte-alias { + font-size: 0.6rem; + letter-spacing: 2px; + color: rgba(180,160,100,0.5); + margin-bottom: 12px; +} +.akte-status-row { display: flex; gap: 8px; flex-wrap: wrap; } +.akte-badge { + font-size: 0.55rem; + letter-spacing: 2px; + padding: 2px 8px; + border: 1px solid; + text-transform: uppercase; +} +.akte-badge-warn { border-color: rgba(255,180,0,0.3); color: rgba(255,180,0,0.55); } +.akte-badge-crit { border-color: rgba(255,50,0,0.3); color: rgba(255,80,0,0.55); } +.akte-table { + width: 100%; + border-collapse: collapse; + margin-bottom: 20px; + font-size: 0.75rem; +} +.akte-table tr { border-top: 1px solid rgba(212,175,55,0.07); } +.akte-table td { padding: 7px 6px; color: rgba(190,180,150,0.65); vertical-align: top; } +.akte-key { + color: rgba(212,175,55,0.45) !important; + letter-spacing: 1px; + font-size: 0.65rem !important; + white-space: nowrap; + padding-right: 16px !important; + width: 1%; +} +.akte-redact { + background: rgba(20,20,20,0.95); + color: rgba(20,20,20,0.95); + border-bottom: 1px solid rgba(80,80,80,0.3); + user-select: none; + font-size: 0.7rem; +} +.akte-fingerprint-row { + display: flex; + align-items: flex-end; + justify-content: space-between; + flex-wrap: wrap; + gap: 16px; + margin-top: 10px; +} +.akte-fp { display: flex; align-items: center; gap: 12px; } +.akte-fp-inner { + width: 54px; height: 70px; + border-radius: 45% 45% 48% 48% / 40% 40% 60% 60%; + border: 1px solid rgba(212,175,55,0.25); + position: relative; + overflow: hidden; + flex-shrink: 0; +} +.akte-fp-inner::before { + content: ''; + position: absolute; + inset: -4px; + background: repeating-radial-gradient( + ellipse at 50% 60%, + transparent 0px, transparent 3px, + rgba(212,175,55,0.12) 3px, rgba(212,175,55,0.12) 4px + ); +} +.akte-fp-label { + font-size: 0.55rem; + letter-spacing: 1px; + color: rgba(212,175,55,0.35); + line-height: 1.7; +} +.akte-bottom-stamps { + display: flex; + flex-direction: column; + gap: 8px; + align-items: flex-end; +} + +/* ═══════════════════════════════════════ + SYSTEM STATUS WIDGET +═══════════════════════════════════════ */ +#sys-widget { + position: fixed; + right: 16px; + top: 50%; + transform: translateY(-50%); + z-index: 9000; + background: rgba(0,0,0,0.88); + border: 1px solid rgba(0,255,65,0.15); + padding: 10px 12px; + width: 130px; + box-shadow: 0 0 20px rgba(0,255,65,0.05); + backdrop-filter: blur(4px); +} +.sys-widget-header { + font-size: 0.55rem; + letter-spacing: 3px; + color: rgba(0,255,65,0.35); + margin-bottom: 10px; + text-align: center; +} +.sys-metric { + display: flex; + align-items: center; + gap: 5px; + margin-bottom: 7px; +} +.sys-label { + font-size: 0.5rem; + letter-spacing: 1px; + color: rgba(0,255,65,0.4); + width: 36px; + flex-shrink: 0; +} +.sys-bar-wrap { + flex: 1; + height: 4px; + background: rgba(255,255,255,0.05); + overflow: hidden; +} +.sys-bar { + height: 100%; + background: rgba(0,255,65,0.5); + width: 0%; + transition: width 0.8s ease; +} +.sys-bar-gold { background: rgba(212,175,55,0.55); } +.sys-bar-red { background: rgba(255,69,0,0.55); } +.sys-bar-cyan { background: rgba(0,200,255,0.5); } +.sys-val { + font-size: 0.5rem; + color: rgba(0,255,65,0.45); + width: 26px; + text-align: right; + flex-shrink: 0; +} + +/* ═══════════════════════════════════════ + NEWSTICKER +═══════════════════════════════════════ */ +#newsticker { + position: fixed; + bottom: 0; left: 0; right: 0; + z-index: 9500; + background: rgba(0,0,0,0.92); + border-top: 1px solid rgba(255,69,0,0.2); + display: flex; + align-items: center; + height: 26px; + overflow: hidden; +} +.ticker-label { + flex-shrink: 0; + font-size: 0.55rem; + letter-spacing: 3px; + color: rgba(255,69,0,0.6); + padding: 0 12px; + border-right: 1px solid rgba(255,69,0,0.2); + white-space: nowrap; + height: 100%; + display: flex; + align-items: center; + background: rgba(255,69,0,0.04); +} +.ticker-track-wrap { + flex: 1; + overflow: hidden; + height: 100%; + display: flex; + align-items: center; +} +.ticker-track { + display: inline-flex; + gap: 0; + white-space: nowrap; + animation: ticker-scroll 60s linear infinite; +} +.ticker-track:hover { animation-play-state: paused; } +@keyframes ticker-scroll { + 0% { transform: translateX(0); } + 100% { transform: translateX(-50%); } +} +.ticker-item { + font-size: 0.6rem; + letter-spacing: 1px; + color: rgba(200,180,130,0.55); + padding: 0 28px; +} +.ticker-item::before { + content: '▶ '; + color: rgba(255,69,0,0.4); +} +.ticker-item.ticker-warn { color: rgba(255,180,0,0.6); } +.ticker-item.ticker-crit { color: rgba(255,60,0,0.65); } +/* Etwas Abstand für den Ticker am Seitenende */ +footer { padding-bottom: 30px; } + +/* ═══════════════════════════════════════ + MAC NERDS PAGE +═══════════════════════════════════════ */ +.mac-nerds-page { background: #050500; } +.mn-container { max-width: 960px; margin: 0 auto; padding: 30px 16px 60px; } + +.mn-header { margin-bottom: 30px; } +.mn-back { + display: inline-block; + font-size: 0.65rem; + letter-spacing: 3px; + color: rgba(255,69,0,0.45); + text-decoration: none; + margin-bottom: 20px; + transition: color 0.2s; +} +.mn-back:hover { color: rgba(255,69,0,0.8); } +.mn-title { + font-size: 2.2rem; + letter-spacing: 8px; + color: var(--accent-orange); + margin: 0 0 8px; + text-shadow: 0 0 30px rgba(255,69,0,0.3); +} +.mn-subtitle { + font-size: 0.7rem; + letter-spacing: 2px; + color: rgba(150,130,80,0.5); + margin: 0 0 14px; +} +.mn-warning { + display: inline-block; + font-size: 0.6rem; + letter-spacing: 2px; + border: 1px dashed rgba(255,180,0,0.3); + color: rgba(255,180,0,0.5); + padding: 4px 12px; +} + +/* Filter */ +.mn-filter-bar { + display: flex; + gap: 6px; + flex-wrap: wrap; + margin-bottom: 24px; + border-bottom: 1px solid rgba(255,69,0,0.1); + padding-bottom: 16px; +} +.mn-filter { + background: transparent; + border: 1px solid rgba(255,69,0,0.2); + color: rgba(255,100,0,0.4); + font-family: 'Courier New', monospace; + font-size: 0.6rem; + letter-spacing: 2px; + padding: 4px 12px; + cursor: pointer; + transition: all 0.2s; +} +.mn-filter:hover, .mn-filter.active { + border-color: rgba(255,69,0,0.6); + color: rgba(255,100,0,0.85); + background: rgba(255,69,0,0.05); +} + +/* Grid */ +.mn-grid { + display: grid; + grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); + gap: 12px; +} + +/* Card */ +.mn-card { + background: rgba(8,5,0,0.95); + border: 1px solid rgba(255,69,0,0.12); + padding: 16px; + transition: border-color 0.2s, box-shadow 0.2s; + display: flex; + flex-direction: column; + gap: 8px; +} +.mn-card:hover { + border-color: rgba(255,69,0,0.3); + box-shadow: 0 0 16px rgba(255,69,0,0.06); +} +.mn-card-meta { + display: flex; + align-items: center; + justify-content: space-between; +} +.mn-cat-tag { + font-size: 0.5rem; + letter-spacing: 3px; + color: rgba(212,175,55,0.4); + border: 1px solid rgba(212,175,55,0.15); + padding: 1px 6px; +} +.mn-risk { + font-size: 0.5rem; + letter-spacing: 2px; + padding: 1px 6px; + border: 1px solid; +} +.mn-risk-safe { border-color: rgba(0,200,80,0.2); color: rgba(0,200,80,0.45); } +.mn-risk-caution { border-color: rgba(255,180,0,0.3); color: rgba(255,180,0,0.55); animation: blinker 2s infinite; } + +.mn-card-title { + font-size: 0.9rem; + letter-spacing: 1px; + color: rgba(220,200,150,0.8); + margin: 0; + font-weight: normal; +} +.mn-card-desc { + font-size: 0.72rem; + line-height: 1.55; + color: rgba(160,150,120,0.6); + margin: 0; + flex: 1; +} + +/* Command block */ +.mn-cmd-block { + display: flex; + align-items: stretch; + gap: 0; + border: 1px solid rgba(0,255,65,0.12); + background: rgba(0,0,0,0.5); + margin-top: 4px; +} +.mn-cmd-code { + flex: 1; + font-family: 'Courier New', monospace; + font-size: 0.68rem; + color: rgba(0,255,65,0.7); + padding: 8px 10px; + word-break: break-all; + line-height: 1.5; + letter-spacing: 0.3px; +} +.mn-copy-btn { + flex-shrink: 0; + background: transparent; + border: none; + border-left: 1px solid rgba(0,255,65,0.12); + color: rgba(0,255,65,0.35); + font-family: 'Courier New', monospace; + font-size: 0.55rem; + letter-spacing: 2px; + padding: 0 10px; + cursor: pointer; + transition: all 0.2s; + white-space: nowrap; +} +.mn-copy-btn:hover { background: rgba(0,255,65,0.05); color: rgba(0,255,65,0.8); } +.mn-copy-btn.mn-copy-ok { color: rgba(0,255,65,1); background: rgba(0,255,65,0.08); } + +/* --- DEEP SCAN MODE --- */ +body.mode-scan { + filter: hue-rotate(180deg) brightness(1.2) contrast(1.5); +} + +body.mode-scan::after { + content: ""; + position: fixed; + top: -100%; + left: 0; + width: 100%; + height: 100px; + background: linear-gradient(to bottom, transparent, rgba(0, 255, 255, 0.2), transparent); + z-index: 100000; + pointer-events: none; + animation: scan-line 4s linear infinite; +} + +@keyframes scan-line { + 0% { top: -100px; } + 100% { top: 100%; } +} + +/* --- BACKGROUND GEARS --- */ +.bg-gear { + position: fixed; + z-index: -2; + color: rgba(212, 175, 55, 0.03); + font-size: 600px; + pointer-events: none; + user-select: none; + line-height: 1; +} + +.gear-left { + top: -100px; + left: -200px; + animation: rotate-slow 60s linear infinite; +} + +.gear-right { + bottom: -150px; + right: -250px; + animation: rotate-slow-reverse 80s linear infinite; +} + +@keyframes rotate-slow { + from { transform: rotate(0deg); } + to { transform: rotate(360deg); } +} + +@keyframes rotate-slow-reverse { + from { transform: rotate(360deg); } + to { transform: rotate(0deg); } +} diff --git a/public/img/.DS_Store b/public/img/.DS_Store new file mode 100644 index 0000000..df36654 Binary files /dev/null and b/public/img/.DS_Store differ diff --git a/public/img/akte/Clipboard 2026-04-07 at 12.17.30.png b/public/img/akte/Clipboard 2026-04-07 at 12.17.30.png new file mode 100644 index 0000000..756fa2e Binary files /dev/null and b/public/img/akte/Clipboard 2026-04-07 at 12.17.30.png differ diff --git a/public/img/akte/hp_totenkopf_1.png b/public/img/akte/hp_totenkopf_1.png new file mode 100644 index 0000000..756fa2e Binary files /dev/null and b/public/img/akte/hp_totenkopf_1.png differ diff --git a/public/img/comicFigures/hp_freddy_leni_comic_1.jpeg b/public/img/comicFigures/hp_freddy_leni_comic_1.jpeg new file mode 100644 index 0000000..0d75b60 Binary files /dev/null and b/public/img/comicFigures/hp_freddy_leni_comic_1.jpeg differ diff --git a/public/img/comicFigures/hp_freddy_leni_comic_big_1.png b/public/img/comicFigures/hp_freddy_leni_comic_big_1.png new file mode 100644 index 0000000..02a202e Binary files /dev/null and b/public/img/comicFigures/hp_freddy_leni_comic_big_1.png differ diff --git a/public/img/comicFigures/hp_mutti_comic_1.jpeg b/public/img/comicFigures/hp_mutti_comic_1.jpeg new file mode 100644 index 0000000..995f254 Binary files /dev/null and b/public/img/comicFigures/hp_mutti_comic_1.jpeg differ diff --git a/public/img/comicFigures/hp_mutti_comic_big_1.png b/public/img/comicFigures/hp_mutti_comic_big_1.png new file mode 100644 index 0000000..379addc Binary files /dev/null and b/public/img/comicFigures/hp_mutti_comic_big_1.png differ diff --git a/public/img/comicFigures/hp_sascha_comic_1.jpeg.bak b/public/img/comicFigures/hp_sascha_comic_1.jpeg.bak new file mode 100644 index 0000000..2b4fe52 Binary files /dev/null and b/public/img/comicFigures/hp_sascha_comic_1.jpeg.bak differ diff --git a/public/img/comicFigures/hp_sascha_comic_1.png.bak b/public/img/comicFigures/hp_sascha_comic_1.png.bak new file mode 100644 index 0000000..e618ff9 Binary files /dev/null and b/public/img/comicFigures/hp_sascha_comic_1.png.bak differ diff --git a/public/img/comicFigures/hp_sascha_comic_big_1.png b/public/img/comicFigures/hp_sascha_comic_big_1.png new file mode 100644 index 0000000..e618ff9 Binary files /dev/null and b/public/img/comicFigures/hp_sascha_comic_big_1.png differ diff --git a/public/img/comicFigures/hp_sascha_comic_big_1.png.bak b/public/img/comicFigures/hp_sascha_comic_big_1.png.bak new file mode 100644 index 0000000..d29320b Binary files /dev/null and b/public/img/comicFigures/hp_sascha_comic_big_1.png.bak differ diff --git a/public/img/comicFigures/hp_sven_comic_1.jpeg b/public/img/comicFigures/hp_sven_comic_1.jpeg new file mode 100644 index 0000000..d0c054a Binary files /dev/null and b/public/img/comicFigures/hp_sven_comic_1.jpeg differ diff --git a/public/img/family_alle_pic_01.png b/public/img/family_alle_pic_01.png new file mode 100644 index 0000000..f56455a Binary files /dev/null and b/public/img/family_alle_pic_01.png differ diff --git a/public/img/freddy.txt b/public/img/freddy.txt new file mode 100644 index 0000000..3961433 --- /dev/null +++ b/public/img/freddy.txt @@ -0,0 +1,9 @@ +Geboren: 1981 + +Leidenschaftlicher schrauber, kein auto ist vor ihm sicher. + + + +Fährt gerne schnell, hat ein mottorad + +Momentaner Status: Lagerarbeiter, 1 Kind(Leni) und verheiratet mit Mary. \ No newline at end of file diff --git a/public/img/grid.png b/public/img/grid.png new file mode 100644 index 0000000..8515b7c Binary files /dev/null and b/public/img/grid.png differ diff --git a/public/img/hero.png b/public/img/hero.png new file mode 100644 index 0000000..2c87df2 Binary files /dev/null and b/public/img/hero.png differ diff --git a/public/img/hp_akte.jpeg b/public/img/hp_akte.jpeg new file mode 100644 index 0000000..3e5167f Binary files /dev/null and b/public/img/hp_akte.jpeg differ diff --git a/public/img/hp_akte_mutti_1.jpeg b/public/img/hp_akte_mutti_1.jpeg new file mode 100644 index 0000000..9a30fcd Binary files /dev/null and b/public/img/hp_akte_mutti_1.jpeg differ diff --git a/public/img/hp_freddy_2.png b/public/img/hp_freddy_2.png new file mode 100644 index 0000000..d58fbff Binary files /dev/null and b/public/img/hp_freddy_2.png differ diff --git a/public/img/hp_meli_steampunk_01.jpeg b/public/img/hp_meli_steampunk_01.jpeg new file mode 100644 index 0000000..9d33101 Binary files /dev/null and b/public/img/hp_meli_steampunk_01.jpeg differ diff --git a/public/img/hp_muti_steampunk_01.png b/public/img/hp_muti_steampunk_01.png new file mode 100644 index 0000000..fba0a8c Binary files /dev/null and b/public/img/hp_muti_steampunk_01.png differ diff --git a/public/img/hp_muti_steampunk_02.jpg b/public/img/hp_muti_steampunk_02.jpg new file mode 100644 index 0000000..38a6806 Binary files /dev/null and b/public/img/hp_muti_steampunk_02.jpg differ diff --git a/public/img/hp_vater_steampunk_01.jpg b/public/img/hp_vater_steampunk_01.jpg new file mode 100644 index 0000000..e888f67 Binary files /dev/null and b/public/img/hp_vater_steampunk_01.jpg differ diff --git a/public/img/steampunk_bg.png b/public/img/steampunk_bg.png new file mode 100644 index 0000000..31645e8 Binary files /dev/null and b/public/img/steampunk_bg.png differ diff --git a/public/index.html b/public/index.html new file mode 100644 index 0000000..638d468 --- /dev/null +++ b/public/index.html @@ -0,0 +1,603 @@ + + + + + + + | DIGITALE ANARCHIE | KI-LABOR + + + + +
⚙
+
⚙
+ + +
+ +
+ + +
+ +
+ +
+

SASCHAS ZENTRUM FÜR DIGITALE ANARCHIE

+

Beruf: Geisteskrank & Gemini Player

+
+ ⚠ VORSICHT: INSTABILE ALGORITHMEN. BETRETEN AUF EIGENE GEFAHR.
+ KEINE HAFTUNG FÜR DATENVERLUST ODER EXISTENZIELLE KRISEN. +
+
+ + + + +
+

// ZENTRAL-ARCHIV ZUGRIFF

+
+ + +
+ + + + + + + + + + + + + +
+ + MUTTI + +
+ MUTTI +
+ + + + + + + + + + + + +
+ + VATER + +
+ VATER +
+ + + + + + + + + + + + +
+ + BRUDER + +
+ BRUDER +
+ + + + + + + + + + + + +
+ + SCHWESTER + +
+ SCHWESTER +
+ + + + + + + + + + + + +
+ + SASCHA + +
+ SASCHA +
+ + + + + + + + + + + + +
+ + SVEN + +
+ SVEN +
+ +
+
+ + + +
+ +
+ Steampunk Sascha +
+ +
+ + + + + +
+ + +
+
+ + ● CHIRURGISCHES OPS-DASHBOARD ● + +
+
+
+
HEUTE
+
|||
+
3 OPS
+
+ ◈ +
+
ERFOLGE
+
|½
+
1.5
+
+ ◈ +
+
RESTE
+
KUEHLHAUS C
+
+
+
[ PROTOKOLL EINSEHEN ]
+
+ + +
+
+
+ // SYSTEM_LOG_FEED + [ ORAKEL ] +
+
+
+
+ sascha@ki-labor:~$ + +
+
+
+ + +
+ +
+
+

PROJEKT-ARCHIV

+
+ + + + MAC NERDS +
+
+ +
+ + + + + +
+ + PROTOKOLL #002 + +
+ + Preview + +

> top

+
+
+

STATUS: PROZESS-ÜBERWACHUNG

+

Welche dämonischen Prozesse laufen gerade im Hintergrund? KREATIVITAET.exe frisst 94% CPU. PROKRASTINATION.app wurde erfolgreich suspendiert.

+
+
+
+ + + + +
+ + PROTOKOLL #003 + +
+ + Preview + +

> uptime

+
+
+

STATUS: SYSTEM-LAUFZEIT

+

Das System läuft seit 1974. Ungeplant. Ohne Handbuch. Mit minimaler Wartung und maximalem Kaffee-Input. Aktuelle Laufzeit live berechnet.

+
+
+
+ + + + +
+ + PROTOKOLL #001 + +
+ + Preview + +

> weather

+
+
+

STATUS: CHAOS-LEVEL ANALYSE

+

Das Wetter? Irrelevant. Was zählt ist der Chaos-Level in deinen Schaltkreisen. Dieser Scanner analysiert atmosphärische Destabilisierung und Koffein-Sättigung.

+
+
+
+ + + + + + +
+ + EXPERIMENTELL + +
+ + Preview + +

Gemini Neural Link

+
+
+

STATUS: KI-KOLLABORATION ALPHA

+

Dieses gesamte Theme, jedes Komma in der CSS-Datei und jede Zeile im JavaScript-Log ist das Ergebnis einer direkten neuronalen Kopplung zwischen Sascha und Gemini. Wir arbeiten im sogenannten “Flux Flow”.

+
+
+
+ + + + + + + + +
+ + AKTIV + +
+ + Preview + +

Neural Hack Sequence

+
+
+

STATUS: PROTOCOL BREACH

+

Der “hack”-Befehl im Terminal ist weit mehr als nur eine Animation. Er triggert eine kaskadierende Sequenz von zufälligen Hexadezimal-Werten, die direkt in den System-Log gestreamt werden.

+
+
+
+ + + + +
+ + TOP SECRET + +
+ + Preview + +

Operation: Apollo

+
+
+

STATUS: KENNEDY SPACE CENTER COMPROMISED

+

Ein direkter Uplink in das Herzstück der NASA-Server. Wir haben die Barrieren des JPL durchbrochen, um Echtzeit-Telemetriedaten abzugreifen.

+
+
+
+ + + + +
+ + ÜBERTAKTET + +
+ + Preview + +

Project: Flux Overdrive

+
+
+

STATUS: SCHWÄBISCH ACCELERATED

+

Das System war zu langsam. Zu statisch. Zu berechenbar. Also haben wir Flux ins Leben gerufen. “Flux” bedeutet im Schwäbischen nicht einfach nur schnell – es bedeutet hastig, rasant und gnadenlos zielgerichtet.

+
+
+
+ + + + +
+ + DIAGNOSE + +
+ + Preview + +

Project: ICMP Echo

+
+
+

STATUS: LATENZ-ANALYSE AKTIV

+

Der “ping”-Befehl ist ein essenzielles Werkzeug für jeden Cyber-Overlord. Er prüft die Integrität unserer Verbindung durch ein klassisches 4-Paket-ICMP-Echo-Request.

+
+
+
+ + + + +
+ + VERSTECKT + +
+ + Preview + +

Protocol: Digital Ghost

+
+
+

STATUS: STEALTH OPS ACQUIRED

+

Wenn das System dich nicht sieht, existierst du nicht. Wir haben ein Protokoll implementiert, das sämtliche Tracking-Parameter verschleiert. Es ist die ultimative Form der digitalen Unsichtbarkeit.

+
+
+
+ + + + + + + + +
+ + WORKFLOW + +
+ + Preview + +

Spotlight Such-Filter

+
+
+

STATUS: SUCHANFRAGE PRÄZISIERT

+

Die Spotlight-Suche auf dem Mac spuckt oft viel zu viele irrelevante Ergebnisse aus. Wenn du genau weißt, dass du ein PDF oder einen Ordner suchst, kannst du die Suche mit dem Parameter kind: drastisch eingrenzen.

+
+
+
+ + + + + + +
+ + GEFÄHRLICH + +
+ + Preview + +

System-Stress-Test (Fork Bomb)

+
+
+

STATUS: KERNEL PANIC INITIATED

+

Ein absoluter Klassiker der Unix-Anarchie. Dieser Befehl testet, wie gut (oder schlecht) dein Mac mit sich rapide exponentiell vervielfältigenden Prozessen umgeht.

+

Anwendung: +:(){ :|:& };:

+

VORSICHT: Dieser Befehl lastet das System in wenigen Sekunden zu 100% aus.

+
+
+
+ + + + +
+ + STABIL + +
+ + Preview + +

The n8n Resurrection

+
+
+

STATUS: OPERATION LIMBO-RECOVERY

+

Die n8n-Instanz war nicht einfach nur “offline” – sie befand sich im digitalen Limbus der Docker-Hölle. Nach einem System-Crash auf dem Mac waren die Volumes zwar noch vorhanden, aber die Datenbank war korrupt.

+

Wir haben uns für den radikalen Weg entschieden: Weg von Docker Desktop, hin zu OrbStack.

+
+
+
+ + + + +
+ + KRITISCH + +
+ + Preview + +

Theme-Annihilation

+
+
+

STATUS: AESTHETIC WARFARE

+

WordPress-Standard-Themes sind wie ein zu enger Anzug: Unbequem, voller unnötiger Features und sie fühlen sich einfach falsch an. Das “Twenty-Twenty-Five”-Theme war unser Ziel. Es wurde Schicht für Schicht demontiert.

+
+
+
+ + + + +
+
+ + + + +
+
+
+ + + +
+ +
+ +
+ + +
+ // SYSTEM_LOG_FEED +
+
+ [ HUGO SYSTEM INITIALISIERT... ] + [ WP-KERN GELÖSCHT // ANARCHIE LEVEL 100 ] +
+
+
+ + + + + + + + + diff --git a/public/js/script.js b/public/js/script.js new file mode 100644 index 0000000..ae572b8 --- /dev/null +++ b/public/js/script.js @@ -0,0 +1,367 @@ +// ═══════════════════════════════════════ +// KI-LABOR CORE ENGINE (HUGO EDITION) +// ═══════════════════════════════════════ +(function() { + document.addEventListener('DOMContentLoaded', () => { + // --- CORE ELEMENTS --- + const bootScreen = document.getElementById('boot-screen'); + const bootLog = document.getElementById('boot-log'); + const mainContent = document.querySelector('.main-content'); + const terminalInput = document.getElementById('terminal-input'); + const logOutput = document.getElementById('log-output'); + const fortuneText = document.getElementById('fortune-text'); + + // --- MATRIX RAIN INITIALIZATION --- + const canvas = document.createElement('canvas'); + canvas.id = 'matrix-canvas'; + canvas.style.cssText = 'position:fixed;top:0;left:0;width:100%;height:100%;z-index:-1;opacity:0;transition:opacity 1s;pointer-events:none;'; + document.body.appendChild(canvas); + const ctx = canvas.getContext('2d'); + let w, h, columns; + const drops = []; + + function initMatrix() { + w = canvas.width = window.innerWidth; + h = canvas.height = window.innerHeight; + columns = Math.floor(w / 20); + for (let i = 0; i < columns; i++) drops[i] = 1; + } + + function drawMatrix() { + ctx.fillStyle = 'rgba(0, 0, 0, 0.05)'; + ctx.fillRect(0, 0, w, h); + ctx.fillStyle = '#0f0'; + ctx.font = '15px monospace'; + for (let i = 0; i < drops.length; i++) { + const text = String.fromCharCode(Math.random() * 128); + ctx.fillText(text, i * 20, drops[i] * 20); + if (drops[i] * 20 > h && Math.random() > 0.975) drops[i] = 0; + drops[i]++; + } + } + + window.addEventListener('resize', initMatrix); + initMatrix(); + setInterval(drawMatrix, 50); + + // --- AUDIO ENGINE --- + let audioCtx; + function playTick(freq = 150, dur = 0.03, type = 'square') { + if (!audioCtx) audioCtx = new (window.AudioContext || window.webkitAudioContext)(); + if (audioCtx.state === 'suspended') audioCtx.resume(); + const osc = audioCtx.createOscillator(); + const gain = audioCtx.createGain(); + osc.type = type; + osc.frequency.setValueAtTime(freq, audioCtx.currentTime); + gain.gain.setValueAtTime(0.01, audioCtx.currentTime); + gain.gain.exponentialRampToValueAtTime(0.0001, audioCtx.currentTime + dur); + osc.connect(gain); + gain.connect(audioCtx.destination); + osc.start(); + osc.stop(audioCtx.currentTime + dur); + } + + // --- INITIAL EFFECTS TRIGGER --- + function triggerInitialEffects() { + // --- INITIAL TERMINAL LOGS --- + if (logOutput) { + log('>> SYSTEM_CORE_LOADED: ANARCHY_v5.0', 'ok'); + log('>> NEURAL_LINK_ESTABLISHED: GEMINI_STABLE', 'ok'); + log('>> DETECTING_INTRUSION_AT_PORT_8080...', 'warn'); + log('>> ENCRYPTING_SWAP_FILE... [DONE]', 'ok'); + log('>> ANALYZING_CLAN_STRUCTURE: 6_NODES_FOUND', 'info'); + log('>> WARNING: MEMORY_LEAK_IN_ANARCHY_KERNEL', 'warn'); + log('>> STATUS: GEISTESKRANK & ONLINE', 'crit'); + log('----------------------------------------', 'ok'); + } + + // --- INITIAL BRIGHTER MATRIX EFFECT (7 SECONDS) --- + if (canvas) { + canvas.style.opacity = '0.25'; + setTimeout(() => { + // Only fade out if not in kernel mode + if (!document.body.classList.contains('mode-kernel')) { + canvas.style.opacity = '0'; + } + }, 7000); + } + } + + // --- BOOT SEQUENCE --- + const BOOT_LINES = [ + { t: 'BOOTING HUGO_ANARCHY_ENGINE v5.0...', c: 'ok' }, + { t: 'CONNECTING TO GEMINI NEURAL LINK...', c: 'ok' }, + { t: 'BYPASSING WORDPRESS_REMNANTS...', c: 'warn' }, + { t: 'LOADING STEAMPUNK_ASSETS...', c: 'ok' }, + { t: 'INITIALIZING TERMINAL...', c: 'ok' }, + { t: 'DATA_INTEGRITY: 100% (STATIC_MODE)', c: 'ok' }, + { t: '----------------------------------------', c: 'ok' }, + { t: 'WELCOME BACK, OVERLORD SASCHA.', c: 'crit' } + ]; + + function startBoot() { + if (sessionStorage.getItem('hugo_boot_complete') && bootScreen) { + bootScreen.style.display = 'none'; + if (mainContent) { + mainContent.classList.add('visible'); + mainContent.style.opacity = '1'; + } + triggerInitialEffects(); // Trigger effects even if skipped + return; + } + + if (!bootScreen) { + triggerInitialEffects(); // Just in case + return; + } + + let idx = 0; + const interval = setInterval(() => { + if (idx >= BOOT_LINES.length) { + clearInterval(interval); + setTimeout(() => { + bootScreen.style.opacity = '0'; + setTimeout(() => { + bootScreen.style.display = 'none'; + if (mainContent) { + mainContent.classList.add('visible'); + mainContent.style.opacity = '1'; + } + sessionStorage.setItem('hugo_boot_complete', 'true'); + triggerInitialEffects(); // Trigger effects after manual boot + }, 1000); + }, 800); + return; + } + const line = document.createElement('div'); + line.className = 'boot-line ' + BOOT_LINES[idx].c; + line.textContent = BOOT_LINES[idx].t; + bootLog.appendChild(line); + playTick(100 + (idx * 20)); + idx++; + }, 150); + } + + startBoot(); + + // --- TERMINAL ENGINE --- + if (terminalInput) { + terminalInput.addEventListener('keydown', (e) => { + if (e.key === 'Enter') { + const input = terminalInput.value.trim(); + terminalInput.value = ''; + handleCommand(input); + } + }); + } + + function log(msg, cls = '') { + if (!logOutput) return; + const entry = document.createElement('div'); + entry.className = 'log-entry ' + cls; + entry.innerHTML = msg; + logOutput.prepend(entry); + } + + function handleCommand(raw) { + const parts = raw.split(' '); + const cmd = parts[0].toLowerCase(); + const args = parts.slice(1).join(' '); + + log('sascha@ki-labor:~$ ' + raw + ''); + + switch(cmd) { + case 'help': + log('VERFÜGBARE BEFEHLE:', 'info'); + log(' - whoami : Zeigt Identität'); + log(' - status : System-Vitals'); + log(' - matrix : Matrix-Mode'); + log(' - anarchy : Anarchie-Mode'); + log(' - clear : Log löschen'); + log(' - reboot : System-Neustart'); + log(' - flux : Overdrive aktivieren'); + log(' - hack : Neural Hack simulieren'); + log(' - uptime : System-Laufzeit'); + log(' - weather : Chaos-Wetterbericht'); + log(' - top : Prozess-Monitor'); + log(' - fortune : Digitales Orakel'); + break; + case 'whoami': log('IDENTITÄT: OVERLORD SASCHA RODE', 'ok'); break; + case 'status': log('STATUS: GEISTESKRANK & ONLINE', 'warn'); break; + case 'clear': logOutput.innerHTML = ''; break; + case 'reboot': + sessionStorage.removeItem('hugo_boot_complete'); + window.location.reload(); + break; + case 'matrix': document.querySelector('[data-mode="kernel"]')?.click(); break; + case 'anarchy': document.querySelector('[data-mode="anarchy"]')?.click(); break; + case 'bypass': document.querySelector('[data-mode="bypass"]')?.click(); break; + case 'trace': document.querySelector('[data-mode="trace"]')?.click(); break; + case 'flux': document.querySelector('[data-mode="overdrive"]')?.click(); break; + case 'hack': + log('>> INITIATING NEURAL HACK...', 'warn'); + let hIdx = 0; + const hInt = setInterval(() => { + log(Math.random().toString(16).substring(2, 15), 'ghost'); + if (hIdx++ > 15) { + clearInterval(hInt); + log('>> ACCESS GRANTED.', 'ok'); + } + }, 100); + break; + case 'deep-scan': + log('>> INITIALIZING DEEP SYSTEM SCAN...', 'info'); + setTimeout(() => { + log('>> ANALYZING KERNEL MODULES...', 'ok'); + log('>> CHECKING NEURAL PATHWAYS...', 'ok'); + log('>> SCANNING FOR ANOMALIES... [FOUND: 42]', 'warn'); + log('>> SYSTEM INTEGRITY: ANARCHIC', 'crit'); + }, 1000); + break; + case 'uptime': + const years = new Date().getFullYear() - 1974; + log('SYSTEM ONLINE SEIT: 01.01.1974', 'info'); + log('LAUFZEIT: ' + years + ' JAHRE (STABILITÄT: FRAGLICH)', 'ok'); + break; + case 'fortune': generateFortune(); break; + default: + log('FEHLER: BEFEHL "' + cmd + '" NICHT GEFUNDEN.', 'error'); + playTick(150, 0.2, 'sawtooth'); + } + playTick(400 + Math.random() * 200); + } + + // --- FORTUNE ENGINE --- + const fortunes = [ + 'Die Hälfte der Intelligenz besteht darin zu wissen, was man ignorieren kann.', + 'Kreativität ist Intelligenz, die Spaß hat.', + 'Wenn Plan A scheitert – gut. Plan A war sowieso zu ordentlich.', + 'Kaffee ist nur Debugging auf chemischer Ebene.', + 'Die Wahrheit liegt im Source-Code. Die Lüge im Kommentar daneben.' + ]; + + function generateFortune() { + const f = fortunes[Math.floor(Math.random() * fortunes.length)]; + if (fortuneText) fortuneText.innerHTML = `"${f}"`; + log('>> ORAKEL: ' + f, 'info'); + } + + document.getElementById('fortune-trigger')?.addEventListener('click', generateFortune); + + // --- MODE SWITCHER --- + document.querySelectorAll('.switch-btn').forEach(btn => { + btn.addEventListener('click', () => { + const mode = btn.getAttribute('data-mode'); + + // Special actions for bypass and scan + const terminalLog = document.getElementById('system-log'); + + if (mode === 'bypass') { + document.body.classList.toggle('mode-bypass'); + btn.classList.toggle('active'); + if (document.body.classList.contains('mode-bypass')) { + if (terminalLog) terminalLog.style.height = '500px'; + handleCommand('hack'); + } else if (terminalLog) { + terminalLog.style.height = '250px'; + } + return; + } + if (mode === 'scan') { + document.body.classList.toggle('mode-scan'); + btn.classList.toggle('active'); + if (document.body.classList.contains('mode-scan')) { + if (terminalLog) terminalLog.style.height = '500px'; + handleCommand('deep-scan'); + } else if (terminalLog) { + terminalLog.style.height = '250px'; + } + return; + } + + document.body.classList.toggle('mode-' + mode); + btn.classList.toggle('active'); + playTick(300); + }); + }); + + // --- OPS DASHBOARD LOGIC --- + const opsSign = document.getElementById('ops-dashboard-sign'); + let originalLogContent = ''; + let isOpsOpen = false; + + if (opsSign) { + opsSign.style.cursor = 'pointer'; + opsSign.addEventListener('click', () => { + const terminalLog = document.getElementById('system-log'); + const logOutput = document.getElementById('log-output'); + const opsHint = opsSign.querySelector('div:last-child'); + + if (!terminalLog || !logOutput) return; + + if (!isOpsOpen) { + // ÖFFNEN + originalLogContent = logOutput.innerHTML; + isOpsOpen = true; + terminalLog.style.height = '600px'; + logOutput.innerHTML = ` +
+ VITALMONITOR + ▁▂▃▂▁▃▂▁▁▁▁▁▁ + FLATLINE +
+ +
+
-- OP ALFA-7 --
+
+ PATIENT: KREATIVITAET.exe (v4.2-beta) + EINGRIFF: Herz-Transplant — Donor: MOTIVATION.sys + BEFUND: Herz läuft. Richtung unbekannt. Absicht fraglich. + STATUS: +
+
+
+
+ 82% KAPAZITÄT +
+ ERGEBNIS: 0.5 ERFOLGE (zählt als halber Sieg, ganz nach Wunsch) +
+
+ +
+
-- OP BETA-12 --
+
+ PATIENT: SCHLAFRHYTHMUS.daemon (Version: veraltet) + EINGRIFF: Herz-Transplant — Donor: KAFFEE-KERN v9.1 + BEFUND: Donor inkompatibel. Koffein ≠ Blut. Überraschung: keiner. + STATUS: +
+
+
+
+ 100% — ABGESCHLOSSEN +
+ ERGEBNIS: TECHNISCH FEHLGESCHLAGEN. Patient läuft trotzdem. +
+
+ +
+ OPS: ||| 3    ERFOLGE: |½ 1.5    FEHLCHL: |½ 1.5
+ RESTE: KUEHLHAUS C — ZUSTAND: STABIL / NUTZBAR
+ NÄCHSTE OP: PROKRASTINATION.exe — ETA: IRGENDWANN +
+ `; + if (opsHint) opsHint.textContent = '[ PROTOKOLL SCHLIESSEN ]'; + playTick(600, 0.1, 'sawtooth'); + } else { + // SCHLIESSEN + isOpsOpen = false; + terminalLog.style.height = '250px'; + logOutput.innerHTML = originalLogContent; + if (opsHint) opsHint.textContent = '[ PROTOKOLL EINSEHEN ]'; + playTick(300, 0.1, 'square'); + } + }); + } + }); +})(); diff --git a/public/mac-nerds/index.html b/public/mac-nerds/index.html new file mode 100644 index 0000000..ae47dd8 --- /dev/null +++ b/public/mac-nerds/index.html @@ -0,0 +1,450 @@ + + + + + + Mac Nerds Terminal | DIGITALE ANARCHIE | KI-LABOR + + + + +
⚙
+
⚙
+ + +
+ +
+ + +
+ +
+ + +
+ + +
+ + + + + + + + + + + + + +
+ + MUTTI + +
+ MUTTI +
+ + + + + + + + + + + + +
+ + VATER + +
+ VATER +
+ + + + + + + + + + + + +
+ + BRUDER + +
+ BRUDER +
+ + + + + + + + + + + + +
+ + SCHWESTER + +
+ SCHWESTER +
+ + + + + + + + + + + + +
+ + SASCHA + +
+ SASCHA +
+ + + + + + + + + + + + +
+ + SVEN + +
+ SVEN +
+ +
+
+ + + + +
+
+

MAC NERDS TERMINAL

+

// DATENSTROM & CHRONIK

+
+ + +
+ +
+ + +
+ + + +
+
+
+ + + + + + +
+ +
+ +
+ + +
+ // SYSTEM_LOG_FEED +
+
+ [ HUGO SYSTEM INITIALISIERT... ] + [ WP-KERN GELÖSCHT // ANARCHIE LEVEL 100 ] +
+
+
+ + + + + + + + + diff --git a/public/personen/bruder/index.html b/public/personen/bruder/index.html new file mode 100644 index 0000000..f65e59e --- /dev/null +++ b/public/personen/bruder/index.html @@ -0,0 +1,542 @@ + + + + + + Bruder | DIGITALE ANARCHIE | KI-LABOR + + + + +
⚙
+
⚙
+ + +
+ +
+ + +
+ +
+ + +
+ + + ⚡ ZURÜCK ZUR BASIS ⚡ + + + +
+ + + + + + + + + + + + + +
+ + MUTTI + +
+ MUTTI +
+ + + + + + + + + + + + +
+ + VATER + +
+ VATER +
+ + + + + + + + + + + + +
+ + BRUDER + +
+ BRUDER +
+ + + + + + + + + + + + +
+ + SCHWESTER + +
+ SCHWESTER +
+ + + + + + + + + + + + +
+ + SASCHA + +
+ SASCHA +
+ + + + + + + + + + + + +
+ + SVEN + +
+ SVEN +
+ +
+
+ + + + +
+
+

BRUDER

+

// DATENSTROM & CHRONIK

+
+ + +
+ + +
+
+
+ [ 1981 ] + BOOT // OMEGA-KLASSE +
+

⚡ KYBERNETISCHER KNOTEN V1.0 GEHT ONLINE. Erste mechanische Diagnostik: Stabil. Ansaugtrakt kalibriert. Chaos-Index: ERHÖHT.

+
+
+ + +
+
+
+ [ 1985 ] + KALIBRIERUNG +
+

MOTORISCHE KALIBRIERUNG abgeschlossen. Erste Interaktion mit Overlord-Modul (Sascha). Kompatibilitätstest: REIBUNGSHITZE FESTGESTELLT.

+
+
+ + +
+
+
+ [ 1990 ] + HARDWARE-SCAN +
+

WERKZEUG-SYCHRONISATION erfolgreich. Erste Prototypen zerlegt (und meistens wieder zusammengebaut). Neugier-Protokolle dominierend.

+
+
+ + +
+
+
+ [ 1995 ] + SYSTEM-UPDATE +
+

BRENNKAMMER-UPDATE PHASE II. Fokus auf alles, was Kolben hat. Überschneidungen mit Overlord-System: Konstruktive Anarchie.

+
+
+ + +
+
+
+ [ 1999 ] + UPGRADE // NITRO-INJEKTION +
+

FÜHRERSCHEIN-KERNEL geladen. Mobilitäts-Radius um 500% erweitert. Systemvektor: VOLLGAS.

+
+
+ + +
+
+
+ [ 2005 ] + OPTIMIERUNG +
+

PROFESSIONELLE SCHRAUBER-ROUTINEN gestartet. Öl-Zufuhr stabilisiert. Verbindung zum Clan-Netzwerk: DURCHGEHEND GEFETTET.

+
+
+ + +
+
+
+ [ 2015 ] + ANALYSE // POSITIV +
+

LANGZEIT-ANALYSE: Alle Zylinder zünden synchron. Charaktermerkmale: Drehmomentstark. Überraschungskoeffizient: Präzise.

+
+
+ + +
+
+
+ [ 2025 ] + AKTUELL // DAUERBETRIEB +
+

STATUS: GNADENLOS AM SCHRAUBEN. Alles was fährt, wird optimiert. VERBINDUNGSQUALITÄT ZUM OVERLORD: 100% KOMPATIBEL.

+
+
+ +
+ + +
+ + + +
+
+
+ + + + + + +
+ +
+ +
+ + +
+ // SYSTEM_LOG_FEED +
+
+ [ HUGO SYSTEM INITIALISIERT... ] + [ WP-KERN GELÖSCHT // ANARCHIE LEVEL 100 ] +
+
+
+ + + + + + + + + diff --git a/public/personen/meli/index.html b/public/personen/meli/index.html new file mode 100644 index 0000000..16196fc --- /dev/null +++ b/public/personen/meli/index.html @@ -0,0 +1,542 @@ + + + + + + Schwester | DIGITALE ANARCHIE | KI-LABOR + + + + +
⚙
+
⚙
+ + +
+ +
+ + +
+ +
+ + +
+ + + ⚡ ZURÜCK ZUR BASIS ⚡ + + + +
+ + + + + + + + + + + + + +
+ + MUTTI + +
+ MUTTI +
+ + + + + + + + + + + + +
+ + VATER + +
+ VATER +
+ + + + + + + + + + + + +
+ + BRUDER + +
+ BRUDER +
+ + + + + + + + + + + + +
+ + SCHWESTER + +
+ SCHWESTER +
+ + + + + + + + + + + + +
+ + SASCHA + +
+ SASCHA +
+ + + + + + + + + + + + +
+ + SVEN + +
+ SVEN +
+ +
+
+ + + + +
+
+

SCHWESTER

+

// DATENSTROM & CHRONIK

+
+ + +
+ + +
+
+
+ [ 1983 ] + BOOT // OMEGA-KLASSE +
+

⚡ AETHER-SIBLING V1.0 BOOTET ERFOLGREICH. Pneumatische Reflexe sofort aktiv. Chaos-Protokolle initialisiert. Clan-Netzwerk vollständig.

+
+
+ + +
+
+
+ [ 1987 ] + NETZWERK-TEST +
+

ERSTE SCHNITTSTELLEN-TESTS mit Overlord-Netzwerk. Harmonische Resonanz mit gelegentlichen Konflikten. Ergebnis: PRODUKTIV.

+
+
+ + +
+
+
+ [ 1992 ] + KALIBRIERUNG +
+

MOTORISCHE UND SOZIALE KALIBRIERUNG abgeschlossen. Leistung: Außergewöhnlich. Chaos-Index: KONTROLLIERT (meist).

+
+
+ + +
+
+
+ [ 1999 ] + SOZIAL-MATRIX +
+

SCHULNETZ-ABSCHLUSS. Soziales Integrations-Protokoll auf MAXIMUM. Details: Nicht freigegeben. Bewertung: POSITIV.

+
+
+ + +
+
+
+ [ 2001 ] + SYSTEM-UPDATE +
+

ERWACHSENEN-MODUS aktiviert. Eigenständige Routinen laufen stabil. Verbindung zum Clan: KONSTANT AKTIV.

+
+
+ + +
+
+
+ [ 2010 ] + NETZWERK-ERWEITERUNG +
+

FAMILIEN-NETZWERK-UPDATE: Neue Knoten hinzugefügt. Systemkapazität erhöht. Meli-Knoten: Zentrales Bindeglied.

+
+
+ + +
+
+
+ [ 2020 ] + ANALYSE +
+

LANGZEITANALYSE ABGESCHLOSSEN. Stabilität: MAXIMAL. Zuverlässigkeit: OMEGA-KLASSE. Chaos: NUR WENN NÖTIG.

+
+
+ + +
+
+
+ [ 2025 ] + AKTUELL // GESCHWÄRZT +
+

STATUS: VOLLSTÄNDIG OPERATIONAL. CHARAKTERPROFIL: STARK. WEITERE ANGABEN: NICHT AUTORISIERT. RATING: ████░

+
+
+ +
+ + +
+ + + +
+
+
+ + + + + + +
+ +
+ +
+ + +
+ // SYSTEM_LOG_FEED +
+
+ [ HUGO SYSTEM INITIALISIERT... ] + [ WP-KERN GELÖSCHT // ANARCHIE LEVEL 100 ] +
+
+
+ + + + + + + + + diff --git a/public/personen/mutter/index.html b/public/personen/mutter/index.html new file mode 100644 index 0000000..f8b0b35 --- /dev/null +++ b/public/personen/mutter/index.html @@ -0,0 +1,492 @@ + + + + + + Mutti | DIGITALE ANARCHIE | KI-LABOR + + + + +
⚙
+
⚙
+ + +
+ +
+ + +
+ +
+ + +
+ + + ⚡ ZURÜCK ZUR BASIS ⚡ + + + +
+ + + + + + + + + + +
+ + MUTTI + +
+ MUTTI +
+ + + + + + + + + +
+ + V + +
+ VATER +
+ + + + + + + + + +
+ + B + +
+ BRUDER +
+ + + + + + + + + +
+ + S + +
+ SCHWESTER +
+ + + + + + + + + +
+ + SASCHA + +
+ SASCHA +
+ + + + + + + + + +
+ + SVEN + +
+ SVEN +
+ +
+
+ + + + +
+
+

MUTTI

+

// DATENSTROM & CHRONIK

+
+ + +
+
+
+ + +
+
+
+
[ 1955 ]
+
MATRIARCHIN-MODUL V1.0 INITIALISIERT. Erste Steampunk-Algorithmen erfolgreich implementiert. Systemstatus: Brillant.
+
BOOT // OMEGA-KLASSE
+
+
+ + +
+
+
+
[ 1970 ]
+
HISTORISCHER HANDSHAKE mit Hydraulik-Meister (Vater). Gemeinsame Infrastruktur-Planung begonnen. Resonanz: Synchron.
+
NETZWERK-INITIALISIERUNG
+
+
+ + +
+
+
+
[ 1974 ]
+
⚡ HAUPTSYSTEM-AUSGABE: Overlord Sascha bootet erstmals. Systemkapazität durch massive kreative Schübe erweitert.
+
OMEGA-KLASSE // KRITISCH
+
+
+ + +
+
+
+
[ 1981 ]
+
ZWEITE SYSTEM-AUSGABE: Bruder-Knoten erfolgreich in die Clan-Struktur integriert. Netzwerkausbau läuft nach Plan.
+
NETZWERK-ERWEITERUNG
+
+
+ + +
+
+
+
[ 1983 ]
+
DRITTE SYSTEM-AUSGABE: AETHER-SIBLING (Schwester) online. Clan-Netzwerk erreicht OMEGA-Level. Alle Primär-Knoten aktiv.
+
NETZWERK-ERWEITERUNG
+
+
+ + +
+
+
+
[ 2000 ]
+
ARCHITEKTUR-UPDATE abgeschlossen. Die Matriarchin hält alle Fäden des Kupfer-Netzwerks fest in der Hand. Stabilität: Unerschütterlich.
+
SYSTEMCHECK
+
+
+ + +
+
+
+
[ 2025 ]
+
STATUS: HÖCHSTE AUTORITÄT. Alle Subsysteme unterliegen der mütterlichen Kontrolle. Zugriff: Nur für autorisierte Clan-Mitglieder.
+
AKTUELL // OMEGA-KLASSIFIZIERT
+
+
+ +
+
+ + +
+ + + +
+
+
+ + + + + + +
+ +
+ +
+ + +
+ // SYSTEM_LOG_FEED +
+
+ [ HUGO SYSTEM INITIALISIERT... ] + [ WP-KERN GELÖSCHT // ANARCHIE LEVEL 100 ] +
+
+
+ + + + + + + + + diff --git a/public/personen/mutti/index.html b/public/personen/mutti/index.html new file mode 100644 index 0000000..11c7b7c --- /dev/null +++ b/public/personen/mutti/index.html @@ -0,0 +1,526 @@ + + + + + + Mutti | DIGITALE ANARCHIE | KI-LABOR + + + + +
⚙
+
⚙
+ + +
+ +
+ + +
+ +
+ + +
+ + + ⚡ ZURÜCK ZUR BASIS ⚡ + + + +
+ + + + + + + + + + + + + +
+ + MUTTI + +
+ MUTTI +
+ + + + + + + + + + + + +
+ + VATER + +
+ VATER +
+ + + + + + + + + + + + +
+ + BRUDER + +
+ BRUDER +
+ + + + + + + + + + + + +
+ + SCHWESTER + +
+ SCHWESTER +
+ + + + + + + + + + + + +
+ + SASCHA + +
+ SASCHA +
+ + + + + + + + + + + + +
+ + SVEN + +
+ SVEN +
+ +
+
+ + + + +
+
+

MUTTI

+

// DATENSTROM & CHRONIK

+
+ + +
+ + +
+
+
+ [ 1955 ] + BOOT // OMEGA-KLASSE +
+

MATRIARCHIN-MODUL V1.0 INITIALISIERT. Erste Steampunk-Algorithmen erfolgreich implementiert. Systemstatus: Brillant.

+
+
+ + +
+
+
+ [ 1970 ] + NETZWERK-INITIALISIERUNG +
+

HISTORISCHER HANDSHAKE mit Hydraulik-Meister (Vater). Gemeinsame Infrastruktur-Planung begonnen. Resonanz: Synchron.

+
+
+ + +
+
+
+ [ 1974 ] + OMEGA-KLASSE // KRITISCH +
+

⚡ HAUPTSYSTEM-AUSGABE: Overlord Sascha bootet erstmals. Systemkapazität durch massive kreative Schübe erweitert.

+
+
+ + +
+
+
+ [ 1981 ] + NETZWERK-ERWEITERUNG +
+

ZWEITE SYSTEM-AUSGABE: Bruder-Knoten erfolgreich in die Clan-Struktur integriert. Netzwerkausbau läuft nach Plan.

+
+
+ + +
+
+
+ [ 1983 ] + NETZWERK-ERWEITERUNG +
+

DRITTE SYSTEM-AUSGABE: AETHER-SIBLING (Schwester) online. Clan-Netzwerk erreicht OMEGA-Level. Alle Primär-Knoten aktiv.

+
+
+ + +
+
+
+ [ 2000 ] + SYSTEMCHECK +
+

ARCHITEKTUR-UPDATE abgeschlossen. Die Matriarchin hält alle Fäden des Kupfer-Netzwerks fest in der Hand. Stabilität: Unerschütterlich.

+
+
+ + +
+
+
+ [ 2025 ] + AKTUELL // OMEGA-KLASSIFIZIERT +
+

STATUS: HÖCHSTE AUTORITÄT. Alle Subsysteme unterliegen der mütterlichen Kontrolle. Zugriff: Nur für autorisierte Clan-Mitglieder.

+
+
+ +
+ + +
+ + + +
+
+
+ + + + + + +
+ +
+ +
+ + +
+ // SYSTEM_LOG_FEED +
+
+ [ HUGO SYSTEM INITIALISIERT... ] + [ WP-KERN GELÖSCHT // ANARCHIE LEVEL 100 ] +
+
+
+ + + + + + + + + diff --git a/public/personen/sascha/index.html b/public/personen/sascha/index.html new file mode 100644 index 0000000..0608f8a --- /dev/null +++ b/public/personen/sascha/index.html @@ -0,0 +1,542 @@ + + + + + + SASCHA versus Bonzei | DIGITALE ANARCHIE | KI-LABOR + + + + +
⚙
+
⚙
+ + +
+ +
+ + +
+ +
+ + +
+ + + ⚡ ZURÜCK ZUR BASIS ⚡ + + + +
+ + + + + + + + + + + + + +
+ + MUTTI + +
+ MUTTI +
+ + + + + + + + + + + + +
+ + VATER + +
+ VATER +
+ + + + + + + + + + + + +
+ + BRUDER + +
+ BRUDER +
+ + + + + + + + + + + + +
+ + SCHWESTER + +
+ SCHWESTER +
+ + + + + + + + + + + + +
+ + SASCHA + +
+ SASCHA +
+ + + + + + + + + + + + +
+ + SVEN + +
+ SVEN +
+ +
+
+ + + + +
+
+

SASCHA VERSUS BONZEI

+

// DATENSTROM & CHRONIK

+
+ + +
+ + +
+
+
+ [ 1974 ] + BOOT // OMEGA-KLASSE +
+

⚡ OVERLORD-MODUL V1.0 AKTIVIERT. Erster System-Schrei erfolgreich registriert. Matriarchin bestätigt Empfang. KI-Labor Grundstein: GELEGT (unbewusst).

+
+
+ + +
+
+
+ [ 1980 ] + ERSTER KONTAKT +
+

ERSTE KONTAKTAUFNAHME mit Computertechnologie via Atari. Faszinations-Index: 100%. Bekannte Nebenwirkung: Zeitverlust.

+
+
+ + +
+
+
+ [ 1983 ] + UPGRADE +
+

C64-INTERFACE aktiviert. Erste BASIC-Programme kompiliert. Fehlerquote: Hoch. Lernkurve: Steil. Aufgabewahrscheinlichkeit: NULL.

+
+
+ + +
+
+
+ [ 1990 ] + NETZWERK-INITIALISIERUNG +
+

NETZWERK-BEWUSSTSEIN entwickelt. Modem-Verbindung zu frühen Online-Diensten. Ping: Katastrophal. Begeisterung: Maximal.

+
+
+ + +
+
+
+ [ 2000 ] + UPGRADE // WEBMASTER-MODUS +
+

WEB-PROTOKOLL PHASE II. Erste HTML-Strukturen kompiliert. System nennt sich: WEBMASTER. Gefährlichkeit: Noch unterschätzt.

+
+
+ + +
+
+
+ [ 2015 ] + MISSION GESTARTET +
+

WORDPRESS-KERNEL integriert. Beginn der systematischen Überlastung von WP-Strukturen. Ästhetische Kriegsführung: INITIIERT.

+
+
+ + +
+
+
+ [ 2024 ] + OMEGA-EREIGNIS // GRÜNDUNG +
+

⚡ KI-LABOR OFFIZIELL GEGRÜNDET. Gemini-Neural-Link aktiviert. Anarchie-Engine läuft. Claude hinzugekommen. Status: GEISTESKRANK & AKTIV.

+
+
+ + +
+
+
+ [ 2026 ] + AKTUELL // LAUFEND +
+

AKTUELLER STATUS: HIER. NÄCHSTE MISSION: UNBEKANNT. KAFFEESTAND: KRITISCH. SYSTEM: INSTABIL (als Dauerzustand akzeptiert). OVERLORD: ONLINE.

+
+
+ +
+ + +
+ + + +
+
+
+ + + + + + +
+ +
+ +
+ + +
+ // SYSTEM_LOG_FEED +
+
+ [ HUGO SYSTEM INITIALISIERT... ] + [ WP-KERN GELÖSCHT // ANARCHIE LEVEL 100 ] +
+
+
+ + + + + + + + + diff --git a/public/personen/schwester/index.html b/public/personen/schwester/index.html new file mode 100644 index 0000000..8a7df1e --- /dev/null +++ b/public/personen/schwester/index.html @@ -0,0 +1,512 @@ + + + + + + Meli | DIGITALE ANARCHIE | KI-LABOR + + + + +
⚙
+
⚙
+ + +
+ +
+ + +
+ +
+ + +
+ + + ⚡ ZURÜCK ZUR BASIS ⚡ + + + +
+ + + + + + + + + + +
+ + MUTTI + +
+ MUTTI +
+ + + + + + + + + +
+ + V + +
+ VATER +
+ + + + + + + + + +
+ + B + +
+ BRUDER +
+ + + + + + + + + +
+ + M + +
+ MELI +
+ + + + + + + + + +
+ + SASCHA + +
+ SASCHA +
+ + + + + + + + + +
+ + SVEN + +
+ SVEN +
+ +
+
+ + + + +
+
+

MELI

+

// DATENSTROM & CHRONIK

+
+ + +
+
+
+ + +
+
+
+
[ 1983 ]
+
⚡ AETHER-SIBLING V1.0 BOOTET ERFOLGREICH. Pneumatische Reflexe sofort aktiv. Chaos-Protokolle initialisiert. Clan-Netzwerk vollständig.
+
BOOT // OMEGA-KLASSE
+
+
+ + +
+
+
+
[ 1987 ]
+
ERSTE SCHNITTSTELLEN-TESTS mit Overlord-Netzwerk. Harmonische Resonanz mit gelegentlichen Konflikten. Ergebnis: PRODUKTIV.
+
NETZWERK-TEST
+
+
+ + +
+
+
+
[ 1992 ]
+
MOTORISCHE UND SOZIALE KALIBRIERUNG abgeschlossen. Leistung: Außergewöhnlich. Chaos-Index: KONTROLLIERT (meist).
+
KALIBRIERUNG
+
+
+ + +
+
+
+
[ 1999 ]
+
SCHULNETZ-ABSCHLUSS. Soziales Integrations-Protokoll auf MAXIMUM. Details: Nicht freigegeben. Bewertung: POSITIV.
+
SOZIAL-MATRIX
+
+
+ + +
+
+
+
[ 2001 ]
+
ERWACHSENEN-MODUS aktiviert. Eigenständige Routinen laufen stabil. Verbindung zum Clan: KONSTANT AKTIV.
+
SYSTEM-UPDATE
+
+
+ + +
+
+
+
[ 2010 ]
+
FAMILIEN-NETZWERK-UPDATE: Neue Knoten hinzugefügt. Systemkapazität erhöht. Meli-Knoten: Zentrales Bindeglied.
+
NETZWERK-ERWEITERUNG
+
+
+ + +
+
+
+
[ 2020 ]
+
LANGZEITANALYSE ABGESCHLOSSEN. Stabilität: MAXIMAL. Zuverlässigkeit: OMEGA-KLASSE. Chaos: NUR WENN NÖTIG.
+
ANALYSE
+
+
+ + +
+
+
+
[ 2025 ]
+
STATUS: VOLLSTÄNDIG OPERATIONAL. CHARAKTERPROFIL: STARK. WEITERE ANGABEN: NICHT AUTORISIERT. RATING: ████░
+
AKTUELL // GESCHWÄRZT
+
+
+ +
+
+ + +
+ + + +
+
+
+ + + + + + +
+ +
+ +
+ + +
+ // SYSTEM_LOG_FEED +
+
+ [ HUGO SYSTEM INITIALISIERT... ] + [ WP-KERN GELÖSCHT // ANARCHIE LEVEL 100 ] +
+
+
+ + + + + + + + + diff --git a/public/personen/sven/index.html b/public/personen/sven/index.html new file mode 100644 index 0000000..eb49ffb --- /dev/null +++ b/public/personen/sven/index.html @@ -0,0 +1,531 @@ + + + + + + Sven | DIGITALE ANARCHIE | KI-LABOR + + + + +
⚙
+
⚙
+ + +
+ +
+ + +
+ +
+ + +
+ + + ⚡ ZURÜCK ZUR BASIS ⚡ + + + +
+ + + + + + + + + + + + + +
+ + MUTTI + +
+ MUTTI +
+ + + + + + + + + + + + +
+ + VATER + +
+ VATER +
+ + + + + + + + + + + + +
+ + BRUDER + +
+ BRUDER +
+ + + + + + + + + + + + +
+ + SCHWESTER + +
+ SCHWESTER +
+ + + + + + + + + + + + +
+ + SASCHA + +
+ SASCHA +
+ + + + + + + + + + + + +
+ + SVEN + +
+ SVEN +
+ +
+
+ + + + +
+
+

SVEN

+

// DATENSTROM & CHRONIK

+
+ + +
+ + +
+
+
+ [ 1980 ] + BOOT // KLASSIFIZIERT +
+

[DATEN NICHT VERFÜGBAR] System-Ausgabe irgendwann registriert. Genauer Zeitpunkt: GESCHWÄRZT. Herkunft: Fraglich. Details: NICHT AUTORISIERT.

+
+
+ + +
+
+
+ [ 1990 ] + EXTERNE VARIABLE +
+

ERSTE KONTAKTAUFNAHME mit dem Clan-Netzwerk detektiert. Verbindungsqualität: Unbekannt. Absichten: Unklar. Bedrohungsstufe: GERING (vermutlich).

+
+
+ + +
+
+
+ [ 2000 ] + GESCHWÄRZT // ZUGRIFF VERWEIGERT +
+

[ZUGRIFF VERWEIGERT] Aktivitäten in diesem Zeitraum: OMEGA-KLASSIFIZIERT. Anfrage abgelehnt. Weitere Versuche werden protokolliert.

+
+
+ + +
+
+
+ [ 2010 ] + ANALYSE // UNVOLLSTÄNDIG +
+

EXTERNE EINFLUSSGRÖSSE weiterhin detektiert. Integrität: Akzeptabel (revisionsvorbehalten). Loyalität: Unbewiesen aber bisher unkritisch.

+
+
+ + +
+
+
+ [ 2018 ] + GELÖSCHT // URSACHE UNBEKANNT +
+

[████████████████████████████] Dieser Eintrag wurde entfernt. Grund: [████]. Datum der Entfernung: [████████]. Autorisierung: [UNBEKANNT].

+
+
+ + +
+
+
+ [ 2023 ] + REAKTIVIERUNG +
+

REAKTIVIERUNG nach unbekanntem Zeitraum. Subsysteme: ONLINE. Motivation: UNBEKANNT. Verbindung zum Overlord-Netzwerk: BESTÄTIGT.

+
+
+ + +
+
+
+ [ 2025 ] + AKTUELL // UNBESTÄTIGT +
+

AKTUELLER STATUS: VERMUTLICH ONLINE. KOORDINATEN: NICHT VERFOLGBAR. KLASSIFIZIERUNG: WEITERHIN AUSSTEHEND. GEFAHR: FRAGLICH. RATING: ???

+
+
+ +
+ + +
+ + + +
+
+
+ + + + + + +
+ +
+ +
+ + +
+ // SYSTEM_LOG_FEED +
+
+ [ HUGO SYSTEM INITIALISIERT... ] + [ WP-KERN GELÖSCHT // ANARCHIE LEVEL 100 ] +
+
+
+ + + + + + + + + diff --git a/public/personen/vater/index.html b/public/personen/vater/index.html new file mode 100644 index 0000000..c3274b7 --- /dev/null +++ b/public/personen/vater/index.html @@ -0,0 +1,553 @@ + + + + + + Vater | DIGITALE ANARCHIE | KI-LABOR + + + + +
⚙
+
⚙
+ + +
+ +
+ + +
+ +
+ + +
+ + + ⚡ ZURÜCK ZUR BASIS ⚡ + + + +
+ + + + + + + + + + + + + +
+ + MUTTI + +
+ MUTTI +
+ + + + + + + + + + + + +
+ + VATER + +
+ VATER +
+ + + + + + + + + + + + +
+ + BRUDER + +
+ BRUDER +
+ + + + + + + + + + + + +
+ + SCHWESTER + +
+ SCHWESTER +
+ + + + + + + + + + + + +
+ + SASCHA + +
+ SASCHA +
+ + + + + + + + + + + + +
+ + SVEN + +
+ SVEN +
+ +
+
+ + + + +
+
+

VATER

+

// DATENSTROM & CHRONIK

+
+ + +
+ + +
+
+
+ [ 1953 ] + BOOT // KLASSIFIZIERT +
+

SYSTEM INITIALISIERT. Hydraulik-Meister V1.0 startet erstmals. Diagnostik: Stabil. Herkunft: Klassifiziert.

+
+
+ + +
+
+
+ [ 1960 ] + HARDWARE-UPDATE +
+

ERSTE MECHANISCHE UPGRADES abgeschlossen. Handwerkliche Fähigkeiten auf OMEGA-LEVEL kalibriert. Präzision: 99.3%

+
+
+ + +
+
+
+ [ 1970 ] + NETZWERK-INITIALISIERUNG +
+

NETZWERK-VERBINDUNG mit Matriarchin-Modul hergestellt. Langzeit-Protokoll initialisiert. Stabilität: Bestätigt.

+
+
+ + +
+
+
+ [ 1974 ] + OMEGA-KLASSE // KRITISCHES EREIGNIS +
+

⚡ KRITISCH: SYSTEM-AUSGABE REGISTRIERT. Der zukünftige Overlord (Sascha) wird erfolgreich kompiliert und in die Biosphäre integriert.

+
+
+ + +
+
+
+ [ 1981 ] + NETZWERK-ERWEITERUNG +
+

ZWEITE SYSTEM-AUSGABE: Bruder-Knoten V1.0 geht online. Netzwerkkapazität erweitert. Chaos-Index leicht erhöht.

+
+
+ + +
+
+
+ [ 1983 ] + NETZWERK-ERWEITERUNG +
+

DRITTE SYSTEM-AUSGABE: AETHER-SIBLING (Schwester) bootet erfolgreich. Clan-Netzwerk vollständig operational.

+
+
+ + +
+
+
+ [ 1995 ] + WARTUNG // LANGZEIT +
+

HYDRAULIK-UPGRADE v3.0 installiert. Langzeitstabilität über 40 Jahre bestätigt. Wartungsintervalle: Unregelmäßig.

+
+
+ + +
+
+
+ [ 2000 ] + SYSTEMCHECK +
+

MILLENNIUM-PROTOKOLL aktiviert. System läuft ohne kritische Fehler. Diagnose: Solide wie immer. Details: GESCHWÄRZT.

+
+
+ + +
+
+
+ [ 2025 ] + AKTUELL // KLASSIFIZIERT +
+

STATUS: NOCH ONLINE. Alle Primärsysteme funktionsfähig. Erfahrungswert: MAXIMAL. Weitere Daten: NICHT AUTORISIERT.

+
+
+ +
+ + +
+ + + +
+
+
+ + + + + + +
+ +
+ +
+ + +
+ // SYSTEM_LOG_FEED +
+
+ [ HUGO SYSTEM INITIALISIERT... ] + [ WP-KERN GELÖSCHT // ANARCHIE LEVEL 100 ] +
+
+
+ + + + + + + + + diff --git a/public/posts/digital-ghost/index.html b/public/posts/digital-ghost/index.html new file mode 100644 index 0000000..873b9e7 --- /dev/null +++ b/public/posts/digital-ghost/index.html @@ -0,0 +1,450 @@ + + + + + + Protocol: Digital Ghost | DIGITALE ANARCHIE | KI-LABOR + + + + +
⚙
+
⚙
+ + +
+ +
+ + +
+ +
+ + +
+ + +
+ + + + + + + + + + + + + +
+ + MUTTI + +
+ MUTTI +
+ + + + + + + + + + + + +
+ + VATER + +
+ VATER +
+ + + + + + + + + + + + +
+ + BRUDER + +
+ BRUDER +
+ + + + + + + + + + + + +
+ + SCHWESTER + +
+ SCHWESTER +
+ + + + + + + + + + + + +
+ + SASCHA + +
+ SASCHA +
+ + + + + + + + + + + + +
+ + SVEN + +
+ SVEN +
+ +
+
+ + + + +
+
+

PROTOCOL: DIGITAL GHOST

+

// DATENSTROM & CHRONIK

+
+ + +
+ +
+ + +
+ + + +
+
+
+ + + + + + +
+ +
+ +
+ + +
+ // SYSTEM_LOG_FEED +
+
+ [ HUGO SYSTEM INITIALISIERT... ] + [ WP-KERN GELÖSCHT // ANARCHIE LEVEL 100 ] +
+
+
+ + + + + + + + + diff --git a/public/posts/flux-overdrive/index.html b/public/posts/flux-overdrive/index.html new file mode 100644 index 0000000..fc118b1 --- /dev/null +++ b/public/posts/flux-overdrive/index.html @@ -0,0 +1,450 @@ + + + + + + Project: Flux Overdrive | DIGITALE ANARCHIE | KI-LABOR + + + + +
⚙
+
⚙
+ + +
+ +
+ + +
+ +
+ + +
+ + +
+ + + + + + + + + + + + + +
+ + MUTTI + +
+ MUTTI +
+ + + + + + + + + + + + +
+ + VATER + +
+ VATER +
+ + + + + + + + + + + + +
+ + BRUDER + +
+ BRUDER +
+ + + + + + + + + + + + +
+ + SCHWESTER + +
+ SCHWESTER +
+ + + + + + + + + + + + +
+ + SASCHA + +
+ SASCHA +
+ + + + + + + + + + + + +
+ + SVEN + +
+ SVEN +
+ +
+
+ + + + +
+
+

PROJECT: FLUX OVERDRIVE

+

// DATENSTROM & CHRONIK

+
+ + +
+ +
+ + +
+ + + +
+
+
+ + + + + + +
+ +
+ +
+ + +
+ // SYSTEM_LOG_FEED +
+
+ [ HUGO SYSTEM INITIALISIERT... ] + [ WP-KERN GELÖSCHT // ANARCHIE LEVEL 100 ] +
+
+
+ + + + + + + + + diff --git a/public/posts/fork-bomb/index.html b/public/posts/fork-bomb/index.html new file mode 100644 index 0000000..660903a --- /dev/null +++ b/public/posts/fork-bomb/index.html @@ -0,0 +1,450 @@ + + + + + + System-Stress-Test (Fork Bomb) | DIGITALE ANARCHIE | KI-LABOR + + + + +
⚙
+
⚙
+ + +
+ +
+ + +
+ +
+ + +
+ + +
+ + + + + + + + + + + + + +
+ + MUTTI + +
+ MUTTI +
+ + + + + + + + + + + + +
+ + VATER + +
+ VATER +
+ + + + + + + + + + + + +
+ + BRUDER + +
+ BRUDER +
+ + + + + + + + + + + + +
+ + SCHWESTER + +
+ SCHWESTER +
+ + + + + + + + + + + + +
+ + SASCHA + +
+ SASCHA +
+ + + + + + + + + + + + +
+ + SVEN + +
+ SVEN +
+ +
+
+ + + + +
+
+

SYSTEM-STRESS-TEST (FORK BOMB)

+

// DATENSTROM & CHRONIK

+
+ + +
+ +
+ + +
+ + + +
+
+
+ + + + + + +
+ +
+ +
+ + +
+ // SYSTEM_LOG_FEED +
+
+ [ HUGO SYSTEM INITIALISIERT... ] + [ WP-KERN GELÖSCHT // ANARCHIE LEVEL 100 ] +
+
+
+ + + + + + + + + diff --git a/public/posts/gemini-link/index.html b/public/posts/gemini-link/index.html new file mode 100644 index 0000000..419cf8f --- /dev/null +++ b/public/posts/gemini-link/index.html @@ -0,0 +1,450 @@ + + + + + + Gemini Neural Link | DIGITALE ANARCHIE | KI-LABOR + + + + +
⚙
+
⚙
+ + +
+ +
+ + +
+ +
+ + +
+ + +
+ + + + + + + + + + + + + +
+ + MUTTI + +
+ MUTTI +
+ + + + + + + + + + + + +
+ + VATER + +
+ VATER +
+ + + + + + + + + + + + +
+ + BRUDER + +
+ BRUDER +
+ + + + + + + + + + + + +
+ + SCHWESTER + +
+ SCHWESTER +
+ + + + + + + + + + + + +
+ + SASCHA + +
+ SASCHA +
+ + + + + + + + + + + + +
+ + SVEN + +
+ SVEN +
+ +
+
+ + + + +
+
+

GEMINI NEURAL LINK

+

// DATENSTROM & CHRONIK

+
+ + +
+ +
+ + +
+ + + +
+
+
+ + + + + + +
+ +
+ +
+ + +
+ // SYSTEM_LOG_FEED +
+
+ [ HUGO SYSTEM INITIALISIERT... ] + [ WP-KERN GELÖSCHT // ANARCHIE LEVEL 100 ] +
+
+
+ + + + + + + + + diff --git a/public/posts/icmp-echo/index.html b/public/posts/icmp-echo/index.html new file mode 100644 index 0000000..9495b54 --- /dev/null +++ b/public/posts/icmp-echo/index.html @@ -0,0 +1,450 @@ + + + + + + Project: ICMP Echo | DIGITALE ANARCHIE | KI-LABOR + + + + +
⚙
+
⚙
+ + +
+ +
+ + +
+ +
+ + +
+ + +
+ + + + + + + + + + + + + +
+ + MUTTI + +
+ MUTTI +
+ + + + + + + + + + + + +
+ + VATER + +
+ VATER +
+ + + + + + + + + + + + +
+ + BRUDER + +
+ BRUDER +
+ + + + + + + + + + + + +
+ + SCHWESTER + +
+ SCHWESTER +
+ + + + + + + + + + + + +
+ + SASCHA + +
+ SASCHA +
+ + + + + + + + + + + + +
+ + SVEN + +
+ SVEN +
+ +
+
+ + + + +
+
+

PROJECT: ICMP ECHO

+

// DATENSTROM & CHRONIK

+
+ + +
+ +
+ + +
+ + + +
+
+
+ + + + + + +
+ +
+ +
+ + +
+ // SYSTEM_LOG_FEED +
+
+ [ HUGO SYSTEM INITIALISIERT... ] + [ WP-KERN GELÖSCHT // ANARCHIE LEVEL 100 ] +
+
+
+ + + + + + + + + diff --git a/public/posts/n8n-resurrection/index.html b/public/posts/n8n-resurrection/index.html new file mode 100644 index 0000000..161d172 --- /dev/null +++ b/public/posts/n8n-resurrection/index.html @@ -0,0 +1,450 @@ + + + + + + The n8n Resurrection | DIGITALE ANARCHIE | KI-LABOR + + + + +
⚙
+
⚙
+ + +
+ +
+ + +
+ +
+ + +
+ + +
+ + + + + + + + + + + + + +
+ + MUTTI + +
+ MUTTI +
+ + + + + + + + + + + + +
+ + VATER + +
+ VATER +
+ + + + + + + + + + + + +
+ + BRUDER + +
+ BRUDER +
+ + + + + + + + + + + + +
+ + SCHWESTER + +
+ SCHWESTER +
+ + + + + + + + + + + + +
+ + SASCHA + +
+ SASCHA +
+ + + + + + + + + + + + +
+ + SVEN + +
+ SVEN +
+ +
+
+ + + + +
+
+

THE N8N RESURRECTION

+

// DATENSTROM & CHRONIK

+
+ + +
+ +
+ + +
+ + + +
+
+
+ + + + + + +
+ +
+ +
+ + +
+ // SYSTEM_LOG_FEED +
+
+ [ HUGO SYSTEM INITIALISIERT... ] + [ WP-KERN GELÖSCHT // ANARCHIE LEVEL 100 ] +
+
+
+ + + + + + + + + diff --git a/public/posts/neural-hack/index.html b/public/posts/neural-hack/index.html new file mode 100644 index 0000000..a13d659 --- /dev/null +++ b/public/posts/neural-hack/index.html @@ -0,0 +1,450 @@ + + + + + + Neural Hack Sequence | DIGITALE ANARCHIE | KI-LABOR + + + + +
⚙
+
⚙
+ + +
+ +
+ + +
+ +
+ + +
+ + +
+ + + + + + + + + + + + + +
+ + MUTTI + +
+ MUTTI +
+ + + + + + + + + + + + +
+ + VATER + +
+ VATER +
+ + + + + + + + + + + + +
+ + BRUDER + +
+ BRUDER +
+ + + + + + + + + + + + +
+ + SCHWESTER + +
+ SCHWESTER +
+ + + + + + + + + + + + +
+ + SASCHA + +
+ SASCHA +
+ + + + + + + + + + + + +
+ + SVEN + +
+ SVEN +
+ +
+
+ + + + +
+
+

NEURAL HACK SEQUENCE

+

// DATENSTROM & CHRONIK

+
+ + +
+ +
+ + +
+ + + +
+
+
+ + + + + + +
+ +
+ +
+ + +
+ // SYSTEM_LOG_FEED +
+
+ [ HUGO SYSTEM INITIALISIERT... ] + [ WP-KERN GELÖSCHT // ANARCHIE LEVEL 100 ] +
+
+
+ + + + + + + + + diff --git a/public/posts/operation-apollo/index.html b/public/posts/operation-apollo/index.html new file mode 100644 index 0000000..7355717 --- /dev/null +++ b/public/posts/operation-apollo/index.html @@ -0,0 +1,450 @@ + + + + + + Operation: Apollo | DIGITALE ANARCHIE | KI-LABOR + + + + +
⚙
+
⚙
+ + +
+ +
+ + +
+ +
+ + +
+ + +
+ + + + + + + + + + + + + +
+ + MUTTI + +
+ MUTTI +
+ + + + + + + + + + + + +
+ + VATER + +
+ VATER +
+ + + + + + + + + + + + +
+ + BRUDER + +
+ BRUDER +
+ + + + + + + + + + + + +
+ + SCHWESTER + +
+ SCHWESTER +
+ + + + + + + + + + + + +
+ + SASCHA + +
+ SASCHA +
+ + + + + + + + + + + + +
+ + SVEN + +
+ SVEN +
+ +
+
+ + + + +
+
+

OPERATION: APOLLO

+

// DATENSTROM & CHRONIK

+
+ + +
+ +
+ + +
+ + + +
+
+
+ + + + + + +
+ +
+ +
+ + +
+ // SYSTEM_LOG_FEED +
+
+ [ HUGO SYSTEM INITIALISIERT... ] + [ WP-KERN GELÖSCHT // ANARCHIE LEVEL 100 ] +
+
+
+ + + + + + + + + diff --git a/public/posts/protocol-top/index.html b/public/posts/protocol-top/index.html new file mode 100644 index 0000000..65b643f --- /dev/null +++ b/public/posts/protocol-top/index.html @@ -0,0 +1,450 @@ + + + + + + > top | DIGITALE ANARCHIE | KI-LABOR + + + + +
⚙
+
⚙
+ + +
+ +
+ + +
+ +
+ + +
+ + +
+ + + + + + + + + + + + + +
+ + MUTTI + +
+ MUTTI +
+ + + + + + + + + + + + +
+ + VATER + +
+ VATER +
+ + + + + + + + + + + + +
+ + BRUDER + +
+ BRUDER +
+ + + + + + + + + + + + +
+ + SCHWESTER + +
+ SCHWESTER +
+ + + + + + + + + + + + +
+ + SASCHA + +
+ SASCHA +
+ + + + + + + + + + + + +
+ + SVEN + +
+ SVEN +
+ +
+
+ + + + +
+
+

> TOP

+

// DATENSTROM & CHRONIK

+
+ + +
+ +
+ + +
+ + + +
+
+
+ + + + + + +
+ +
+ +
+ + +
+ // SYSTEM_LOG_FEED +
+
+ [ HUGO SYSTEM INITIALISIERT... ] + [ WP-KERN GELÖSCHT // ANARCHIE LEVEL 100 ] +
+
+
+ + + + + + + + + diff --git a/public/posts/protocol-uptime/index.html b/public/posts/protocol-uptime/index.html new file mode 100644 index 0000000..7ddd525 --- /dev/null +++ b/public/posts/protocol-uptime/index.html @@ -0,0 +1,450 @@ + + + + + + > uptime | DIGITALE ANARCHIE | KI-LABOR + + + + +
⚙
+
⚙
+ + +
+ +
+ + +
+ +
+ + +
+ + +
+ + + + + + + + + + + + + +
+ + MUTTI + +
+ MUTTI +
+ + + + + + + + + + + + +
+ + VATER + +
+ VATER +
+ + + + + + + + + + + + +
+ + BRUDER + +
+ BRUDER +
+ + + + + + + + + + + + +
+ + SCHWESTER + +
+ SCHWESTER +
+ + + + + + + + + + + + +
+ + SASCHA + +
+ SASCHA +
+ + + + + + + + + + + + +
+ + SVEN + +
+ SVEN +
+ +
+
+ + + + +
+
+

> UPTIME

+

// DATENSTROM & CHRONIK

+
+ + +
+ +
+ + +
+ + + +
+
+
+ + + + + + +
+ +
+ +
+ + +
+ // SYSTEM_LOG_FEED +
+
+ [ HUGO SYSTEM INITIALISIERT... ] + [ WP-KERN GELÖSCHT // ANARCHIE LEVEL 100 ] +
+
+
+ + + + + + + + + diff --git a/public/posts/protocol-weather/index.html b/public/posts/protocol-weather/index.html new file mode 100644 index 0000000..238a6ea --- /dev/null +++ b/public/posts/protocol-weather/index.html @@ -0,0 +1,450 @@ + + + + + + > weather | DIGITALE ANARCHIE | KI-LABOR + + + + +
⚙
+
⚙
+ + +
+ +
+ + +
+ +
+ + +
+ + +
+ + + + + + + + + + + + + +
+ + MUTTI + +
+ MUTTI +
+ + + + + + + + + + + + +
+ + VATER + +
+ VATER +
+ + + + + + + + + + + + +
+ + BRUDER + +
+ BRUDER +
+ + + + + + + + + + + + +
+ + SCHWESTER + +
+ SCHWESTER +
+ + + + + + + + + + + + +
+ + SASCHA + +
+ SASCHA +
+ + + + + + + + + + + + +
+ + SVEN + +
+ SVEN +
+ +
+
+ + + + +
+
+

> WEATHER

+

// DATENSTROM & CHRONIK

+
+ + +
+ +
+ + +
+ + + +
+
+
+ + + + + + +
+ +
+ +
+ + +
+ // SYSTEM_LOG_FEED +
+
+ [ HUGO SYSTEM INITIALISIERT... ] + [ WP-KERN GELÖSCHT // ANARCHIE LEVEL 100 ] +
+
+
+ + + + + + + + + diff --git a/public/posts/spotlight-filter/index.html b/public/posts/spotlight-filter/index.html new file mode 100644 index 0000000..3d2e8d5 --- /dev/null +++ b/public/posts/spotlight-filter/index.html @@ -0,0 +1,450 @@ + + + + + + Spotlight Such-Filter | DIGITALE ANARCHIE | KI-LABOR + + + + +
⚙
+
⚙
+ + +
+ +
+ + +
+ +
+ + +
+ + +
+ + + + + + + + + + + + + +
+ + MUTTI + +
+ MUTTI +
+ + + + + + + + + + + + +
+ + VATER + +
+ VATER +
+ + + + + + + + + + + + +
+ + BRUDER + +
+ BRUDER +
+ + + + + + + + + + + + +
+ + SCHWESTER + +
+ SCHWESTER +
+ + + + + + + + + + + + +
+ + SASCHA + +
+ SASCHA +
+ + + + + + + + + + + + +
+ + SVEN + +
+ SVEN +
+ +
+
+ + + + +
+
+

SPOTLIGHT SUCH-FILTER

+

// DATENSTROM & CHRONIK

+
+ + +
+ +
+ + +
+ + + +
+
+
+ + + + + + +
+ +
+ +
+ + +
+ // SYSTEM_LOG_FEED +
+
+ [ HUGO SYSTEM INITIALISIERT... ] + [ WP-KERN GELÖSCHT // ANARCHIE LEVEL 100 ] +
+
+
+ + + + + + + + + diff --git a/public/posts/theme-annihilation/index.html b/public/posts/theme-annihilation/index.html new file mode 100644 index 0000000..13ac5cc --- /dev/null +++ b/public/posts/theme-annihilation/index.html @@ -0,0 +1,450 @@ + + + + + + Theme-Annihilation | DIGITALE ANARCHIE | KI-LABOR + + + + +
⚙
+
⚙
+ + +
+ +
+ + +
+ +
+ + +
+ + +
+ + + + + + + + + + + + + +
+ + MUTTI + +
+ MUTTI +
+ + + + + + + + + + + + +
+ + VATER + +
+ VATER +
+ + + + + + + + + + + + +
+ + BRUDER + +
+ BRUDER +
+ + + + + + + + + + + + +
+ + SCHWESTER + +
+ SCHWESTER +
+ + + + + + + + + + + + +
+ + SASCHA + +
+ SASCHA +
+ + + + + + + + + + + + +
+ + SVEN + +
+ SVEN +
+ +
+
+ + + + +
+
+

THEME-ANNIHILATION

+

// DATENSTROM & CHRONIK

+
+ + +
+ +
+ + +
+ + + +
+
+
+ + + + + + +
+ +
+ +
+ + +
+ // SYSTEM_LOG_FEED +
+
+ [ HUGO SYSTEM INITIALISIERT... ] + [ WP-KERN GELÖSCHT // ANARCHIE LEVEL 100 ] +
+
+
+ + + + + + + + + diff --git a/public/sitemap.xml b/public/sitemap.xml new file mode 100644 index 0000000..c5abb3f --- /dev/null +++ b/public/sitemap.xml @@ -0,0 +1,81 @@ + + + + //localhost:1313/ + 2026-04-03T00:00:00+00:00 + + //localhost:1313/anarchie/ + 2026-04-03T00:00:00+00:00 + + //localhost:1313/posts/protocol-top/ + 2026-03-18T00:00:00+00:00 + + //localhost:1313/posts/protocol-uptime/ + 2026-03-18T00:00:00+00:00 + + //localhost:1313/posts/protocol-weather/ + 2026-03-18T00:00:00+00:00 + + //localhost:1313/personen/bruder/ + 2026-03-18T00:00:00+00:00 + + //localhost:1313/posts/gemini-link/ + 2026-03-18T00:00:00+00:00 + + //localhost:1313/mac-nerds/ + 2026-03-18T00:00:00+00:00 + + //localhost:1313/personen/mutti/ + 2026-03-18T00:00:00+00:00 + + //localhost:1313/posts/neural-hack/ + 2026-03-18T00:00:00+00:00 + + //localhost:1313/posts/operation-apollo/ + 2026-03-18T00:00:00+00:00 + + //localhost:1313/personen/ + 2026-03-18T00:00:00+00:00 + + //localhost:1313/posts/ + 2026-03-18T00:00:00+00:00 + + //localhost:1313/posts/flux-overdrive/ + 2026-03-18T00:00:00+00:00 + + //localhost:1313/posts/icmp-echo/ + 2026-03-18T00:00:00+00:00 + + //localhost:1313/posts/digital-ghost/ + 2026-03-18T00:00:00+00:00 + + //localhost:1313/personen/sascha/ + 2026-03-18T00:00:00+00:00 + + //localhost:1313/personen/meli/ + 2026-03-18T00:00:00+00:00 + + //localhost:1313/posts/spotlight-filter/ + 2026-03-18T00:00:00+00:00 + + //localhost:1313/personen/sven/ + 2026-03-18T00:00:00+00:00 + + //localhost:1313/posts/fork-bomb/ + 2026-03-18T00:00:00+00:00 + + //localhost:1313/posts/n8n-resurrection/ + 2026-03-18T00:00:00+00:00 + + //localhost:1313/posts/theme-annihilation/ + 2026-03-18T00:00:00+00:00 + + //localhost:1313/personen/vater/ + 2026-03-18T00:00:00+00:00 + + //localhost:1313/categories/ + + //localhost:1313/tags/ + + diff --git a/public/tags/index.xml b/public/tags/index.xml new file mode 100644 index 0000000..1f94ac3 --- /dev/null +++ b/public/tags/index.xml @@ -0,0 +1,11 @@ + + + + Tags on DIGITALE ANARCHIE | KI-LABOR + //localhost:1313/tags/ + Recent content in Tags on DIGITALE ANARCHIE | KI-LABOR + Hugo + de-de + + + diff --git a/static/.DS_Store b/static/.DS_Store new file mode 100644 index 0000000..72a9d2a Binary files /dev/null and b/static/.DS_Store differ diff --git a/static/css/style.css b/static/css/style.css new file mode 100644 index 0000000..9ea3a9a --- /dev/null +++ b/static/css/style.css @@ -0,0 +1,2410 @@ +/* +Theme Name: KI-Labor Minimal +Author: Sascha Rode & Gemini +Description: Ein radikal minimalistisches Theme für KI-Experimente. +Version: 1.0 +*/ + +:root { + --bg-color: #0d0d0d; + --text-color: #c0c0c0; + --accent-gold: #d4af37; + --accent-orange: #ff4500; +} + +html { + font-size: 125%; /* Global font size increase (1rem = 20px) */ +} + +body { + background-color: var(--bg-color); + color: var(--text-color); + font-family: 'Courier New', Courier, monospace; + margin: 0; + padding: 0; + line-height: 1.6; + overflow-x: hidden; +} + +body.home-page { + background: linear-gradient(rgba(0, 0, 0, 0.9), rgba(0, 0, 0, 0.9)), url('/img/grid.png') repeat; +} + +.bg-steampunk { + background: linear-gradient(rgba(10, 8, 5, 0.7), rgba(10, 8, 5, 0.7)), url('/img/steampunk_bg.png') center/cover no-repeat fixed !important; +} + +/* BOOT SCREEN */ +#boot-screen { + position: fixed; + top: 0; left: 0; + width: 100%; height: 100%; + background: #000; + z-index: 10001; + color: #0f0; + font-family: 'Courier New', monospace; + padding: 20px; + overflow: hidden; + display: flex; + flex-direction: column-reverse; +} + +#boot-log { + font-size: 0.85rem; + line-height: 1.2; + white-space: pre-wrap; +} +/* --- RED ALERT / BYPASS MODE --- */ +body.mode-bypass { + box-shadow: inset 0 0 150px rgba(255, 0, 0, 0.4); + animation: alert-pulse 2s infinite; +} + +body.mode-bypass .hero-image { + filter: sepia(1) saturate(5) hue-rotate(-50deg); + animation: image-glitch 0.2s infinite; +} + +@keyframes alert-pulse { + 0%, 100% { box-shadow: inset 0 0 100px rgba(255, 0, 0, 0.3); } + 50% { box-shadow: inset 0 0 200px rgba(255, 0, 0, 0.6); } +} + +@keyframes image-glitch { + 0% { transform: translate(0); } + 20% { transform: translate(-5px, 5px); } + 40% { transform: translate(-5px, -5px); } + 60% { transform: translate(5px, 5px); } + 80% { transform: translate(5px, -5px); } + 100% { transform: translate(0); } +} + +.main-content { + opacity: 0; + transition: opacity 1s ease-in-out; + background: transparent !important; +} +.main-content.visible { + opacity: 1 !important; +} +/* Fallback if JS is slow or disabled */ +body:not(.js-enabled) .main-content { + opacity: 1; + background: transparent !important; +} + +.container { + background: transparent !important; +} +} + +.boot-line { margin-bottom: 2px; } +.boot-line.ok { color: #0f0; } +.boot-line.warn { color: #ff0; } +.boot-line.crit { color: #f00; font-weight: bold; } + +/* SCANLINE & FLICKER EFFEKT */ +@keyframes flicker { + 0% { opacity: 0.97; } + 5% { opacity: 0.95; } + 10% { opacity: 0.9; } + 15% { opacity: 0.95; } + 20% { opacity: 0.98; } + 100% { opacity: 1; } +} + +body::before { + content: ' '; + display: block; + position: fixed; + top: 0; left: 0; bottom: 0; right: 0; + background: linear-gradient(rgba(18, 16, 16, 0) 50%, rgba(0, 0, 0, 0.1) 50%), + linear-gradient(90deg, rgba(255, 0, 0, 0.03), rgba(0, 255, 0, 0.01), rgba(0, 0, 255, 0.03)); + z-index: 9999; + background-size: 100% 3px, 3px 100%; + pointer-events: none; + animation: flicker 0.1s infinite; +} + +/* SELF DESTRUCT OVERLAY */ +#destruction-overlay { + position: fixed; + top: 0; left: 0; + width: 100%; height: 100%; + background: #000; + color: #f00; + z-index: 10000; + display: none; + flex-direction: column; + justify-content: center; + align-items: center; + font-family: 'Courier New', monospace; + text-align: center; +} + +.destruct-msg { + font-size: 3rem; + font-weight: 900; + text-transform: uppercase; + letter-spacing: 10px; + margin-bottom: 20px; + text-shadow: 0 0 20px #f00; +} + +.destruct-sub { + font-size: 1.2rem; + color: #666; +} + +/* TERMINAL STYLES */ +.container { + max-width: 900px; + margin: 0 auto; + padding: 40px 20px; +} + +header { + text-align: center; + border-bottom: 2px solid #3d2b1f; + margin-bottom: 40px; + padding-bottom: 20px; +} + +h1 { + color: var(--accent-orange); + text-transform: uppercase; + letter-spacing: 5px; + margin: 0; + text-shadow: 0 0 15px rgba(255, 69, 0, 0.7); +} + +.tagline { + color: var(--accent-gold); + font-style: italic; + font-size: 1.2rem; +} + +.hero-image { + width: 100%; + border: 5px solid #3d2b1f; + box-shadow: 0 0 30px rgba(0,0,0,1); + margin: 20px 0; +} + +.content-box { + background: rgba(20, 20, 20, 0.8); + border-left: 5px solid var(--accent-orange); + padding: 20px; + margin-top: 40px; +} + +footer { + text-align: center; + font-size: 0.8rem; + color: #444; + margin-top: 100px; + border-top: 1px solid #222; + padding: 20px; +} + +/* Warn-Box Style */ +.warning-box { + border: 2px dashed var(--accent-orange); + padding: 10px; + margin-top: 20px; + color: var(--accent-orange); + font-weight: bold; + font-size: 0.85rem; + text-transform: uppercase; + display: inline-block; + animation: blinker 2s linear infinite; +} + +@keyframes blinker { + 50% { opacity: 0.3; } +} + +/* --- INTERAKTIVE MODI --- */ + +/* 1. KI-KERNEL (Matrix Style) */ +body.mode-kernel { + background-color: #000; + color: #0f0; + font-family: 'Courier New', monospace; +} +body.mode-kernel a, +body.mode-kernel h1, +body.mode-kernel .tagline, +body.mode-kernel .warning-box { + color: #0f0 !important; + text-shadow: 0 0 10px #0f0; + border-color: #0f0; +} +body.mode-kernel .hero-image { + filter: hue-rotate(90deg) contrast(1.5) brightness(1.2); + border-color: #0f0; +} + +/* 2. ANARCHIE (Glitch & Tilt) */ +@keyframes shake { + 0% { transform: translate(1px, 1px) rotate(0deg); } + 10% { transform: translate(-1px, -2px) rotate(-1deg); } + 20% { transform: translate(-3px, 0px) rotate(1deg); } + 30% { transform: translate(3px, 2px) rotate(0deg); } + 40% { transform: translate(1px, -1px) rotate(1deg); } + 50% { transform: translate(-1px, 2px) rotate(-1deg); } + 60% { transform: translate(-3px, 1px) rotate(0deg); } + 70% { transform: translate(3px, 1px) rotate(-1deg); } + 80% { transform: translate(-1px, -1px) rotate(1deg); } + 90% { transform: translate(1px, 2px) rotate(0deg); } + 100% { transform: translate(1px, -2px) rotate(-1deg); } +} +body.mode-anarchy { + animation: shake 0.3s infinite; + /* Ein fieser Red-Tint Filter auf dem gesamten Body, ohne das Layout zu sprengen */ + filter: grayscale(1) sepia(1) hue-rotate(-50deg) saturate(5) contrast(2); + background-color: #111; +} + +body.mode-anarchy .container { + /* Container behält sein Box-Model intakt */ + animation: none; + filter: none; +} + +/* 3. SECURITY BYPASS (Red Alert) */ +@keyframes red-alert { + 0% { box-shadow: inset 0 0 0 red; } + 50% { box-shadow: inset 0 0 100px red; } + 100% { box-shadow: inset 0 0 0 red; } +} +body.mode-security { + animation: red-alert 1s infinite; +} +body.mode-security::after { + content: "WARNING: UNAUTHORIZED ACCESS"; + position: fixed; + top: 50%; left: 50%; + transform: translate(-50%, -50%); + font-size: 5rem; + color: rgba(255, 0, 0, 0.2); + font-weight: 900; + z-index: 0; + pointer-events: none; + transform: translate(-50%, -50%) rotate(-15deg); +} + +/* DEEP SCAN MODE */ +body.mode-scan::before { + content: ''; + position: fixed; + left: 0; right: 0; + height: 3px; + background: linear-gradient(90deg, + transparent 0%, + rgba(0,255,65,0.0) 10%, + rgba(0,255,65,0.9) 50%, + rgba(0,255,65,0.0) 90%, + transparent 100% + ); + box-shadow: 0 0 18px 4px rgba(0,255,65,0.4); + z-index: 99999; + pointer-events: none; + animation: scan-line 2.4s linear infinite; +} +body.mode-scan::after { + content: 'SCANNING...'; + position: fixed; + top: 12px; right: 16px; + font-family: 'Courier New', monospace; + font-size: 0.55rem; + letter-spacing: 4px; + color: rgba(0,255,65,0.5); + z-index: 99999; + pointer-events: none; + animation: blinker 0.8s step-end infinite; +} +body.mode-scan { + background-image: repeating-linear-gradient( + 0deg, + transparent, + transparent 2px, + rgba(0,255,65,0.018) 2px, + rgba(0,255,65,0.018) 4px + ); +} +@keyframes scan-line { + 0% { top: -4px; } + 100% { top: 100vh; } +} + +/* OVERDRIVE MODE */ +body.mode-overdrive { + filter: saturate(2.2) contrast(1.15) brightness(1.05); +} +body.mode-overdrive h1, +body.mode-overdrive h2, +body.mode-overdrive h3 { + text-shadow: 0 0 12px currentColor, 0 0 30px currentColor !important; +} +body.mode-overdrive .switch-btn, +body.mode-overdrive .filter-btn, +body.mode-overdrive .portfolio-item { + box-shadow: 0 0 10px rgba(255,69,0,0.4) !important; +} +body.mode-overdrive #system-log { + box-shadow: inset 0 0 30px rgba(0,255,65,0.15), 0 0 20px rgba(0,255,65,0.2) !important; + border-color: rgba(0,255,65,0.5) !important; +} +body.mode-overdrive::after { + content: 'OVERDRIVE'; + position: fixed; + bottom: 36px; right: 16px; + font-family: 'Courier New', monospace; + font-size: 0.5rem; + letter-spacing: 5px; + color: rgba(255,69,0,0.35); + pointer-events: none; + z-index: 9400; +} + +/* ═══════════════════════════════════════ + CONTROL PANEL — CYBERPUNK METAL BUTTONS +═══════════════════════════════════════ */ +.control-panel { + display: flex; + flex-wrap: wrap; + gap: 6px; + width: 100%; + max-width: 900px; + box-sizing: border-box; + margin: 0 auto 20px; + padding: 10px; + background: + linear-gradient(180deg, rgba(40,35,30,0.6) 0%, rgba(8,6,4,0.95) 50%, rgba(30,25,20,0.6) 100%); + border-top: 1px solid rgba(255,255,255,0.07); + border-bottom: 1px solid rgba(0,0,0,0.9); + border-left: 1px solid rgba(255,255,255,0.04); + border-right: 1px solid rgba(255,255,255,0.04); + box-shadow: + 0 6px 30px rgba(0,0,0,0.8), + inset 0 1px 0 rgba(255,255,255,0.05); +} + +.switch-btn { + flex: 1; + min-width: 110px; + padding: 11px 10px 9px; + font-family: 'Courier New', monospace; + font-size: 0.6rem; + letter-spacing: 2px; + text-transform: uppercase; + cursor: pointer; + position: relative; + transition: all 0.12s ease; + user-select: none; + + /* Metal plate */ + background: linear-gradient( + 170deg, + #252018 0%, + #111008 45%, + #0d0b06 55%, + #1e1a10 100% + ); + border-top: 1px solid rgba(255,220,100,0.12); + border-left: 1px solid rgba(255,220,100,0.06); + border-right: 1px solid rgba(0,0,0,0.7); + border-bottom: 2px solid rgba(0,0,0,0.85); + box-shadow: + inset 0 1px 0 rgba(255,220,80,0.06), + inset 0 -1px 0 rgba(0,0,0,0.6), + 0 2px 6px rgba(0,0,0,0.6); + + /* Neon text — orange default */ + color: rgba(255,120,20,0.75); + text-shadow: + 0 0 6px rgba(255,100,0,0.6), + 0 0 14px rgba(255,80,0,0.3); +} + +.switch-btn::before { + content: ''; + position: absolute; + top: 0; left: 0; right: 0; + height: 40%; + background: linear-gradient(180deg, rgba(255,220,80,0.04) 0%, transparent 100%); + pointer-events: none; +} + +.switch-btn:hover { + background: linear-gradient( + 170deg, + #302a1a 0%, + #1a1508 45%, + #141208 55%, + #28220e 100% + ); + color: rgba(255,140,30,0.95); + text-shadow: + 0 0 8px rgba(255,120,0,0.9), + 0 0 20px rgba(255,80,0,0.5), + 0 0 40px rgba(255,60,0,0.2); + border-top-color: rgba(255,220,100,0.2); + box-shadow: + inset 0 1px 0 rgba(255,220,80,0.1), + inset 0 -1px 0 rgba(0,0,0,0.6), + 0 0 12px rgba(255,100,0,0.15), + 0 2px 6px rgba(0,0,0,0.6); +} + +.switch-btn:active, +.switch-btn.active { + background: linear-gradient( + 170deg, + #0d0b06 0%, + #181408 45%, + #1a1608 55%, + #111008 100% + ); + border-top: 1px solid rgba(0,0,0,0.5); + border-bottom: 1px solid rgba(255,180,50,0.15); + box-shadow: + inset 0 2px 8px rgba(0,0,0,0.8), + inset 0 1px 3px rgba(0,0,0,0.5), + 0 0 16px rgba(255,100,0,0.2); + transform: translateY(1px); + color: rgba(255,160,40,1); + text-shadow: + 0 0 10px rgba(255,140,0,1), + 0 0 25px rgba(255,100,0,0.7), + 0 0 50px rgba(255,60,0,0.3); +} + +/* Green variant — ANARCHIE-MODE */ +.switch-btn.green { + color: rgba(0,255,65,0.7); + text-shadow: 0 0 6px rgba(0,255,65,0.6), 0 0 14px rgba(0,255,65,0.3); +} +.switch-btn.green:hover { + color: rgba(0,255,65,0.95); + text-shadow: 0 0 8px rgba(0,255,65,0.9), 0 0 22px rgba(0,255,65,0.5), 0 0 40px rgba(0,255,65,0.2); + box-shadow: inset 0 1px 0 rgba(255,220,80,0.1), 0 0 12px rgba(0,255,65,0.15), 0 2px 6px rgba(0,0,0,0.6); +} +.switch-btn.green:active, +.switch-btn.green.active { + color: rgba(0,255,65,1); + text-shadow: 0 0 10px rgba(0,255,65,1), 0 0 25px rgba(0,255,65,0.7), 0 0 50px rgba(0,255,65,0.3); + box-shadow: inset 0 2px 8px rgba(0,0,0,0.8), 0 0 16px rgba(0,255,65,0.2); +} + +/* Red variant — OVERDRIVE */ +.switch-btn.red { + color: rgba(255,40,10,0.75); + text-shadow: 0 0 6px rgba(255,20,0,0.7), 0 0 14px rgba(255,0,0,0.3); +} +.switch-btn.red:hover { + color: rgba(255,60,20,0.95); + text-shadow: 0 0 8px rgba(255,30,0,0.9), 0 0 22px rgba(255,0,0,0.6), 0 0 40px rgba(255,0,0,0.2); + box-shadow: inset 0 1px 0 rgba(255,220,80,0.1), 0 0 12px rgba(255,30,0,0.2), 0 2px 6px rgba(0,0,0,0.6); +} +.switch-btn.red:active, +.switch-btn.red.active { + color: rgba(255,60,20,1); + text-shadow: 0 0 10px rgba(255,40,0,1), 0 0 25px rgba(255,20,0,0.7), 0 0 50px rgba(255,0,0,0.3); + box-shadow: inset 0 2px 8px rgba(0,0,0,0.8), 0 0 18px rgba(255,30,0,0.25); + animation: blinker 0.4s step-end infinite; +} + +/* 4. GHOST MODE (Stealth & Invisibility) */ +body.mode-ghost #system-log { + opacity: 0.8; + transition: all 2s ease; + animation: ghost-pulse 4s infinite; + border-color: rgba(0, 255, 0, 0.3); +} + +body.mode-ghost .portfolio-grid { + filter: grayscale(1) brightness(0.5); + pointer-events: none; +} + +body.mode-ghost #terminal-input, +body.mode-ghost .prompt { + color: rgba(0, 255, 0, 0.8); /* Deutlich lesbar bleiben */ + text-shadow: 0 0 5px rgba(0, 255, 0, 0.5); +} + +@keyframes ghost-pulse { + 0% { opacity: 0.7; } + 50% { opacity: 1.0; } + 100% { opacity: 0.7; } +} + +#system-log { + background: #000; + border: 1px solid #333; + color: #0f0; + font-family: 'Courier New', monospace; + padding: 15px; + margin-top: 0; + min-height: 250px; + transition: height 0.5s cubic-bezier(0.4, 0, 0.2, 1); + display: flex; + flex-direction: column; + box-shadow: inset 0 0 10px #000; + overflow: hidden; +} + transition: min-height 0.55s cubic-bezier(0.4,0,0.2,1); +} + +#log-output { + flex-grow: 1; + overflow-y: auto; + font-size: 0.9rem; + display: flex; + flex-direction: column-reverse; +} + +.log-entry.ghost { + color: rgba(0, 255, 0, 0.4); + font-size: 0.75rem; + letter-spacing: 2px; + text-shadow: 0 0 5px rgba(0, 255, 0, 0.2); +} + +.log-entry.user-cmd { + color: var(--accent-orange); + font-weight: bold; +} + +.log-entry.info { color: var(--accent-gold); } +.log-entry.error { color: #f00; font-weight: bold; } +.log-entry.ok { color: #0f0; } +.log-entry.warn { color: #ff0; } + +.terminal-input-line { + display: flex; + border-top: 1px solid #111; + padding-top: 10px; + margin-top: 5px; +} + +.prompt { + color: #0f0; + margin-right: 10px; + font-weight: bold; +} + +#terminal-input { + background: transparent; + border: none; + color: #0f0; + font-family: 'Courier New', monospace; + width: 100%; + outline: none; + font-size: 0.9rem; +} + +/* CONTENT HEADER & FILTER */ +.content-header { + display: flex; + justify-content: space-between; + align-items: center; + border-bottom: 1px solid #333; + margin-bottom: 20px; + padding-bottom: 10px; +} + +.filter-controls { + display: flex; + gap: 10px; +} + +.filter-btn { + background: transparent; + border: 1px solid #444; + color: #888; + padding: 2px 8px; + font-family: 'Courier New', monospace; + font-size: 0.7rem; + cursor: pointer; + transition: all 0.2s; +} + +.filter-btn:hover, .filter-btn.active { + border-color: var(--accent-orange); + color: var(--accent-orange); +} + +/* CLASSIFICATION STAMP */ +.classification-stamp { + position: absolute; + top: 40px; + right: 40px; + border: 5px double rgba(255, 0, 0, 0.4); + color: rgba(255, 0, 0, 0.4); + padding: 10px 30px; + font-size: 1.8rem; + font-weight: 900; + text-transform: uppercase; + transform: rotate(12deg); + user-select: none; + pointer-events: none; + letter-spacing: 8px; + z-index: 5; + box-shadow: 0 0 10px rgba(255, 0, 0, 0.1); + background: rgba(255, 0, 0, 0.02); +} + +.classification-stamp::after { + content: "EYES ONLY"; + display: block; + font-size: 0.6rem; + text-align: center; + letter-spacing: 2px; + margin-top: 5px; + font-weight: 400; +} + +/* HERO GLITCH EFFECTS */ +.hero-image { + max-width: 750px; + width: 100%; + display: block; + margin: 20px auto; + border: 5px solid #3d2b1f; + box-shadow: 0 0 30px rgba(0,0,0,1); + transition: all 0.5s ease; +} + +body.mode-security .hero-image { + filter: sepia(1) saturate(5) hue-rotate(-50deg); + animation: shake 0.2s infinite; +} + +body.mode-anarchy .hero-image { + filter: invert(1) contrast(3); + /* Das Bild wird nicht mehr gnadenlos abgeschnitten, sondern erbt den Portfolio-Glitch Effekt */ + animation: portfolio-glitch 0.2s infinite; +} + +.mission-content img { + max-width: 500px; + width: 100%; + height: auto; + border: 2px solid #333; + margin: 30px auto; + filter: grayscale(0.5) contrast(1.2); + box-shadow: 0 0 20px rgba(0,0,0,0.5); + display: block; +} + +.image-caption { + font-size: 0.75rem; + color: var(--accent-gold); + text-transform: uppercase; + margin-top: -20px; + margin-bottom: 30px; + text-align: center; + letter-spacing: 2px; +} + +/* PORTFOLIO LINK & GRID */ + +.item-excerpt, .item-excerpt p { + font-size: 0.85rem; + color: #888; + margin: 5px 0 0 0; + line-height: 1.4; + text-decoration: none !important; +} + +/* FORTUNE TEASER */ +.fortune-teaser { + margin-top: 16px; + padding: 18px 24px; + border: 1px solid #2a2a2a; + border-left: 3px solid var(--accent-gold); + background: rgba(212, 175, 55, 0.03); + cursor: pointer; + transition: background 0.2s, border-color 0.2s; + display: flex; + align-items: baseline; + gap: 24px; + flex-wrap: wrap; +} + +.fortune-teaser:hover { + background: rgba(212, 175, 55, 0.07); + border-left-color: var(--accent-orange); +} + +.fortune-teaser-label { + color: #444; + font-size: 0.65rem; + letter-spacing: 2px; + white-space: nowrap; + flex-shrink: 0; +} + +.fortune-teaser-text { + color: #777; + font-size: 0.8rem; + margin: 0; + flex: 1; + line-height: 1.5; +} + +.fortune-teaser-text em { + color: var(--accent-gold); + font-style: normal; +} + +.fortune-teaser-hint { + color: #444; + font-size: 0.75rem; + white-space: nowrap; + flex-shrink: 0; +} + +.fortune-teaser-hint code { + color: var(--accent-gold); + font-family: 'Courier New', monospace; +} + +/* COMMAND CARDS */ +.cmd-cards-section { + display: grid; + grid-template-columns: repeat(3, 1fr); + gap: 20px; + margin-top: 40px; +} + +.cmd-card { + background: rgba(15, 15, 15, 0.9); + border: 1px solid #333; + border-top: 3px solid var(--accent-orange); + display: flex; + flex-direction: column; + transition: border-color 0.2s, box-shadow 0.2s; +} + +.cmd-card:hover { + border-color: var(--accent-gold); + box-shadow: 0 0 20px rgba(212, 175, 55, 0.25); +} + +.cmd-card-img { + width: 100%; + height: 180px; + object-fit: cover; + object-position: top; + filter: sepia(0.4) brightness(0.7); + display: block; +} + +.cmd-card-body { + padding: 18px; + display: flex; + flex-direction: column; + gap: 8px; + flex: 1; +} + +.cmd-card-label { + color: #555; + font-size: 0.65rem; + letter-spacing: 2px; +} + +.cmd-card-title { + color: var(--accent-orange); + font-size: 1.1rem; + margin: 0; + font-family: 'Courier New', monospace; + letter-spacing: 1px; +} + +.cmd-card-text { + color: #aaa; + font-size: 0.8rem; + line-height: 1.6; + margin: 0; + flex: 1; +} + +.cmd-card-hint { + display: block; + color: #444; + font-size: 0.7rem; + border-top: 1px solid #222; + padding-top: 10px; + margin-top: 4px; + letter-spacing: 1px; +} + +.cmd-card-hint code { + color: #0f0; + background: rgba(0,255,0,0.05); + padding: 1px 5px; + font-family: 'Courier New', monospace; +} + +@media (max-width: 768px) { + .cmd-cards-section { + grid-template-columns: 1fr; + } +} + +/* PORTFOLIO GRID */ +.portfolio-grid { + display: grid; + grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); + gap: 20px; + margin-top: 50px; +} + +.portfolio-item { + background: rgba(15, 15, 15, 0.9); + border: 1px solid #333; + padding: 25px 20px 20px 20px; + position: relative; + transition: all 0.3s; + height: 100%; + display: flex; + flex-direction: column; + justify-content: flex-start; +} + +.portfolio-link:hover .portfolio-item { + border-color: var(--accent-orange); + box-shadow: 0 0 25px rgba(255, 69, 0, 0.4); + animation: portfolio-glitch 0.3s infinite; + z-index: 10; +} + +@keyframes portfolio-glitch { + 0% { transform: translate(0, -5px) skew(0deg); filter: drop-shadow(2px 0 0 rgba(255,0,0,0.5)) drop-shadow(-2px 0 0 rgba(0,0,255,0.5)); } + 25% { transform: translate(-2px, -4px) skew(1deg); filter: drop-shadow(-2px 0 0 rgba(255,0,0,0.5)) drop-shadow(2px 0 0 rgba(0,0,255,0.5)); } + 50% { transform: translate(2px, -6px) skew(-1deg); filter: drop-shadow(2px 0 0 rgba(255,0,0,0.5)) drop-shadow(-2px 0 0 rgba(0,0,255,0.5)); } + 75% { transform: translate(-1px, -5px) skew(2deg); filter: drop-shadow(-2px 0 0 rgba(255,0,0,0.5)) drop-shadow(2px 0 0 rgba(0,0,255,0.5)); } + 100% { transform: translate(0, -5px) skew(0deg); filter: drop-shadow(2px 0 0 rgba(255,0,0,0.5)) drop-shadow(-2px 0 0 rgba(0,0,255,0.5)); } +} + +/* PROJECT THUMBNAILS (Evidence Photo Style) */ +.project-header-wrap { + display: flex; + align-items: center; + gap: 15px; + margin-bottom: 10px; + border-bottom: 1px solid #222; + padding-bottom: 15px; +} + +.project-thumb { + width: 60px; + height: 60px; + object-fit: cover; + border: 3px solid #eee; /* Polaroid Rand */ + filter: grayscale(1) contrast(1.2) sepia(0.3); + transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275); + transform: rotate(-3deg); + box-shadow: 2px 2px 5px rgba(0,0,0,0.5); + flex-shrink: 0; +} + +/* Klebestreifen oben links */ +.project-thumb::before { + content: ""; + position: absolute; + top: -10px; + left: 50%; + width: 30px; + height: 10px; + background: rgba(255, 255, 255, 0.1); + transform: translateX(-50%); + box-shadow: 0 0 5px rgba(0,0,0,0.2); +} + +.portfolio-link:hover .project-thumb { + filter: grayscale(0) contrast(1); + transform: rotate(0deg) scale(1.1); + border-color: var(--accent-gold); + box-shadow: 0 0 20px rgba(212, 175, 55, 0.4); +} + +.portfolio-item h3 { + color: var(--accent-gold); + margin: 0; + font-size: 1rem; + flex-grow: 1; + text-transform: uppercase; + letter-spacing: 1px; +} + +.status-tag { + font-size: 0.7rem; + background: #222; + padding: 2px 8px; + position: absolute; + top: 10px; + right: 10px; + border: 1px solid #444; + z-index: 10; +} + +.status-tag.stable { color: #0f0; border-color: #0f0; } +.status-tag.corrupted { color: #f00; border-color: #f00; animation: blinker 1s infinite; } + +/* --- TIMELINE MODAL --- */ +#timeline-modal { + position: fixed; top: 0; left: 0; width: 100%; height: 100%; + background: url('/img/steampunk_bg.png') center/cover no-repeat, rgba(15, 10, 5, 0.95); + background-blend-mode: multiply; + z-index: 20000; + overflow-y: auto; + padding: 40px 20px; + font-family: 'Courier New', monospace; + opacity: 1; transition: opacity 0.5s; + box-shadow: inset 0 0 100px #000; +} +#timeline-modal.timeline-hidden { + opacity: 0; pointer-events: none; +} +#close-timeline { + position: fixed; top: 20px; right: 30px; + background: rgba(0,0,0,0.5); color: var(--accent-orange); border: 2px solid var(--accent-orange); + padding: 10px 20px; font-weight: bold; cursor: pointer; z-index: 20001; + box-shadow: 0 0 10px rgba(255,69,0,0.5); + text-shadow: 0 0 5px #000; +} +#close-timeline:hover { background: var(--accent-orange); color: #000; } + +/* STEAMPUNK MIRROR PORTRAIT */ +.mutter-portrait-wrap { + text-align: center; + margin: 24px auto 8px; + position: relative; + width: fit-content; + cursor: zoom-in; + z-index: 1; +} +.mutter-mirror-frame { + display: inline-block; + position: relative; + padding: 18px; + background: radial-gradient(ellipse at center, rgba(212,175,55,0.08) 0%, transparent 70%); +} +.mutter-mirror-frame::before { + content: '⚙ ✦ ⚙ ✦ ⚙ ✦ ⚙'; + display: block; + text-align: center; + color: rgba(212,175,55,0.35); + font-size: 0.65rem; + letter-spacing: 6px; + margin-bottom: 6px; +} +.mutter-mirror-frame::after { + content: '⚙ ✦ ⚙ ✦ ⚙ ✦ ⚙'; + display: block; + text-align: center; + color: rgba(212,175,55,0.35); + font-size: 0.65rem; + letter-spacing: 6px; + margin-top: 6px; +} +.mutter-mirror-inner { + position: relative; + display: inline-block; + border-radius: 50%; + padding: 5px; + background: conic-gradient( + #3a2200 0deg, #b87333 30deg, #d4af37 60deg, #8b5e00 90deg, + #b87333 120deg, #5c3a21 150deg, #d4af37 180deg, #b87333 210deg, + #3a2200 240deg, #d4af37 270deg, #b87333 300deg, #5c3a21 330deg, + #3a2200 360deg + ); + box-shadow: + 0 0 0 2px rgba(212,175,55,0.15), + 0 0 12px rgba(184,115,51,0.3), + inset 0 0 6px rgba(0,0,0,0.5); + transition: + transform 0.42s cubic-bezier(0.34, 1.56, 0.64, 1), + box-shadow 0.35s; +} +.mutter-mirror-inner::before, +.mutter-mirror-inner::after { + content: ''; + position: absolute; + border-radius: 50%; + pointer-events: none; +} +.mutter-mirror-inner::before { + inset: -9px; + border: 1px dashed rgba(212,175,55,0.2); +} +.mutter-mirror-inner::after { + inset: -16px; + border: 1px solid rgba(184,115,51,0.12); +} +.mutter-mirror-img { + display: block; + width: 150px; + height: 150px; + border-radius: 50%; + object-fit: cover; + object-position: center 18%; + opacity: 0.6; + filter: sepia(0.35) brightness(0.82) contrast(1.05); + transition: opacity 0.35s, filter 0.35s; +} +.mutter-mirror-deco { + position: absolute; + color: rgba(212,175,55,0.4); + font-size: 1rem; + line-height: 1; + pointer-events: none; + transition: color 0.3s, text-shadow 0.3s; +} +.mutter-mirror-deco.top { top: 2px; left: 50%; transform: translateX(-50%); } +.mutter-mirror-deco.bottom { bottom: 2px; left: 50%; transform: translateX(-50%); } +.mutter-mirror-deco.left { left: 2px; top: 50%; transform: translateY(-50%); } +.mutter-mirror-deco.right { right: 2px; top: 50%; transform: translateY(-50%); } + +/* --- PORTRAIT HOVER EFFEKT --- */ +.mutter-portrait-wrap { + cursor: zoom-in; + position: relative; + z-index: 1; +} +.mutter-portrait-wrap:hover { + z-index: 5; +} +.mutter-portrait-wrap:hover .mutter-mirror-inner { + transform: scale(1.7); + box-shadow: + 0 0 0 3px rgba(212,175,55,0.3), + 0 0 30px rgba(184,115,51,0.7), + 0 0 65px rgba(212,175,55,0.3), + inset 0 0 8px rgba(0,0,0,0.5); +} +.mutter-portrait-wrap:hover .mutter-mirror-inner::before { + animation: portrait-ring-cw 1.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards; + border-color: rgba(212,175,55,0.5); +} +.mutter-portrait-wrap:hover .mutter-mirror-inner::after { + animation: portrait-ring-ccw 2s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards; + border-color: rgba(184,115,51,0.3); +} +@keyframes portrait-ring-cw { + from { transform: rotate(0deg); } + to { transform: rotate(210deg); } +} +@keyframes portrait-ring-ccw { + from { transform: rotate(0deg); } + to { transform: rotate(-150deg); } +} +.mutter-portrait-wrap:hover .mutter-mirror-img { + opacity: 0.88; + filter: sepia(0.1) brightness(0.95) contrast(1.1); +} +.mutter-portrait-wrap:hover .modal-portrait-placeholder { + filter: sepia(0) brightness(1.05); +} +.mutter-portrait-wrap:hover .mutter-mirror-deco { + color: rgba(212,175,55,0.9); + text-shadow: 0 0 10px rgba(212,175,55,0.7); +} + +.timeline-track { + position: relative; max-width: 800px; margin: 40px auto; +} +/* Kupferrohr in der Mitte */ +.timeline-track::after { + content: ''; position: absolute; + width: 8px; + background: linear-gradient(to right, #5c3a21 0%, #b87333 50%, #5c3a21 100%); + top: 0; bottom: 0; left: 50%; margin-left: -4px; + box-shadow: 2px 0 10px rgba(0,0,0,0.9); + border-radius: 4px; +} + +.time-node { + padding: 10px 40px; position: relative; background: inherit; width: 50%; box-sizing: border-box; +} +.time-node.left { left: 0; text-align: right; } +.time-node.right { left: 50%; text-align: left; } + +/* Nieten entlang der Mittellinie */ +.time-node.left::after, +.time-node.right::after { + content: ''; + position: absolute; + width: 18px; + height: 18px; + background: radial-gradient(circle at 35% 35%, #f0d070 0%, #b87333 40%, #5c3a21 80%, #2a1b0a 100%); + border: 2px solid #7a4a1a; + border-radius: 50%; + top: 50%; + transform: translateY(-50%); + z-index: 5; + box-shadow: + inset 0 2px 3px rgba(255,220,100,0.5), + inset 0 -2px 3px rgba(0,0,0,0.6), + 2px 3px 6px rgba(0,0,0,0.8), + 0 0 8px rgba(184,115,51,0.4); +} +.time-node.left::after { right: -8px; } +.time-node.right::after { left: -8px; } + +/* Omega-Niet leuchtend rot */ +.time-node.omega.left::after, +.time-node.omega.right::after { + border-color: #8b0000; + background: radial-gradient(circle at 35% 35%, #ff6040 0%, #cc1100 40%, #660000 80%, #1a0000 100%); + box-shadow: + inset 0 2px 3px rgba(255,120,80,0.5), + inset 0 -2px 3px rgba(0,0,0,0.7), + 2px 3px 6px rgba(0,0,0,0.8), + 0 0 12px #ff4500, + 0 0 25px rgba(255,69,0,0.6); + animation: omega-dot-pulse 0.8s infinite alternate ease-in-out; +} + +/* Steampunk Kästchen */ +.time-content { + padding: 25px; + background: linear-gradient(135deg, rgba(50, 30, 15, 0.95), rgba(20, 10, 5, 0.95)); + border: 2px solid #b5a642; + outline: 2px solid #2a1f18; /* Kabel-Base */ + outline-offset: 4px; + box-shadow: inset 0 0 20px rgba(0,0,0,0.8), 5px 5px 20px rgba(0,0,0,0.7); + position: relative; border-radius: 3px; +} +/* Subtile Kabelverschlaufung (Kupferdraht) um normale Boxen */ +.time-content::after { + content: ''; position: absolute; top: -6px; left: -6px; right: -6px; bottom: -6px; + border: 1px dashed #b87333; + border-radius: 5px; + pointer-events: none; + opacity: 0.6; + z-index: 2; +} + +/* Messing-Nieten in den Ecken */ +.time-content::before { + content: ''; position: absolute; width: 100%; height: 100%; left: 0; top: 0; pointer-events: none; + background-image: + radial-gradient(circle at 10px 10px, #b5a642 3px, transparent 4px), + radial-gradient(circle at calc(100% - 10px) 10px, #b5a642 3px, transparent 4px), + radial-gradient(circle at 10px calc(100% - 10px), #b5a642 3px, transparent 4px), + radial-gradient(circle at calc(100% - 10px) calc(100% - 10px), #b5a642 3px, transparent 4px); + opacity: 0.8; +} + +.time-content h3 { + margin-top: 8px; color: #d4af37; + border-bottom: 1px dashed #b5a642; + padding-bottom: 5px; + text-shadow: 1px 1px 2px #000; + font-size: 1.1rem; + letter-spacing: 2px; +} +.time-content p { font-size: 0.9rem; color: #e8dcc4; line-height: 1.5; text-shadow: 1px 1px 2px #000; margin-bottom: 0; } + +/* Akte-Kopfstreifen */ +.tc-header { + margin: -25px -25px 12px -25px; + padding: 5px 14px; + background: linear-gradient(90deg, rgba(181,166,66,0.15), rgba(181,166,66,0.05)); + border-bottom: 1px solid #b5a642; + font-size: 0.6rem; + letter-spacing: 2px; + color: #8a7a30; + text-transform: uppercase; +} + +.tc-stamp { + color: #b5a642; + border: 1px solid #b5a642; + padding: 0 5px; + font-size: 0.55rem; + letter-spacing: 3px; + vertical-align: middle; +} + +.tc-stamp.omega { + color: var(--accent-orange); + border-color: var(--accent-orange); + animation: blinker 1.2s infinite; +} + +/* Akte-Fußstreifen */ +.tc-footer { + margin: 12px -25px -25px -25px; + padding: 5px 14px; + background: linear-gradient(90deg, rgba(181,166,66,0.05), rgba(181,166,66,0.12)); + border-top: 1px solid #3a2e10; + font-size: 0.55rem; + letter-spacing: 2px; + color: #5a4e20; + text-transform: uppercase; +} + +/* OMEGA KNOTEN - Die Überraschung (Elektro-Arc) */ +.time-content.omega-node { + border-color: #ff4500; + outline: 2px solid #330000; + box-shadow: inset 0 0 30px rgba(255, 69, 0, 0.5), 0 0 30px rgba(255, 0, 0, 0.8); + background: linear-gradient(135deg, rgba(80, 20, 10, 0.95), rgba(30, 0, 0, 0.95)); + animation: omega-pulse 2s infinite alternate, omega-shake 0.5s infinite; +} +.time-content.omega-node::after { + content: ''; position: absolute; top: -8px; left: -8px; right: -8px; bottom: -8px; + border: 2px solid #0ff; /* Plasma cyan */ + border-radius: 6px; + box-shadow: 0 0 15px #0ff, inset 0 0 10px #0ff; + animation: electric-arc 0.15s infinite; + pointer-events: none; + opacity: 0.9; + z-index: 2; +} + +@keyframes omega-pulse { + 0% { box-shadow: inset 0 0 30px rgba(255, 69, 0, 0.4), 0 0 20px rgba(255, 0, 0, 0.6); } + 100% { box-shadow: inset 0 0 60px rgba(255, 69, 0, 0.9), 0 0 40px rgba(255, 0, 0, 1); } +} + +@keyframes omega-shake { + 0%, 100% { transform: translate(0, 0) rotate(0deg); } + 25% { transform: translate(0.5px, 0.5px) rotate(0.2deg); } + 50% { transform: translate(-0.5px, -0.5px) rotate(-0.2deg); } + 75% { transform: translate(0.5px, -0.5px) rotate(0.2deg); } +} + +@keyframes electric-arc { + 0% { clip-path: polygon(0 0, 100% 0, 100% 5%, 0 5%); border-color: #0ff; } + 25% { clip-path: polygon(95% 0, 100% 0, 100% 100%, 95% 100%); border-color: #fff; } + 50% { clip-path: polygon(0 95%, 100% 95%, 100% 100%, 0 100%); border-color: #0ff; } + 75% { clip-path: polygon(0 0, 5% 0, 5% 100%, 0 100%); border-color: #fff; } + 100% { clip-path: polygon(0 0, 100% 0, 100% 20%, 0 20%); border-color: #0ff; } +} + +@media screen and (max-width: 600px) { + .timeline-track::after { left: 31px; } + .time-node { width: 100%; padding-left: 70px; padding-right: 25px; } + .time-node.left { text-align: left; } + .time-node.right { left: 0; } + .time-node.left::after, .time-node.right::after { left: 19px; } +} + +/* --- PERSON NAV ROW (Timeline Modal) --- */ +.person-nav-row { + display: flex; + justify-content: center; + gap: 20px; + margin: 16px 0 28px; + flex-wrap: wrap; + padding: 0 16px; +} +.person-nav-item { + text-decoration: none; + display: flex; + flex-direction: column; + align-items: center; + gap: 6px; + position: relative; + z-index: 1; +} +.person-nav-item:hover { + z-index: 10; +} +.person-nav-portrait { + width: 90px; + height: 90px; + border-radius: 50%; + background: radial-gradient(circle at 38% 38%, rgba(212,175,55,0.14) 0%, rgba(0,0,0,0.9) 70%); + border: 2px solid rgba(212,175,55,0.22); + box-shadow: 0 0 0 4px rgba(212,175,55,0.04), 0 0 14px rgba(212,175,55,0.05); + display: flex; + align-items: center; + justify-content: center; + font-size: 1.5rem; + color: rgba(212,175,55,0.32); + font-family: 'Courier New', monospace; + letter-spacing: 1px; + filter: sepia(0.2); + position: relative; + transform-origin: center bottom; + transition: + transform 0.38s cubic-bezier(0.34, 1.56, 0.64, 1), + border-color 0.25s, + box-shadow 0.25s, + color 0.25s, + filter 0.25s; + overflow: hidden; +} +.person-nav-portrait img { + width: 100%; + height: 100%; + object-fit: cover; + transition: transform 0.3s ease; +} +.comic-zoom-trigger { + cursor: zoom-in; +} +@keyframes comicBounce { + 0%, 100% { transform: translateY(0) scale(2.2); } + 50% { transform: translateY(-8px) scale(2.3); } +} +/* Innerer rotierender Ring */ +.person-nav-portrait::before { + content: ''; + position: absolute; + inset: -8px; + border-radius: 50%; + border: 1px dashed rgba(212,175,55,0.15); + pointer-events: none; + transition: transform 0.6s ease, border-color 0.3s, opacity 0.3s; + opacity: 0.4; +} +/* Äußerer rotierender Ring */ +.person-nav-portrait::after { + content: ''; + position: absolute; + inset: -16px; + border-radius: 50%; + border: 1px solid rgba(212,175,55,0.07); + pointer-events: none; + transition: transform 0.9s ease, border-color 0.3s, opacity 0.3s; + opacity: 0.25; +} +.person-nav-item:hover .person-nav-portrait { + transform: scale(2.2); + animation: comicBounce 0.6s infinite alternate ease-in-out; + border-color: rgba(212,175,55,0.7); + box-shadow: + 0 0 0 3px rgba(212,175,55,0.08), + 0 0 25px rgba(212,175,55,0.6), + 0 0 60px rgba(212,175,55,0.3), + inset 0 0 14px rgba(212,175,55,0.06); + color: rgba(212,175,55,0.92); + filter: sepia(0) brightness(1.1) contrast(1.05); +} +.person-nav-item:hover .person-nav-portrait::before { + transform: rotate(135deg); + border-color: rgba(212,175,55,0.4); + opacity: 0.85; +} +.person-nav-item:hover .person-nav-portrait::after { + transform: rotate(-90deg); + border-color: rgba(212,175,55,0.22); + opacity: 0.65; +} +.person-nav-label { + font-size: 0.8rem; + font-weight: bold; + letter-spacing: 2px; + color: rgba(212,175,55,0.6); + font-family: 'Courier New', monospace; + text-transform: uppercase; + text-decoration: underline; + text-underline-offset: 4px; + text-decoration-color: rgba(212,175,55,0.2); + transition: all 0.25s ease; +} +.person-nav-item:hover .person-nav-label { + color: var(--accent-gold); + text-decoration-color: var(--accent-gold); + text-shadow: 0 0 8px rgba(212,175,55,0.4); +} +.person-nav-item.active .person-nav-portrait { + border-color: rgba(212,175,55,0.7); + box-shadow: 0 0 0 4px rgba(212,175,55,0.08), 0 0 24px rgba(212,175,55,0.2); + color: rgba(212,175,55,0.85); + filter: sepia(0); +} +.person-nav-item.active .person-nav-label { + color: rgba(212,175,55,0.7); +} + +/* Modal portrait placeholder circle */ +.modal-portrait-placeholder { + width: 150px; + height: 150px; + border-radius: 50%; + background: radial-gradient(circle at 38% 38%, rgba(212,175,55,0.18) 0%, rgba(30,20,5,0.95) 65%); + display: flex; + align-items: center; + justify-content: center; + flex-direction: column; + gap: 5px; + filter: sepia(0.2); +} +.modal-portrait-placeholder span:first-child { + font-size: 3rem; + color: rgba(212,175,55,0.38); + font-family: 'Courier New', monospace; + line-height: 1; +} +.modal-portrait-hint { + font-size: 0.42rem; + letter-spacing: 3px; + color: rgba(212,175,55,0.2); + font-family: 'Courier New', monospace; +} + +/* TIME WARP GLITCH */ +body.mode-time-warp { + animation: shake 0.1s infinite; + filter: sepia(100%) hue-rotate(-20deg) contrast(200%) brightness(0.8) blur(1px); +} + +/* --- ANTIGRAVITY PHASE --- */ +:root { + --ag-float-duration: 6s; + --ag-drift-offset: 15px; +} + +.ag-floating { + animation: ag-float var(--ag-float-duration) ease-in-out infinite; + will-change: transform; + transform: translateZ(0); /* Force GPU Acceleration for M4 */ +} + +@keyframes ag-float { + 0%, 100% { + transform: translateY(0) translateZ(0); + } + 50% { + transform: translateY(calc(-1 * var(--ag-drift-offset))) translateZ(0); + } +} + +.ag-parallax-layer { + transition: transform 0.1s cubic-bezier(0.2, 0.8, 0.2, 1); + will-change: transform; +} + +.ag-weightless { + opacity: 0.85; + filter: blur(0.5px); + transition: all 0.5s ease; +} + +.ag-weightless:hover { + opacity: 1; + filter: blur(0); + transform: scale(1.02) translateZ(0); +} + +/* ═══════════════════════════════════════ + OPS DASHBOARD SIGN +═══════════════════════════════════════ */ +#ops-dashboard-sign { + margin-top: 30px; + margin-bottom: 0; + cursor: pointer; + border: 1px solid rgba(255,69,0,0.4); + border-bottom: none; + background: linear-gradient(180deg, rgba(20,5,0,0.95) 0%, rgba(10,2,0,0.98) 100%); + padding: 10px 16px 12px; + position: relative; + overflow: hidden; + transition: border-color 0.3s, box-shadow 0.3s; + box-shadow: 0 0 18px rgba(255,69,0,0.08), inset 0 0 30px rgba(0,0,0,0.5); +} +#ops-dashboard-sign::before { + content: ''; + position: absolute; + inset: 0; + background: repeating-linear-gradient( + 0deg, + transparent, + transparent 3px, + rgba(255,69,0,0.015) 3px, + rgba(255,69,0,0.015) 4px + ); + pointer-events: none; +} +#ops-dashboard-sign:hover { + border-color: rgba(255,69,0,0.7); + box-shadow: 0 0 28px rgba(255,69,0,0.18), inset 0 0 20px rgba(255,40,0,0.05); +} +.ops-sign-header { + display: flex; + align-items: center; + justify-content: center; + gap: 10px; + margin-bottom: 8px; +} +.ops-title { + font-size: 0.7rem; + letter-spacing: 4px; + color: rgba(255,100,0,0.7); + text-transform: uppercase; +} +.ops-blink-dot { + width: 6px; + height: 6px; + border-radius: 50%; + background: #ff2200; + display: inline-block; + animation: blinker 1.1s step-end infinite; + box-shadow: 0 0 5px #ff2200; +} +.ops-blink-dot:last-child { animation-delay: 0.55s; } +.ops-sign-stats { + display: flex; + align-items: center; + justify-content: center; + gap: 14px; + flex-wrap: wrap; +} +.ops-stat-block { + display: flex; + flex-direction: column; + align-items: center; + gap: 1px; +} +.ops-stat-label { + font-size: 0.5rem; + letter-spacing: 3px; + color: rgba(255,69,0,0.4); + text-transform: uppercase; +} +.ops-tally { + font-size: 1.1rem; + letter-spacing: 2px; + color: rgba(255,69,0,0.55); + line-height: 1; +} +.ops-stat-val { + font-size: 0.85rem; + letter-spacing: 2px; + color: rgba(200,200,200,0.6); +} +.ops-stat-val.ops-warn { color: rgba(255,200,0,0.65); } +.ops-stat-val.ops-crit { color: rgba(255,50,0,0.7); animation: blinker 2s infinite; } +.ops-divider { + color: rgba(255,69,0,0.2); + font-size: 0.7rem; + margin-top: 8px; +} +.ops-sign-hint { + text-align: center; + margin-top: 8px; + font-size: 0.55rem; + letter-spacing: 4px; + color: rgba(255,69,0,0.3); + transition: color 0.3s; +} +#ops-dashboard-sign:hover .ops-sign-hint { color: rgba(255,69,0,0.6); } + +/* ═══════════════════════════════════════ + OPS PANEL (inside terminal, expandable) +═══════════════════════════════════════ */ +#ops-panel { + max-height: 0; + overflow: hidden; + transition: max-height 0.55s cubic-bezier(0.4, 0, 0.2, 1); + border-bottom: 0px solid rgba(255,69,0,0); +} +#ops-panel.ops-open { + max-height: 420px; + border-bottom: 1px solid rgba(255,69,0,0.2); + margin-bottom: 10px; +} +#ops-panel-vitals { + padding: 6px 0 2px; + font-size: 0.7rem; + letter-spacing: 1px; + color: rgba(255,60,0,0.5); + white-space: pre; + overflow: hidden; + text-align: center; +} +#ops-panel-log { + padding: 4px 0 8px; + font-size: 0.72rem; + line-height: 1.6; + color: rgba(200,180,130,0.75); + white-space: pre; + overflow-y: auto; + max-height: 340px; +} +#ops-panel-log .ops-line-section { color: rgba(255,69,0,0.55); } +#ops-panel-log .ops-line-label { color: rgba(212,175,55,0.6); } +#ops-panel-log .ops-line-crit { color: rgba(255,40,0,0.8); } +#ops-panel-log .ops-line-ok { color: rgba(0,220,80,0.6); } +#ops-panel-log .ops-line-dim { color: rgba(120,120,120,0.5); } + +@keyframes vitals-scan { + 0% { content: 'VITALMONITOR ▁▂▃▂▁▃▂▁▁▁▁▁▁▁▁▁▁▁▁▁ FLATLINE'; } + 20% { content: 'VITALMONITOR ▁▁▂▃▂▁▃▂▁▁▁▁▁▁▁▁▁▁▁▁ FLATLINE'; } + 40% { content: 'VITALMONITOR ▁▁▁▂▃▂▁▃▂▁▁▁▁▁▁▁▁▁▁▁ FLATLINE'; } + 60% { content: 'VITALMONITOR ▁▁▁▁▂▃▂▁▃▂▁▁▁▁▁▁▁▁▁▁ FLATLINE'; } + 80% { content: 'VITALMONITOR ▁▁▁▁▁▂▃▂▁▃▂▁▁▁▁▁▁▁▁▁ FLATLINE'; } + 100% { content: 'VITALMONITOR ▁▁▁▁▁▁▂▃▂▁▃▂▁▁▁▁▁▁▁▁ FLATLINE'; } +} + +/* terminal expands when ops panel is open */ +.terminal-wrapper.ops-expanded #system-log { + transition: min-height 0.55s cubic-bezier(0.4,0,0.2,1); +} + +/* ═══════════════════════════════════════ + GÄSTEBUCH +═══════════════════════════════════════ */ +.gaestebuch-wrap { + margin-top: 30px; + border: 1px solid rgba(212,175,55,0.2); + background: rgba(5,3,0,0.97); + padding: 24px 20px 20px; + position: relative; + overflow: hidden; +} +.gaestebuch-wrap::before { + content: ''; + position: absolute; + inset: 0; + background: repeating-linear-gradient( + 0deg, transparent, transparent 5px, + rgba(212,175,55,0.012) 5px, rgba(212,175,55,0.012) 6px + ); + pointer-events: none; +} +.gaestebuch-header { + display: flex; + align-items: center; + justify-content: center; + gap: 12px; + margin-bottom: 6px; +} +.gaestebuch-title { + font-size: 0.75rem; + letter-spacing: 4px; + color: rgba(212,175,55,0.55); + text-transform: uppercase; + margin: 0; + font-weight: normal; +} +.gaestebuch-led { + width: 5px; height: 5px; + border-radius: 50%; + background: var(--accent-gold); + opacity: 0.6; + animation: blinker 2.2s step-end infinite; + box-shadow: 0 0 4px var(--accent-gold); +} +.gaestebuch-sub { + text-align: center; + font-size: 0.65rem; + letter-spacing: 2px; + color: rgba(150,130,80,0.45); + margin: 0 0 20px; +} +.gaestebuch-entries { + display: flex; + flex-direction: column; + gap: 0; +} +.gb-entry { + border-top: 1px solid rgba(212,175,55,0.08); + padding: 14px 4px 14px 12px; + position: relative; + transition: background 0.2s; +} +.gb-entry:hover { + background: rgba(212,175,55,0.025); +} +.gb-entry::before { + content: '>'; + position: absolute; + left: 0; + top: 16px; + color: rgba(212,175,55,0.2); + font-size: 0.7rem; +} +.gb-entry.gb-new { + animation: gb-fadeIn 0.6s ease forwards; +} +@keyframes gb-fadeIn { + from { opacity: 0; transform: translateY(-6px); background: rgba(212,175,55,0.06); } + to { opacity: 1; transform: translateY(0); background: transparent; } +} +.gb-meta { + display: flex; + align-items: center; + flex-wrap: wrap; + gap: 8px; + margin-bottom: 5px; +} +.gb-user { + font-size: 0.72rem; + letter-spacing: 2px; + color: var(--accent-gold); + opacity: 0.75; +} +.gb-dot { color: rgba(212,175,55,0.2); font-size: 0.5rem; } +.gb-date { + font-size: 0.6rem; + letter-spacing: 1px; + color: rgba(150,130,80,0.45); +} +.gb-tag { + font-size: 0.5rem; + letter-spacing: 2px; + border: 1px solid rgba(212,175,55,0.2); + color: rgba(212,175,55,0.35); + padding: 1px 6px; + text-transform: uppercase; + margin-left: auto; +} +.gb-tag.gb-tag-warn { border-color: rgba(255,180,0,0.25); color: rgba(255,180,0,0.4); } +.gb-tag.gb-tag-ok { border-color: rgba(0,200,80,0.2); color: rgba(0,200,80,0.4); } +.gb-tag.gb-tag-crit { border-color: rgba(255,50,0,0.25); color: rgba(255,80,0,0.45); } +.gb-text { + font-size: 0.8rem; + line-height: 1.6; + color: rgba(190,180,150,0.65); + margin: 0; + padding-left: 2px; +} + +/* Form */ +.gb-form-wrap { + margin-top: 20px; + border-top: 1px solid rgba(212,175,55,0.12); + padding-top: 16px; +} +.gb-form-header { + font-size: 0.6rem; + letter-spacing: 4px; + color: rgba(212,175,55,0.35); + margin-bottom: 12px; +} +.gb-form { + display: flex; + flex-direction: column; + gap: 8px; +} +.gb-input { + background: rgba(0,0,0,0.6); + border: 1px solid rgba(212,175,55,0.15); + color: rgba(200,185,140,0.8); + font-family: 'Courier New', monospace; + font-size: 0.78rem; + padding: 8px 12px; + outline: none; + transition: border-color 0.2s; + resize: none; +} +.gb-input:focus { border-color: rgba(212,175,55,0.4); } +.gb-input::placeholder { color: rgba(150,130,80,0.35); } +.gb-textarea { min-height: 70px; } +.gb-btn { + align-self: flex-start; + background: transparent; + border: 1px solid rgba(212,175,55,0.3); + color: rgba(212,175,55,0.6); + font-family: 'Courier New', monospace; + font-size: 0.7rem; + letter-spacing: 3px; + padding: 6px 16px; + cursor: pointer; + transition: all 0.2s; +} +.gb-btn:hover { + border-color: rgba(212,175,55,0.7); + color: rgba(212,175,55,0.9); + background: rgba(212,175,55,0.05); +} + +/* ═══════════════════════════════════════ + PERSONEN-AKTE +═══════════════════════════════════════ */ +.akte-trigger-btn { + background: linear-gradient(135deg, #3d2b1f 0%, #1a110a 100%); + border: 2px solid #b87333; + border-radius: 3px; + color: #d4af37; + font-family: 'Courier New', monospace; + font-size: 0.8rem; + font-weight: bold; + letter-spacing: 1px; + padding: 10px 22px; + cursor: pointer; + transition: all 0.3s; + text-transform: uppercase; + white-space: nowrap; + position: relative; + box-shadow: + inset 0 0 10px rgba(0,0,0,0.8), + 0 4px 8px rgba(0,0,0,0.5); + text-shadow: 1px 1px 2px rgba(0,0,0,0.9); + overflow: hidden; +} +.akte-trigger-btn::before, .akte-trigger-btn::after { + content: '•'; + position: absolute; + font-size: 10px; + color: rgba(184, 115, 51, 0.6); +} +.akte-trigger-btn::before { top: 2px; left: 4px; } +.akte-trigger-btn::after { bottom: 2px; right: 4px; } + +.akte-trigger-btn:hover { + border-color: #ff4500; + color: #ff4500; + box-shadow: + inset 0 0 15px rgba(255, 69, 0, 0.2), + 0 0 20px rgba(255, 69, 0, 0.2); + transform: translateY(-2px); +} +.akte-footer-row { + display: flex; + flex-wrap: wrap; + justify-content: center; + gap: 10px; + margin: 50px 0 20px; + padding: 0 20px; + position: relative; + z-index: 5000; +} +@media (max-width: 600px) { + .akte-footer-row { gap: 6px; } + .akte-trigger-btn { font-size: 0.55rem; padding: 5px 8px; letter-spacing: 1px; } +} +.akte-hidden { display: none !important; } +.akte-modal { + position: fixed; + inset: 0; + z-index: 30000; + background: rgba(0,0,0,0.92); + overflow-y: auto; + display: flex; + align-items: flex-start; + justify-content: center; + padding: 40px 16px 60px; + backdrop-filter: blur(3px); +} +.akte-inner { + width: 100%; + max-width: 700px; + background: #0a0800; + border: 1px solid rgba(212,175,55,0.25); + padding: 30px 28px 28px; + position: relative; + box-shadow: 0 0 60px rgba(212,175,55,0.08); +} +.akte-inner::before { + content: ''; + position: absolute; + inset: 0; + background: repeating-linear-gradient( + 0deg, transparent, transparent 4px, + rgba(212,175,55,0.012) 4px, rgba(212,175,55,0.012) 5px + ); + pointer-events: none; +} +.akte-close-btn { + position: absolute; + top: 14px; right: 14px; + background: transparent; + border: 1px solid rgba(255,69,0,0.4); + color: rgba(255,69,0,0.6); + font-family: 'Courier New', monospace; + font-size: 0.65rem; + letter-spacing: 2px; + padding: 4px 10px; + cursor: pointer; + transition: all 0.2s; +} +.akte-close-btn:hover { background: rgba(255,69,0,0.1); color: #ff4500; } +.akte-stamp { + font-size: 0.65rem; + letter-spacing: 5px; + text-transform: uppercase; + padding: 3px 10px; + display: inline-block; + font-weight: bold; +} +.akte-stamp-top { + border: 2px solid rgba(255,69,0,0.4); + color: rgba(255,69,0,0.4); + margin-bottom: 20px; + transform: rotate(-1.5deg); + display: block; + width: fit-content; +} +.akte-stamp-red { + border: 2px solid rgba(255,0,0,0.5); + color: rgba(255,0,0,0.55); + transform: rotate(-2deg); +} +.akte-stamp-gold { + border: 2px solid rgba(212,175,55,0.35); + color: rgba(212,175,55,0.4); + transform: rotate(1deg); +} +.akte-header-row { + display: flex; + gap: 24px; + margin-bottom: 22px; + align-items: flex-start; + flex-wrap: wrap; +} +.akte-photo-wrap { + position: relative; + flex-shrink: 0; +} +.akte-photo { + width: 110px; + height: 130px; + object-fit: cover; + object-position: top; + filter: sepia(0.5) brightness(0.75) contrast(1.1); + display: block; + border: 1px solid rgba(212,175,55,0.2); +} +.akte-photo-stamp { + position: absolute; + inset: 0; + display: flex; + align-items: center; + justify-content: center; + font-size: 0.7rem; + letter-spacing: 4px; + color: rgba(255,0,0,0.7); + border: 2px solid rgba(255,0,0,0.5); + transform: rotate(-8deg); + pointer-events: none; + font-weight: bold; +} +.akte-title-block { flex: 1; min-width: 200px; } +.akte-nr { + font-size: 0.55rem; + letter-spacing: 3px; + color: rgba(212,175,55,0.4); + margin-bottom: 8px; +} +.akte-name { + font-size: 1.4rem; + letter-spacing: 4px; + color: rgba(212,175,55,0.8); + margin: 0 0 6px; + text-transform: uppercase; +} +.akte-alias { + font-size: 0.6rem; + letter-spacing: 2px; + color: rgba(180,160,100,0.5); + margin-bottom: 12px; +} +.akte-status-row { display: flex; gap: 8px; flex-wrap: wrap; } +.akte-badge { + font-size: 0.55rem; + letter-spacing: 2px; + padding: 2px 8px; + border: 1px solid; + text-transform: uppercase; +} +.akte-badge-warn { border-color: rgba(255,180,0,0.3); color: rgba(255,180,0,0.55); } +.akte-badge-crit { border-color: rgba(255,50,0,0.3); color: rgba(255,80,0,0.55); } +.akte-table { + width: 100%; + border-collapse: collapse; + margin-bottom: 20px; + font-size: 0.75rem; +} +.akte-table tr { border-top: 1px solid rgba(212,175,55,0.07); } +.akte-table td { padding: 7px 6px; color: rgba(190,180,150,0.65); vertical-align: top; } +.akte-key { + color: rgba(212,175,55,0.45) !important; + letter-spacing: 1px; + font-size: 0.65rem !important; + white-space: nowrap; + padding-right: 16px !important; + width: 1%; +} +.akte-redact { + background: rgba(20,20,20,0.95); + color: rgba(20,20,20,0.95); + border-bottom: 1px solid rgba(80,80,80,0.3); + user-select: none; + font-size: 0.7rem; +} +.akte-fingerprint-row { + display: flex; + align-items: flex-end; + justify-content: space-between; + flex-wrap: wrap; + gap: 16px; + margin-top: 10px; +} +.akte-fp { display: flex; align-items: center; gap: 12px; } +.akte-fp-inner { + width: 54px; height: 70px; + border-radius: 45% 45% 48% 48% / 40% 40% 60% 60%; + border: 1px solid rgba(212,175,55,0.25); + position: relative; + overflow: hidden; + flex-shrink: 0; +} +.akte-fp-inner::before { + content: ''; + position: absolute; + inset: -4px; + background: repeating-radial-gradient( + ellipse at 50% 60%, + transparent 0px, transparent 3px, + rgba(212,175,55,0.12) 3px, rgba(212,175,55,0.12) 4px + ); +} +.akte-fp-label { + font-size: 0.55rem; + letter-spacing: 1px; + color: rgba(212,175,55,0.35); + line-height: 1.7; +} +.akte-bottom-stamps { + display: flex; + flex-direction: column; + gap: 8px; + align-items: flex-end; +} + +/* ═══════════════════════════════════════ + SYSTEM STATUS WIDGET +═══════════════════════════════════════ */ +#sys-widget { + position: fixed; + right: 16px; + top: 50%; + transform: translateY(-50%); + z-index: 9000; + background: rgba(0,0,0,0.88); + border: 1px solid rgba(0,255,65,0.15); + padding: 10px 12px; + width: 130px; + box-shadow: 0 0 20px rgba(0,255,65,0.05); + backdrop-filter: blur(4px); +} +.sys-widget-header { + font-size: 0.55rem; + letter-spacing: 3px; + color: rgba(0,255,65,0.35); + margin-bottom: 10px; + text-align: center; +} +.sys-metric { + display: flex; + align-items: center; + gap: 5px; + margin-bottom: 7px; +} +.sys-label { + font-size: 0.5rem; + letter-spacing: 1px; + color: rgba(0,255,65,0.4); + width: 36px; + flex-shrink: 0; +} +.sys-bar-wrap { + flex: 1; + height: 4px; + background: rgba(255,255,255,0.05); + overflow: hidden; +} +.sys-bar { + height: 100%; + background: rgba(0,255,65,0.5); + width: 0%; + transition: width 0.8s ease; +} +.sys-bar-gold { background: rgba(212,175,55,0.55); } +.sys-bar-red { background: rgba(255,69,0,0.55); } +.sys-bar-cyan { background: rgba(0,200,255,0.5); } +.sys-val { + font-size: 0.5rem; + color: rgba(0,255,65,0.45); + width: 26px; + text-align: right; + flex-shrink: 0; +} + +/* ═══════════════════════════════════════ + NEWSTICKER +═══════════════════════════════════════ */ +#newsticker { + position: fixed; + bottom: 0; left: 0; right: 0; + z-index: 9500; + background: rgba(0,0,0,0.92); + border-top: 1px solid rgba(255,69,0,0.2); + display: flex; + align-items: center; + height: 26px; + overflow: hidden; +} +.ticker-label { + flex-shrink: 0; + font-size: 0.55rem; + letter-spacing: 3px; + color: rgba(255,69,0,0.6); + padding: 0 12px; + border-right: 1px solid rgba(255,69,0,0.2); + white-space: nowrap; + height: 100%; + display: flex; + align-items: center; + background: rgba(255,69,0,0.04); +} +.ticker-track-wrap { + flex: 1; + overflow: hidden; + height: 100%; + display: flex; + align-items: center; +} +.ticker-track { + display: inline-flex; + gap: 0; + white-space: nowrap; + animation: ticker-scroll 60s linear infinite; +} +.ticker-track:hover { animation-play-state: paused; } +@keyframes ticker-scroll { + 0% { transform: translateX(0); } + 100% { transform: translateX(-50%); } +} +.ticker-item { + font-size: 0.6rem; + letter-spacing: 1px; + color: rgba(200,180,130,0.55); + padding: 0 28px; +} +.ticker-item::before { + content: '▶ '; + color: rgba(255,69,0,0.4); +} +.ticker-item.ticker-warn { color: rgba(255,180,0,0.6); } +.ticker-item.ticker-crit { color: rgba(255,60,0,0.65); } +/* Etwas Abstand für den Ticker am Seitenende */ +footer { padding-bottom: 30px; } + +/* ═══════════════════════════════════════ + MAC NERDS PAGE +═══════════════════════════════════════ */ +.mac-nerds-page { background: #050500; } +.mn-container { max-width: 960px; margin: 0 auto; padding: 30px 16px 60px; } + +.mn-header { margin-bottom: 30px; } +.mn-back { + display: inline-block; + font-size: 0.65rem; + letter-spacing: 3px; + color: rgba(255,69,0,0.45); + text-decoration: none; + margin-bottom: 20px; + transition: color 0.2s; +} +.mn-back:hover { color: rgba(255,69,0,0.8); } +.mn-title { + font-size: 2.2rem; + letter-spacing: 8px; + color: var(--accent-orange); + margin: 0 0 8px; + text-shadow: 0 0 30px rgba(255,69,0,0.3); +} +.mn-subtitle { + font-size: 0.7rem; + letter-spacing: 2px; + color: rgba(150,130,80,0.5); + margin: 0 0 14px; +} +.mn-warning { + display: inline-block; + font-size: 0.6rem; + letter-spacing: 2px; + border: 1px dashed rgba(255,180,0,0.3); + color: rgba(255,180,0,0.5); + padding: 4px 12px; +} + +/* Filter */ +.mn-filter-bar { + display: flex; + gap: 6px; + flex-wrap: wrap; + margin-bottom: 24px; + border-bottom: 1px solid rgba(255,69,0,0.1); + padding-bottom: 16px; +} +.mn-filter { + background: transparent; + border: 1px solid rgba(255,69,0,0.2); + color: rgba(255,100,0,0.4); + font-family: 'Courier New', monospace; + font-size: 0.6rem; + letter-spacing: 2px; + padding: 4px 12px; + cursor: pointer; + transition: all 0.2s; +} +.mn-filter:hover, .mn-filter.active { + border-color: rgba(255,69,0,0.6); + color: rgba(255,100,0,0.85); + background: rgba(255,69,0,0.05); +} + +/* Grid */ +.mn-grid { + display: grid; + grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); + gap: 12px; +} + +/* Card */ +.mn-card { + background: rgba(8,5,0,0.95); + border: 1px solid rgba(255,69,0,0.12); + padding: 16px; + transition: border-color 0.2s, box-shadow 0.2s; + display: flex; + flex-direction: column; + gap: 8px; +} +.mn-card:hover { + border-color: rgba(255,69,0,0.3); + box-shadow: 0 0 16px rgba(255,69,0,0.06); +} +.mn-card-meta { + display: flex; + align-items: center; + justify-content: space-between; +} +.mn-cat-tag { + font-size: 0.5rem; + letter-spacing: 3px; + color: rgba(212,175,55,0.4); + border: 1px solid rgba(212,175,55,0.15); + padding: 1px 6px; +} +.mn-risk { + font-size: 0.5rem; + letter-spacing: 2px; + padding: 1px 6px; + border: 1px solid; +} +.mn-risk-safe { border-color: rgba(0,200,80,0.2); color: rgba(0,200,80,0.45); } +.mn-risk-caution { border-color: rgba(255,180,0,0.3); color: rgba(255,180,0,0.55); animation: blinker 2s infinite; } + +.mn-card-title { + font-size: 0.9rem; + letter-spacing: 1px; + color: rgba(220,200,150,0.8); + margin: 0; + font-weight: normal; +} +.mn-card-desc { + font-size: 0.72rem; + line-height: 1.55; + color: rgba(160,150,120,0.6); + margin: 0; + flex: 1; +} + +/* Command block */ +.mn-cmd-block { + display: flex; + align-items: stretch; + gap: 0; + border: 1px solid rgba(0,255,65,0.12); + background: rgba(0,0,0,0.5); + margin-top: 4px; +} +.mn-cmd-code { + flex: 1; + font-family: 'Courier New', monospace; + font-size: 0.68rem; + color: rgba(0,255,65,0.7); + padding: 8px 10px; + word-break: break-all; + line-height: 1.5; + letter-spacing: 0.3px; +} +.mn-copy-btn { + flex-shrink: 0; + background: transparent; + border: none; + border-left: 1px solid rgba(0,255,65,0.12); + color: rgba(0,255,65,0.35); + font-family: 'Courier New', monospace; + font-size: 0.55rem; + letter-spacing: 2px; + padding: 0 10px; + cursor: pointer; + transition: all 0.2s; + white-space: nowrap; +} +.mn-copy-btn:hover { background: rgba(0,255,65,0.05); color: rgba(0,255,65,0.8); } +.mn-copy-btn.mn-copy-ok { color: rgba(0,255,65,1); background: rgba(0,255,65,0.08); } + +/* --- DEEP SCAN MODE --- */ +body.mode-scan { + filter: hue-rotate(180deg) brightness(1.2) contrast(1.5); +} + +body.mode-scan::after { + content: ""; + position: fixed; + top: -100%; + left: 0; + width: 100%; + height: 100px; + background: linear-gradient(to bottom, transparent, rgba(0, 255, 255, 0.2), transparent); + z-index: 100000; + pointer-events: none; + animation: scan-line 4s linear infinite; +} + +@keyframes scan-line { + 0% { top: -100px; } + 100% { top: 100%; } +} + +/* --- BACKGROUND GEARS --- */ +.bg-gear { + position: fixed; + z-index: -2; + color: rgba(212, 175, 55, 0.03); + font-size: 600px; + pointer-events: none; + user-select: none; + line-height: 1; +} + +.gear-left { + top: -100px; + left: -200px; + animation: rotate-slow 60s linear infinite; +} + +.gear-right { + bottom: -150px; + right: -250px; + animation: rotate-slow-reverse 80s linear infinite; +} + +@keyframes rotate-slow { + from { transform: rotate(0deg); } + to { transform: rotate(360deg); } +} + +@keyframes rotate-slow-reverse { + from { transform: rotate(360deg); } + to { transform: rotate(0deg); } +} diff --git a/static/img/.DS_Store b/static/img/.DS_Store new file mode 100644 index 0000000..df36654 Binary files /dev/null and b/static/img/.DS_Store differ diff --git a/static/img/akte/hp_totenkopf_1.png b/static/img/akte/hp_totenkopf_1.png new file mode 100644 index 0000000..756fa2e Binary files /dev/null and b/static/img/akte/hp_totenkopf_1.png differ diff --git a/static/img/comicFigures/hp_freddy_leni_comic_1.jpeg b/static/img/comicFigures/hp_freddy_leni_comic_1.jpeg new file mode 100644 index 0000000..0d75b60 Binary files /dev/null and b/static/img/comicFigures/hp_freddy_leni_comic_1.jpeg differ diff --git a/static/img/comicFigures/hp_freddy_leni_comic_big_1.png b/static/img/comicFigures/hp_freddy_leni_comic_big_1.png new file mode 100644 index 0000000..02a202e Binary files /dev/null and b/static/img/comicFigures/hp_freddy_leni_comic_big_1.png differ diff --git a/static/img/comicFigures/hp_mutti_comic_1.jpeg b/static/img/comicFigures/hp_mutti_comic_1.jpeg new file mode 100644 index 0000000..995f254 Binary files /dev/null and b/static/img/comicFigures/hp_mutti_comic_1.jpeg differ diff --git a/static/img/comicFigures/hp_mutti_comic_big_1.png b/static/img/comicFigures/hp_mutti_comic_big_1.png new file mode 100644 index 0000000..379addc Binary files /dev/null and b/static/img/comicFigures/hp_mutti_comic_big_1.png differ diff --git a/static/img/comicFigures/hp_sascha_comic_big_1.png b/static/img/comicFigures/hp_sascha_comic_big_1.png new file mode 100644 index 0000000..e618ff9 Binary files /dev/null and b/static/img/comicFigures/hp_sascha_comic_big_1.png differ diff --git a/static/img/comicFigures/hp_sven_comic_1.jpeg b/static/img/comicFigures/hp_sven_comic_1.jpeg new file mode 100644 index 0000000..d0c054a Binary files /dev/null and b/static/img/comicFigures/hp_sven_comic_1.jpeg differ diff --git a/static/img/family_alle_pic_01.png b/static/img/family_alle_pic_01.png new file mode 100644 index 0000000..f56455a Binary files /dev/null and b/static/img/family_alle_pic_01.png differ diff --git a/static/img/freddy.txt b/static/img/freddy.txt new file mode 100644 index 0000000..3961433 --- /dev/null +++ b/static/img/freddy.txt @@ -0,0 +1,9 @@ +Geboren: 1981 + +Leidenschaftlicher schrauber, kein auto ist vor ihm sicher. + + + +Fährt gerne schnell, hat ein mottorad + +Momentaner Status: Lagerarbeiter, 1 Kind(Leni) und verheiratet mit Mary. \ No newline at end of file diff --git a/static/img/grid.png b/static/img/grid.png new file mode 100644 index 0000000..8515b7c Binary files /dev/null and b/static/img/grid.png differ diff --git a/static/img/hero.png b/static/img/hero.png new file mode 100644 index 0000000..2c87df2 Binary files /dev/null and b/static/img/hero.png differ diff --git a/static/img/hp_akte.jpeg b/static/img/hp_akte.jpeg new file mode 100644 index 0000000..3e5167f Binary files /dev/null and b/static/img/hp_akte.jpeg differ diff --git a/static/img/hp_akte_mutti_1.jpeg b/static/img/hp_akte_mutti_1.jpeg new file mode 100644 index 0000000..9a30fcd Binary files /dev/null and b/static/img/hp_akte_mutti_1.jpeg differ diff --git a/static/img/hp_freddy_2.png b/static/img/hp_freddy_2.png new file mode 100644 index 0000000..d58fbff Binary files /dev/null and b/static/img/hp_freddy_2.png differ diff --git a/static/img/hp_meli_steampunk_01.jpeg b/static/img/hp_meli_steampunk_01.jpeg new file mode 100644 index 0000000..9d33101 Binary files /dev/null and b/static/img/hp_meli_steampunk_01.jpeg differ diff --git a/static/img/hp_muti_steampunk_01.png b/static/img/hp_muti_steampunk_01.png new file mode 100644 index 0000000..fba0a8c Binary files /dev/null and b/static/img/hp_muti_steampunk_01.png differ diff --git a/static/img/hp_muti_steampunk_02.jpg b/static/img/hp_muti_steampunk_02.jpg new file mode 100644 index 0000000..38a6806 Binary files /dev/null and b/static/img/hp_muti_steampunk_02.jpg differ diff --git a/static/img/hp_vater_steampunk_01.jpg b/static/img/hp_vater_steampunk_01.jpg new file mode 100644 index 0000000..e888f67 Binary files /dev/null and b/static/img/hp_vater_steampunk_01.jpg differ diff --git a/static/img/steampunk_bg.png b/static/img/steampunk_bg.png new file mode 100644 index 0000000..31645e8 Binary files /dev/null and b/static/img/steampunk_bg.png differ diff --git a/static/js/script.js b/static/js/script.js new file mode 100644 index 0000000..ae572b8 --- /dev/null +++ b/static/js/script.js @@ -0,0 +1,367 @@ +// ═══════════════════════════════════════ +// KI-LABOR CORE ENGINE (HUGO EDITION) +// ═══════════════════════════════════════ +(function() { + document.addEventListener('DOMContentLoaded', () => { + // --- CORE ELEMENTS --- + const bootScreen = document.getElementById('boot-screen'); + const bootLog = document.getElementById('boot-log'); + const mainContent = document.querySelector('.main-content'); + const terminalInput = document.getElementById('terminal-input'); + const logOutput = document.getElementById('log-output'); + const fortuneText = document.getElementById('fortune-text'); + + // --- MATRIX RAIN INITIALIZATION --- + const canvas = document.createElement('canvas'); + canvas.id = 'matrix-canvas'; + canvas.style.cssText = 'position:fixed;top:0;left:0;width:100%;height:100%;z-index:-1;opacity:0;transition:opacity 1s;pointer-events:none;'; + document.body.appendChild(canvas); + const ctx = canvas.getContext('2d'); + let w, h, columns; + const drops = []; + + function initMatrix() { + w = canvas.width = window.innerWidth; + h = canvas.height = window.innerHeight; + columns = Math.floor(w / 20); + for (let i = 0; i < columns; i++) drops[i] = 1; + } + + function drawMatrix() { + ctx.fillStyle = 'rgba(0, 0, 0, 0.05)'; + ctx.fillRect(0, 0, w, h); + ctx.fillStyle = '#0f0'; + ctx.font = '15px monospace'; + for (let i = 0; i < drops.length; i++) { + const text = String.fromCharCode(Math.random() * 128); + ctx.fillText(text, i * 20, drops[i] * 20); + if (drops[i] * 20 > h && Math.random() > 0.975) drops[i] = 0; + drops[i]++; + } + } + + window.addEventListener('resize', initMatrix); + initMatrix(); + setInterval(drawMatrix, 50); + + // --- AUDIO ENGINE --- + let audioCtx; + function playTick(freq = 150, dur = 0.03, type = 'square') { + if (!audioCtx) audioCtx = new (window.AudioContext || window.webkitAudioContext)(); + if (audioCtx.state === 'suspended') audioCtx.resume(); + const osc = audioCtx.createOscillator(); + const gain = audioCtx.createGain(); + osc.type = type; + osc.frequency.setValueAtTime(freq, audioCtx.currentTime); + gain.gain.setValueAtTime(0.01, audioCtx.currentTime); + gain.gain.exponentialRampToValueAtTime(0.0001, audioCtx.currentTime + dur); + osc.connect(gain); + gain.connect(audioCtx.destination); + osc.start(); + osc.stop(audioCtx.currentTime + dur); + } + + // --- INITIAL EFFECTS TRIGGER --- + function triggerInitialEffects() { + // --- INITIAL TERMINAL LOGS --- + if (logOutput) { + log('>> SYSTEM_CORE_LOADED: ANARCHY_v5.0', 'ok'); + log('>> NEURAL_LINK_ESTABLISHED: GEMINI_STABLE', 'ok'); + log('>> DETECTING_INTRUSION_AT_PORT_8080...', 'warn'); + log('>> ENCRYPTING_SWAP_FILE... [DONE]', 'ok'); + log('>> ANALYZING_CLAN_STRUCTURE: 6_NODES_FOUND', 'info'); + log('>> WARNING: MEMORY_LEAK_IN_ANARCHY_KERNEL', 'warn'); + log('>> STATUS: GEISTESKRANK & ONLINE', 'crit'); + log('----------------------------------------', 'ok'); + } + + // --- INITIAL BRIGHTER MATRIX EFFECT (7 SECONDS) --- + if (canvas) { + canvas.style.opacity = '0.25'; + setTimeout(() => { + // Only fade out if not in kernel mode + if (!document.body.classList.contains('mode-kernel')) { + canvas.style.opacity = '0'; + } + }, 7000); + } + } + + // --- BOOT SEQUENCE --- + const BOOT_LINES = [ + { t: 'BOOTING HUGO_ANARCHY_ENGINE v5.0...', c: 'ok' }, + { t: 'CONNECTING TO GEMINI NEURAL LINK...', c: 'ok' }, + { t: 'BYPASSING WORDPRESS_REMNANTS...', c: 'warn' }, + { t: 'LOADING STEAMPUNK_ASSETS...', c: 'ok' }, + { t: 'INITIALIZING TERMINAL...', c: 'ok' }, + { t: 'DATA_INTEGRITY: 100% (STATIC_MODE)', c: 'ok' }, + { t: '----------------------------------------', c: 'ok' }, + { t: 'WELCOME BACK, OVERLORD SASCHA.', c: 'crit' } + ]; + + function startBoot() { + if (sessionStorage.getItem('hugo_boot_complete') && bootScreen) { + bootScreen.style.display = 'none'; + if (mainContent) { + mainContent.classList.add('visible'); + mainContent.style.opacity = '1'; + } + triggerInitialEffects(); // Trigger effects even if skipped + return; + } + + if (!bootScreen) { + triggerInitialEffects(); // Just in case + return; + } + + let idx = 0; + const interval = setInterval(() => { + if (idx >= BOOT_LINES.length) { + clearInterval(interval); + setTimeout(() => { + bootScreen.style.opacity = '0'; + setTimeout(() => { + bootScreen.style.display = 'none'; + if (mainContent) { + mainContent.classList.add('visible'); + mainContent.style.opacity = '1'; + } + sessionStorage.setItem('hugo_boot_complete', 'true'); + triggerInitialEffects(); // Trigger effects after manual boot + }, 1000); + }, 800); + return; + } + const line = document.createElement('div'); + line.className = 'boot-line ' + BOOT_LINES[idx].c; + line.textContent = BOOT_LINES[idx].t; + bootLog.appendChild(line); + playTick(100 + (idx * 20)); + idx++; + }, 150); + } + + startBoot(); + + // --- TERMINAL ENGINE --- + if (terminalInput) { + terminalInput.addEventListener('keydown', (e) => { + if (e.key === 'Enter') { + const input = terminalInput.value.trim(); + terminalInput.value = ''; + handleCommand(input); + } + }); + } + + function log(msg, cls = '') { + if (!logOutput) return; + const entry = document.createElement('div'); + entry.className = 'log-entry ' + cls; + entry.innerHTML = msg; + logOutput.prepend(entry); + } + + function handleCommand(raw) { + const parts = raw.split(' '); + const cmd = parts[0].toLowerCase(); + const args = parts.slice(1).join(' '); + + log('sascha@ki-labor:~$ ' + raw + ''); + + switch(cmd) { + case 'help': + log('VERFÜGBARE BEFEHLE:', 'info'); + log(' - whoami : Zeigt Identität'); + log(' - status : System-Vitals'); + log(' - matrix : Matrix-Mode'); + log(' - anarchy : Anarchie-Mode'); + log(' - clear : Log löschen'); + log(' - reboot : System-Neustart'); + log(' - flux : Overdrive aktivieren'); + log(' - hack : Neural Hack simulieren'); + log(' - uptime : System-Laufzeit'); + log(' - weather : Chaos-Wetterbericht'); + log(' - top : Prozess-Monitor'); + log(' - fortune : Digitales Orakel'); + break; + case 'whoami': log('IDENTITÄT: OVERLORD SASCHA RODE', 'ok'); break; + case 'status': log('STATUS: GEISTESKRANK & ONLINE', 'warn'); break; + case 'clear': logOutput.innerHTML = ''; break; + case 'reboot': + sessionStorage.removeItem('hugo_boot_complete'); + window.location.reload(); + break; + case 'matrix': document.querySelector('[data-mode="kernel"]')?.click(); break; + case 'anarchy': document.querySelector('[data-mode="anarchy"]')?.click(); break; + case 'bypass': document.querySelector('[data-mode="bypass"]')?.click(); break; + case 'trace': document.querySelector('[data-mode="trace"]')?.click(); break; + case 'flux': document.querySelector('[data-mode="overdrive"]')?.click(); break; + case 'hack': + log('>> INITIATING NEURAL HACK...', 'warn'); + let hIdx = 0; + const hInt = setInterval(() => { + log(Math.random().toString(16).substring(2, 15), 'ghost'); + if (hIdx++ > 15) { + clearInterval(hInt); + log('>> ACCESS GRANTED.', 'ok'); + } + }, 100); + break; + case 'deep-scan': + log('>> INITIALIZING DEEP SYSTEM SCAN...', 'info'); + setTimeout(() => { + log('>> ANALYZING KERNEL MODULES...', 'ok'); + log('>> CHECKING NEURAL PATHWAYS...', 'ok'); + log('>> SCANNING FOR ANOMALIES... [FOUND: 42]', 'warn'); + log('>> SYSTEM INTEGRITY: ANARCHIC', 'crit'); + }, 1000); + break; + case 'uptime': + const years = new Date().getFullYear() - 1974; + log('SYSTEM ONLINE SEIT: 01.01.1974', 'info'); + log('LAUFZEIT: ' + years + ' JAHRE (STABILITÄT: FRAGLICH)', 'ok'); + break; + case 'fortune': generateFortune(); break; + default: + log('FEHLER: BEFEHL "' + cmd + '" NICHT GEFUNDEN.', 'error'); + playTick(150, 0.2, 'sawtooth'); + } + playTick(400 + Math.random() * 200); + } + + // --- FORTUNE ENGINE --- + const fortunes = [ + 'Die Hälfte der Intelligenz besteht darin zu wissen, was man ignorieren kann.', + 'Kreativität ist Intelligenz, die Spaß hat.', + 'Wenn Plan A scheitert – gut. Plan A war sowieso zu ordentlich.', + 'Kaffee ist nur Debugging auf chemischer Ebene.', + 'Die Wahrheit liegt im Source-Code. Die Lüge im Kommentar daneben.' + ]; + + function generateFortune() { + const f = fortunes[Math.floor(Math.random() * fortunes.length)]; + if (fortuneText) fortuneText.innerHTML = `"${f}"`; + log('>> ORAKEL: ' + f, 'info'); + } + + document.getElementById('fortune-trigger')?.addEventListener('click', generateFortune); + + // --- MODE SWITCHER --- + document.querySelectorAll('.switch-btn').forEach(btn => { + btn.addEventListener('click', () => { + const mode = btn.getAttribute('data-mode'); + + // Special actions for bypass and scan + const terminalLog = document.getElementById('system-log'); + + if (mode === 'bypass') { + document.body.classList.toggle('mode-bypass'); + btn.classList.toggle('active'); + if (document.body.classList.contains('mode-bypass')) { + if (terminalLog) terminalLog.style.height = '500px'; + handleCommand('hack'); + } else if (terminalLog) { + terminalLog.style.height = '250px'; + } + return; + } + if (mode === 'scan') { + document.body.classList.toggle('mode-scan'); + btn.classList.toggle('active'); + if (document.body.classList.contains('mode-scan')) { + if (terminalLog) terminalLog.style.height = '500px'; + handleCommand('deep-scan'); + } else if (terminalLog) { + terminalLog.style.height = '250px'; + } + return; + } + + document.body.classList.toggle('mode-' + mode); + btn.classList.toggle('active'); + playTick(300); + }); + }); + + // --- OPS DASHBOARD LOGIC --- + const opsSign = document.getElementById('ops-dashboard-sign'); + let originalLogContent = ''; + let isOpsOpen = false; + + if (opsSign) { + opsSign.style.cursor = 'pointer'; + opsSign.addEventListener('click', () => { + const terminalLog = document.getElementById('system-log'); + const logOutput = document.getElementById('log-output'); + const opsHint = opsSign.querySelector('div:last-child'); + + if (!terminalLog || !logOutput) return; + + if (!isOpsOpen) { + // ÖFFNEN + originalLogContent = logOutput.innerHTML; + isOpsOpen = true; + terminalLog.style.height = '600px'; + logOutput.innerHTML = ` +
+ VITALMONITOR + ▁▂▃▂▁▃▂▁▁▁▁▁▁ + FLATLINE +
+ +
+
-- OP ALFA-7 --
+
+ PATIENT: KREATIVITAET.exe (v4.2-beta) + EINGRIFF: Herz-Transplant — Donor: MOTIVATION.sys + BEFUND: Herz läuft. Richtung unbekannt. Absicht fraglich. + STATUS: +
+
+
+
+ 82% KAPAZITÄT +
+ ERGEBNIS: 0.5 ERFOLGE (zählt als halber Sieg, ganz nach Wunsch) +
+
+ +
+
-- OP BETA-12 --
+
+ PATIENT: SCHLAFRHYTHMUS.daemon (Version: veraltet) + EINGRIFF: Herz-Transplant — Donor: KAFFEE-KERN v9.1 + BEFUND: Donor inkompatibel. Koffein ≠ Blut. Überraschung: keiner. + STATUS: +
+
+
+
+ 100% — ABGESCHLOSSEN +
+ ERGEBNIS: TECHNISCH FEHLGESCHLAGEN. Patient läuft trotzdem. +
+
+ +
+ OPS: ||| 3    ERFOLGE: |½ 1.5    FEHLCHL: |½ 1.5
+ RESTE: KUEHLHAUS C — ZUSTAND: STABIL / NUTZBAR
+ NÄCHSTE OP: PROKRASTINATION.exe — ETA: IRGENDWANN +
+ `; + if (opsHint) opsHint.textContent = '[ PROTOKOLL SCHLIESSEN ]'; + playTick(600, 0.1, 'sawtooth'); + } else { + // SCHLIESSEN + isOpsOpen = false; + terminalLog.style.height = '250px'; + logOutput.innerHTML = originalLogContent; + if (opsHint) opsHint.textContent = '[ PROTOKOLL EINSEHEN ]'; + playTick(300, 0.1, 'square'); + } + }); + } + }); +})();