/**
 * Geek Theme - Matrix-style green on black
 *
 * Inspired by The Matrix, terminal interfaces, and hacker aesthetics.
 * Features: Monospace fonts, green phosphor glow, scanline effects.
 *
 * @package YAWC
 * @version 1.0.0
 */

[data-theme="geek"] {
    /* Brand Colors - Matrix Green */
    --theme-primary: #00ff00;
    --theme-primary-dark: #00cc00;
    --theme-primary-light: #33ff33;
    --theme-secondary: #00ff41;
    --theme-accent: #00cc33;

    /* Backgrounds - Terminal Black */
    --theme-bg-primary: #000000;
    --theme-bg-secondary: #0a0a0a;
    --theme-bg-tertiary: #1a1a1a;
    --theme-bg-overlay: rgba(0, 0, 0, 0.9);

    /* Text Colors - Green Phosphor */
    --theme-text-primary: #00ff00;
    --theme-text-secondary: #00cc00;
    --theme-text-tertiary: #009900;
    --theme-text-inverse: #000000;

    /* Border Colors */
    --theme-border-primary: rgba(0, 255, 0, 0.3);
    --theme-border-secondary: rgba(0, 255, 0, 0.1);
    --theme-border-accent: var(--theme-primary);

    /* Typography - Monospace Everything */
    --theme-font-sans: 'Courier New', Courier, monospace;
    --theme-font-serif: 'Courier New', Courier, monospace;
    --theme-font-mono: 'Courier New', Courier, monospace;
    --theme-font-display: 'Courier New', Courier, monospace;

    /* Font Weights - Limited for monospace */
    --theme-font-weight-normal: 400;
    --theme-font-weight-medium: 400;
    --theme-font-weight-semibold: 700;
    --theme-font-weight-bold: 700;

    /* Border Radius - Sharp edges */
    --theme-radius-none: 0;
    --theme-radius-sm: 0;
    --theme-radius-md: 2px;
    --theme-radius-lg: 2px;
    --theme-radius-xl: 2px;
    --theme-radius-full: 0;

    /* Shadows - Green glow */
    --theme-shadow-xs: 0 0 2px rgba(0, 255, 0, 0.3);
    --theme-shadow-sm: 0 0 4px rgba(0, 255, 0, 0.4);
    --theme-shadow-md: 0 0 8px rgba(0, 255, 0, 0.5);
    --theme-shadow-lg: 0 0 16px rgba(0, 255, 0, 0.6);
    --theme-shadow-xl: 0 0 24px rgba(0, 255, 0, 0.7);
    --theme-shadow-2xl: 0 0 32px rgba(0, 255, 0, 0.8);

    /* Special Effects - Terminal Glow */
    --theme-glow: 0 0 8px rgba(0, 255, 0, 0.8);
    --theme-glow-hover: 0 0 16px rgba(0, 255, 0, 1);
    --theme-gradient-primary: linear-gradient(180deg, #00ff00 0%, #00cc00 100%);
    --theme-gradient-secondary: linear-gradient(180deg, #00ff41 0%, #00cc33 100%);
}

/* Geek-specific enhancements */
[data-theme="geek"] body {
    font-variant-ligatures: none;
    text-rendering: geometricPrecision;
}

/* Terminal cursor effect */
[data-theme="geek"] h1::after,
[data-theme="geek"] h2::after {
    content: '█';
    animation: blink 1s step-end infinite;
    margin-left: 0.25rem;
    opacity: 0.7;
}

@keyframes blink {
    50% { opacity: 0; }
}

/* Scanline effect */
[data-theme="geek"] body::before {
    content: '';
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(
        to bottom,
        transparent 50%,
        rgba(0, 255, 0, 0.02) 50%
    );
    background-size: 100% 4px;
    pointer-events: none;
    z-index: var(--theme-z-tooltip);
    animation: scanline 8s linear infinite;
}

@keyframes scanline {
    0% { background-position: 0 0; }
    100% { background-position: 0 100%; }
}

/* Terminal screen glow */
[data-theme="geek"] body::after {
    content: '';
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: radial-gradient(
        ellipse at center,
        transparent 0%,
        rgba(0, 255, 0, 0.05) 100%
    );
    pointer-events: none;
    z-index: var(--theme-z-tooltip);
}

/* Code blocks - Terminal style */
[data-theme="geek"] pre,
[data-theme="geek"] code {
    background-color: #000000;
    border: 1px solid var(--theme-border-primary);
    box-shadow: var(--theme-shadow-sm);
}

/* Buttons - Terminal buttons */
[data-theme="geek"] .button,
[data-theme="geek"] .wp-block-button__link,
[data-theme="geek"] input[type="submit"],
[data-theme="geek"] button[type="submit"],
[data-theme="geek"] .yawc-button {
    background-color: transparent;
    color: var(--theme-primary);
    border: 2px solid var(--theme-primary);
    text-shadow: var(--theme-glow);
    box-shadow: var(--theme-shadow-sm);
}

[data-theme="geek"] .button:hover,
[data-theme="geek"] .wp-block-button__link:hover,
[data-theme="geek"] input[type="submit"]:hover,
[data-theme="geek"] button[type="submit"]:hover,
[data-theme="geek"] .yawc-button:hover {
    background-color: var(--theme-primary);
    color: var(--theme-text-inverse);
    box-shadow: var(--theme-shadow-lg);
}

/* Links - Green glow on hover */
[data-theme="geek"] a {
    text-decoration: underline;
    text-decoration-style: dotted;
}

[data-theme="geek"] a:hover {
    text-shadow: var(--theme-glow);
}

/* Cards - Terminal windows */
[data-theme="geek"] .yawc-card,
[data-theme="geek"] .article-wrapper,
[data-theme="geek"] .widget {
    border: 2px solid var(--theme-border-primary);
    background-color: rgba(0, 0, 0, 0.8);
    position: relative;
}

[data-theme="geek"] .yawc-card::before,
[data-theme="geek"] .article-wrapper::before,
[data-theme="geek"] .widget::before {
    content: '> Terminal Session_' counter(terminal);
    counter-increment: terminal;
    display: block;
    padding: var(--theme-spacing-sm);
    margin: calc(var(--theme-spacing-lg) * -1);
    margin-bottom: var(--theme-spacing-md);
    background-color: var(--theme-bg-tertiary);
    border-bottom: 1px solid var(--theme-border-primary);
    font-size: var(--theme-font-size-xs);
    color: var(--theme-text-secondary);
}

/* Header - Terminal header */
[data-theme="geek"] .site-header {
    background-color: #000000;
    border-bottom: 2px solid var(--theme-primary);
}

/* Navigation - ASCII style */
[data-theme="geek"] .main-navigation a::before {
    content: '[ ';
    opacity: 0.5;
}

[data-theme="geek"] .main-navigation a::after {
    content: ' ]';
    opacity: 0.5;
}

[data-theme="geek"] .main-navigation a:hover::before,
[data-theme="geek"] .main-navigation a:hover::after {
    opacity: 1;
}

/* Footer - Terminal footer */
[data-theme="geek"] .site-footer {
    background-color: #000000;
    border-top: 2px solid var(--theme-primary);
}

/* Badges - Terminal badges */
[data-theme="geek"] .cat-links a,
[data-theme="geek"] .tags-links a {
    background-color: transparent;
    border: 1px solid var(--theme-primary);
    color: var(--theme-primary);
    text-shadow: none;
}

[data-theme="geek"] .cat-links a:hover,
[data-theme="geek"] .tags-links a:hover {
    background-color: var(--theme-primary);
    color: var(--theme-text-inverse);
    text-shadow: none;
}

/* Forms - Terminal inputs */
[data-theme="geek"] input,
[data-theme="geek"] textarea,
[data-theme="geek"] select {
    background-color: #000000;
    border: 1px solid var(--theme-border-primary);
    color: var(--theme-primary);
    font-family: var(--theme-font-mono);
}

[data-theme="geek"] input:focus,
[data-theme="geek"] textarea:focus,
[data-theme="geek"] select:focus {
    box-shadow: var(--theme-shadow-md);
}

/* Tables - Terminal tables */
[data-theme="geek"] th {
    background-color: var(--theme-bg-tertiary);
    color: var(--theme-primary);
    border: 1px solid var(--theme-border-primary);
}

[data-theme="geek"] td {
    border: 1px solid var(--theme-border-secondary);
}

/* Blockquotes - Terminal quotes */
[data-theme="geek"] blockquote {
    border-left: 4px solid var(--theme-primary);
    background-color: rgba(0, 255, 0, 0.05);
}

[data-theme="geek"] blockquote::before {
    content: '> ';
    color: var(--theme-primary);
}

/* Text selection */
[data-theme="geek"] ::selection {
    background-color: var(--theme-primary);
    color: var(--theme-text-inverse);
    text-shadow: none;
}

/* Scrollbar */
[data-theme="geek"] ::-webkit-scrollbar {
    width: 12px;
    height: 12px;
}

[data-theme="geek"] ::-webkit-scrollbar-track {
    background-color: #000000;
    border: 1px solid var(--theme-border-secondary);
}

[data-theme="geek"] ::-webkit-scrollbar-thumb {
    background-color: var(--theme-primary);
    border: 2px solid #000000;
}

[data-theme="geek"] ::-webkit-scrollbar-thumb:hover {
    box-shadow: var(--theme-shadow-md);
}

/* Matrix rain effect (optional, can be toggled) */
@keyframes matrix-rain {
    0% {
        transform: translateY(-100%);
        opacity: 0;
    }
    10% {
        opacity: 1;
    }
    90% {
        opacity: 1;
    }
    100% {
        transform: translateY(100vh);
        opacity: 0;
    }
}

/* ASCII art decorations */
[data-theme="geek"] .entry-title::before {
    content: '// ';
    color: var(--theme-text-secondary);
}

[data-theme="geek"] h2::before {
    content: '## ';
    color: var(--theme-text-secondary);
}

[data-theme="geek"] h3::before {
    content: '### ';
    color: var(--theme-text-secondary);
}
