diff --git a/deploy.sh b/deploy.sh new file mode 100644 index 0000000..4c3d7f0 --- /dev/null +++ b/deploy.sh @@ -0,0 +1,16 @@ +#!/bin/bash +echo ">> INITIATING SLIPSPACE DEPLOYMENT TO WEBSPACE..." + +expect -c ' +set timeout -1 +spawn rsync -avz --exclude=".git" --exclude="node_modules" -e "ssh -o StrictHostKeyChecking=accept-new" /Users/sascha/wp-ki-labor/html/wp-content/themes/ki-labor/ su72785@access-5019642512.webspace-host.com:~/public/wp-content/themes/ki-labor/ +expect { + "*?assword:*" { + send "Jessilein@74\r" + exp_continue + } + eof +} +' + +echo ">> DEPLOYMENT COMPLETE. SYSTEM IN SYNC." diff --git a/flux.sh b/flux.sh new file mode 100755 index 0000000..8f7c0a1 --- /dev/null +++ b/flux.sh @@ -0,0 +1,81 @@ +#!/bin/bash + +# ========================================== +# FLUX CORE ENGINE - COMMAND LINE INTERFACE +# ========================================== + +# ANSI Colors +GREEN='\033[0;32m' +GOLD='\033[0;33m' +RED='\033[0;31m' +CYAN='\033[0;36m' +NC='\033[0m' + +# Check if deploy.sh exists +if [ ! -f "deploy.sh" ]; then + echo -e "${RED}FEHLER: deploy.sh nicht gefunden!${NC}" + exit 1 +fi + +case "$1" in + watch) + clear + echo -e "${CYAN}["$(date +'%H:%M:%S')"]${NC} ${GOLD}>> INITIATING SLIPSPACE AUTO-SYNC DAEMON...${NC}" + say -v Anna "Auto-Deployment aktiviert. Überwache Sektoren auf Veränderungen." + + LAST_HASH="" + + # Loop to watch for file modifications + while true; do + # Generate a hash of all file modification timestamps in the theme folder + CURRENT_HASH=$(find html/wp-content/themes/ki-labor -type f -print0 | xargs -0 stat -f "%m" | md5) + + # If last hash is set and differs from current, a file was modified + if [ "$LAST_HASH" != "" ] && [ "$CURRENT_HASH" != "$LAST_HASH" ]; then + echo -e "\n${CYAN}["$(date +'%H:%M:%S')"]${NC} ${RED}>> SYSTEM ANOMALY DETECTED (FILE MODIFIED). COMPILING FLUX...${NC}" + say -v Anna "Theme-Quellcode verändert. Slipspace-Tunnel wird geöffnet." + + # Execute slipspace deployment + ./deploy.sh + + echo -e "${CYAN}["$(date +'%H:%M:%S')"]${NC} ${GREEN}>> WEBSPACE IN SYNC. WAITING FOR NEXT ANOMALY...${NC}" + say -v Anna "Synchronisation erfolgreich." + fi + + LAST_HASH=$CURRENT_HASH + sleep 2 + done + ;; + + glitch) + clear + echo -e "${GREEN}>> INITIATING MATRIX LOG DECRYPTION...${NC}" + say -v Anna "Matrix-Datenstrom wird eingeleitet." + # Generate random hex strings mimicking a deep-level hack, cascading down + for i in {1..20}; do + head -c 100 /dev/urandom | xxd -p | tr -d '\n' | awk '{print "\033[0;32m" $0 "\033[0m"}' + sleep 0.05 + echo "" + done + echo -e "\n${RED}>> SYSTEM BREACH SUCCESSFUL. IDENTITY: SASCHA RODE.${NC}" + say -v Anna "Zugriff gewährt, Overlord." + ;; + + status) + echo -e "\n${GOLD}[ FLUX CORE STATUS ]${NC}" + echo -e "${CYAN}🧠 NPU USAGE:${NC} OVERCLOCKED (GLOWING RED)" + echo -e "${CYAN}🔋 NEURAL LINK:${NC} ACTIVE (0ms LATENCY)" + echo -e "${CYAN}📂 THEME STATUS:${NC} MINIMAL & FLAWLESS" + echo -e "${CYAN}🚀 SLIPSPACE:${NC} ONLINE & PENDING COMMAND\n" + ;; + + *) + echo -e "${GOLD}FLUX CORE CLI v1.0${NC}\n" + echo -e "Usage: ${GREEN}./flux.sh${NC} [command]\n" + echo "Commands:" + echo -e " ${CYAN}watch${NC} : Starts the Auto-Deploy Daemon (watches your code and deploys on save)" + echo -e " ${CYAN}glitch${NC} : Triggers a terminal Matrix effect (pure visual anarchy)" + echo -e " ${CYAN}status${NC} : Reads NPU and Neural Link state" + echo "" + ;; +esac diff --git a/html/wp-content/themes/ki-labor/assets/img/grid.png b/html/wp-content/themes/ki-labor/assets/img/grid.png new file mode 100644 index 0000000..8515b7c Binary files /dev/null and b/html/wp-content/themes/ki-labor/assets/img/grid.png differ diff --git a/html/wp-content/themes/ki-labor/assets/img/hp_meli_steampunk_01.jpeg b/html/wp-content/themes/ki-labor/assets/img/hp_meli_steampunk_01.jpeg new file mode 100644 index 0000000..d754157 Binary files /dev/null and b/html/wp-content/themes/ki-labor/assets/img/hp_meli_steampunk_01.jpeg differ diff --git a/html/wp-content/themes/ki-labor/assets/img/hp_vater_steampunk_01.jpg b/html/wp-content/themes/ki-labor/assets/img/hp_vater_steampunk_01.jpg new file mode 100644 index 0000000..6195dc5 Binary files /dev/null and b/html/wp-content/themes/ki-labor/assets/img/hp_vater_steampunk_01.jpg differ diff --git a/html/wp-content/themes/ki-labor/assets/img/steampunk_bg.png b/html/wp-content/themes/ki-labor/assets/img/steampunk_bg.png new file mode 100644 index 0000000..31645e8 Binary files /dev/null and b/html/wp-content/themes/ki-labor/assets/img/steampunk_bg.png differ diff --git a/html/wp-content/themes/ki-labor/functions.php b/html/wp-content/themes/ki-labor/functions.php index b02d615..2550d61 100644 --- a/html/wp-content/themes/ki-labor/functions.php +++ b/html/wp-content/themes/ki-labor/functions.php @@ -1,7 +1,13 @@ get_template_directory_uri() + )); } add_action('wp_enqueue_scripts', 'ki_labor_scripts'); @@ -107,27 +113,31 @@ function ki_labor_init_content() { ) ); - 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' - ); + $version = 'v5'; // Bump to trigger re-insert if needed + 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); + 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_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'); diff --git a/html/wp-content/themes/ki-labor/index.php b/html/wp-content/themes/ki-labor/index.php index 490a90b..648f76f 100644 --- a/html/wp-content/themes/ki-labor/index.php +++ b/html/wp-content/themes/ki-labor/index.php @@ -7,6 +7,10 @@
> + + + +Aktueller Fokus: Systematische Überlastung von WordPress-Strukturen und ästhetische Kriegsführung.
diff --git a/html/wp-content/themes/ki-labor/script.js b/html/wp-content/themes/ki-labor/script.js index eba48fd..39ef7bd 100644 --- a/html/wp-content/themes/ki-labor/script.js +++ b/html/wp-content/themes/ki-labor/script.js @@ -215,7 +215,11 @@ } }); - function executeCommand(cmd) { + 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'); @@ -232,6 +236,68 @@ 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)'); + 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')) { @@ -443,6 +509,189 @@ } }); + // --- 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'); + + 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'); + const personName = card.querySelector('h3').innerText; + timelineTitle.innerText = "HISTORISCHES ARCHIV: " + personName; + generateTimeline(); + timelineModal.classList.remove('timeline-hidden'); + log('>> TEMPORAL SHIFT COMPLETE.', 'ok'); + }, 1200); + }); + }); + + 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 EREIGNIS ⚡
' + specialEvents[year] + '
KRITISCHER EINTRAG #' + (Math.floor(Math.random()*9000)+1000) + ': ' + bgStory + ' Weitere Datenquellen als OMEGA-KLASSE klassifiziert.
'; + } + + node.appendChild(content); + timelineTrack.appendChild(node); + + isLeft = !isLeft; + }); + } + } + log('>> SYSTEM READY. WAITING FOR COMMANDS...'); }); })(); + +// --- 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/html/wp-content/themes/ki-labor/style.css b/html/wp-content/themes/ki-labor/style.css index 028e02a..fc6dce9 100644 --- a/html/wp-content/themes/ki-labor/style.css +++ b/html/wp-content/themes/ki-labor/style.css @@ -547,3 +547,186 @@ body.mode-anarchy .hero-image { .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; } + +.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: 0; color: #d4af37; + border-bottom: 1px dashed #b5a642; + padding-bottom: 5px; + text-shadow: 1px 1px 2px #000; +} +.time-content p { font-size: 0.9rem; color: #e8dcc4; line-height: 1.5; text-shadow: 1px 1px 2px #000; } + +/* 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; } +} + +/* 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); +} diff --git a/html/wp-content/themes/ki-labor/test.php b/html/wp-content/themes/ki-labor/test.php new file mode 100644 index 0000000..e69de29 diff --git a/ssh_connect.expect b/ssh_connect.expect new file mode 100644 index 0000000..1849562 --- /dev/null +++ b/ssh_connect.expect @@ -0,0 +1,19 @@ +#!/usr/bin/expect -f +set timeout 15 + +spawn ssh -o StrictHostKeyChecking=accept-new su72785@access-5019642512.webspace-host.com +expect { + "*?assword:*" { + send "Jessilein@74\r" + } + timeout { + puts "Timeout waiting for password prompt" + exit 1 + } +} + +expect -re {[$#>] } +send "find . -maxdepth 4 -name 'wp-content' -type d\r" + +expect -re {[$#>] } +send "exit\r"