Auto-backup: 2026-03-26 23:00

This commit is contained in:
Sascha 2026-03-26 23:00:03 +01:00
parent 373ca27bc5
commit 1a07f1feb0
12 changed files with 597 additions and 23 deletions

16
deploy.sh Normal file
View file

@ -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."

81
flux.sh Executable file
View file

@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 86 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 74 KiB

View file

@ -1,7 +1,13 @@
<?php
function ki_labor_scripts() {
wp_enqueue_style('ki-labor-style', get_stylesheet_uri());
$version = time();
wp_enqueue_style('ki-labor-style', get_stylesheet_uri(), array(), $version);
wp_enqueue_script('ki-labor-script', get_template_directory_uri() . '/script.js', array(), '1.0', true);
// Pass theme URL to script.js
wp_localize_script('ki-labor-script', 'php_vars', array(
'theme_url' => 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');

View file

@ -7,6 +7,10 @@
<?php wp_head(); ?>
</head>
<body <?php body_class(); ?>>
<!-- ANTIGRAVITY PARALLAX LAYERS -->
<div class="ag-parallax-layer" data-speed="0.1" style="position:fixed; top:0; left:0; width:100%; height:100%; z-index:-1; background: radial-gradient(circle, rgba(0,255,65,0.05) 0%, transparent 70%); pointer-events:none;"></div>
<div class="ag-parallax-layer" data-speed="0.3" style="position:fixed; top:0; left:0; width:100%; height:100%; z-index:-2; background: url('<?php echo get_template_directory_uri(); ?>/assets/img/grid.png'); opacity:0.1; pointer-events:none;"></div>
<div id="boot-screen">
<div id="boot-log"></div>
</div>
@ -53,12 +57,16 @@
<button class="filter-btn" data-filter="stable">STABIL</button>
<button class="filter-btn" data-filter="corrupted">KRITISCH</button>
<button class="filter-btn" data-filter="experimental">EXPERIMENTELL</button>
<button class="steampunk-card filter-btn" style="color: var(--accent-gold); border-color: var(--accent-gold); padding: 2px 8px; background: transparent; cursor: pointer; display: flex; align-items: center;"><h3 style="margin: 0; font-size: 0.7rem;">MUTTER (TIMELINE)</h3></button>
</div>
</div>
<div class="portfolio-grid" id="main-grid">
<?php if ( have_posts() ) : while ( have_posts() ) : the_post();
<?php
$args = array('post_type' => '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);
?>
@ -78,11 +86,19 @@
</div>
</div>
</a>
<?php endwhile; endif; ?>
<?php endwhile; wp_reset_postdata(); endif; ?>
</div>
</div>
<!-- TIMELINE MODAL OVERLAY -->
<div id="timeline-modal" class="timeline-hidden">
<button id="close-timeline">[X] CLOSE</button>
<h2 id="timeline-title" style="text-align: center; color: var(--accent-orange); margin-top: 20px;">HISTORISCHES ARCHIV</h2>
<div id="timeline-track" class="timeline-track"></div>
</div>
<div class="content-box" style="margin-top: 20px; border-left-color: var(--accent-gold);">
<h2>STATUS: GEISTESKRANK & GEMINI PLAYER</h2>
<p>Aktueller Fokus: Systematische Überlastung von WordPress-Strukturen und ästhetische Kriegsführung.</p>

View file

@ -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 = '<h3 style="color:var(--accent-orange);">[ ' + year + ' ]</h3><p style="color:#fff;"><strong>⚡ OMEGA-KLASSE EREIGNIS ⚡</strong><br>' + specialEvents[year] + '</p>';
} else {
const bgStory = events[Math.floor(Math.random() * events.length)];
content.innerHTML = '<h3>[ ' + year + ' ]</h3><p>KRITISCHER EINTRAG #' + (Math.floor(Math.random()*9000)+1000) + ': ' + bgStory + ' Weitere Datenquellen als OMEGA-KLASSE klassifiziert.</p>';
}
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);

View file

@ -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);
}

View file

19
ssh_connect.expect Normal file
View file

@ -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"