/* 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; }