/*
Theme Name: Binary Log Pro
Theme URI: https://blake-hofer.net/shop/article_detail.php?id=12&lang=en
Author: Dominique Blake-Hofer
Author URI: https://blake-hofer.net
Description: A minimalist, technical terminal-style theme. (c) 2026 Dominique Blake-Hofer. Licensed under the GPL v2 or later.
Version: 1.0.1
Tested up to: 6.4
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Copyright: (c) 2026 Dominique Blake-Hofer
Tags: grid-layout, custom-menu, featured-images, translation-ready, custom-colors
Text Domain: binary-log-pro
*/

:root {
    --primary-color: #0070f3;
    --bg-color: #f0f5ff;
}

body { font-family: 'Inter', sans-serif; background: var(--bg-color); margin: 0; }
.container { max-width: 1200px; margin: 0 auto; padding: 0 20px; }

/* PRO THEME OVERRIDES */
body.theme-green { --primary-color: #7ca65c; --bg-color: #f4f7f2; }
body.theme-dark { --primary-color: #00ff41; --bg-color: #0a0a0a; color: #e0e0e0; }
body.theme-dark .log-entry { background: #111; border-color: #222; color: #e0e0e0; }
body.theme-dark .site-header { background: rgba(15, 15, 15, 0.95); border-bottom-color: #222; }

/* WP REQUIRED CLASSES */
.alignleft { float: left; margin: 0.5em 1em 0.5em 0; }
.alignright { float: right; margin: 0.5em 0 0.5em 1em; }
.aligncenter { display: block; margin-left: auto; margin-right: auto; }
.wp-caption { background: #fff; border: 1px solid #f0f0f0; max-width: 96%; padding: 5px 3px 10px; text-align: center; }
.wp-caption-text { font-size: 11px; line-height: 17px; margin: 0; padding: 0 4px 5px; }
.gallery-caption { font-size: 0.8rem; font-style: italic; color: #666; }
.bypostauthor { font-weight: bold; }
.sticky { background: #fdfdfd; border: 2px solid var(--primary-color); }
.screen-reader-text { clip: rect(1px, 1px, 1px, 1px); position: absolute !important; height: 1px; width: 1px; overflow: hidden; }

/* DESIGN STYLES */
.site-header { padding:20px 0; border-bottom:1px solid rgba(0,0,0,0.08); position:sticky; top:0; z-index:1000; transition: all 0.3s; }
.header-flex { display: flex; justify-content: space-between; align-items: center; }
.main-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(350px, 1fr)); gap: 30px; margin: 60px 0; }
.log-entry { background: white; padding: 40px; border-radius: 20px; border: 1px solid rgba(0,0,0,0.08); transition: all 0.3s ease; text-decoration: none; color: inherit; display: block; }
.log-entry:hover { transform: translateY(-10px); border-color: var(--primary-color); box-shadow: 0 15px 30px rgba(0,0,0,0.05); }

/* STATUS DOT & CURSOR ANIMATIONS */
@keyframes blink { 0%, 100% { opacity: 1; } 50% { opacity: 0; } }
.cursor-block { display: inline-block; width: 8px; height: 16px; background: var(--primary-color); vertical-align: middle; animation: blink 1s step-end infinite; margin-left: 5px; }

@keyframes pulse-green {
    0% { box-shadow: 0 0 0 0 rgba(124, 166, 92, 0.7); }
    70% { box-shadow: 0 0 0 10px rgba(124, 166, 92, 0); }
    100% { box-shadow: 0 0 0 0 rgba(124, 166, 92, 0); }
}

.status-dot {
    width: 8px; height: 8px; background: #7ca65c; border-radius: 50%; display: inline-block; animation: pulse-green 2s infinite;
}