/* ================================================================
   BORG MODE — byGP Parasitage Styles
   Source: meWho TREK Countdown, adapted for ASGARD-GATE

   Phase 1 (borg):       Green monochrome assimilation
   Phase 2 (borg-glitch): SVG filter corruption on top
   ================================================================ */

/* === PHASE 1 — ASSIMILATION (green wireframe) === */

html[data-mode="borg"] {
    /* Override ALL bygp color variables to Borg green palette */
    --bygp-bg: #000800;
    --bygp-bg-secondary: #001200;
    --bygp-bg-panel: #000a00;
    --bygp-border: #00ff0033;
    --bygp-border-active: #00ff00aa;
    --bygp-primary: #00ff00;
    --bygp-primary-dim: #00cc00;
    --bygp-primary-dark: #006600;
    --bygp-text: #00ff00;
    --bygp-text-dim: #009900;
    --bygp-success: #00ff00;
    --bygp-warning: #00ff00;
    --bygp-error: #00ff00;
    --bygp-accent: #00ff00;
}

html[data-mode="borg"] body {
    background:
        linear-gradient(rgba(0, 255, 0, 0.06) 1px, transparent 1px),
        linear-gradient(90deg, rgba(0, 255, 0, 0.06) 1px, transparent 1px),
        #000800 !important;
    background-size: 20px 20px !important;
}

html[data-mode="borg"] .bygp-dashboard-wrapper {
    filter: drop-shadow(0 0 4px #0b980b);
}

/* Borg interference container */
.bygp-borg-container {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 9997;
    overflow: hidden;
}

html[data-mode="borg"] .bygp-borg-container {
    display: block;
}

/* Individual band element (injected by JS) */
.bygp-borg-band {
    position: absolute;
    left: 0;
    width: 100%;
    background: rgba(0, 255, 0, 0.15);
    pointer-events: none;
}

/* Static fine scan lines (always present in borg mode) */
.bygp-borg-container::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: repeating-linear-gradient(
        0deg,
        transparent 0px,
        transparent 3px,
        rgba(0,255,0,0.04) 3px,
        rgba(0,255,0,0.04) 4px
    );
    pointer-events: none;
}

/* Semi-transparent wireframe effect on panels */
html[data-mode="borg"] .bygp-panel {
    background: rgba(0, 20, 0, 0.3) !important;
    border-color: #00ff0044 !important;
}

html[data-mode="borg"] .bygp-panel-header {
    background: rgba(0, 30, 0, 0.4) !important;
}

html[data-mode="borg"] .bygp-header {
    background: linear-gradient(180deg, rgba(0, 20, 0, 0.6) 0%, rgba(0, 8, 0, 0.3) 100%) !important;
}

html[data-mode="borg"] .bygp-footer {
    background: rgba(0, 20, 0, 0.5) !important;
}

/* All text goes green */
html[data-mode="borg"] * {
    color: #00ff00 !important;
    border-color: #00ff0044 !important;
    text-shadow: 0 0 3px #00ff00;
}

html[data-mode="borg"] a { color: #00ff00 !important; }

/* Buttons: green outline only */
html[data-mode="borg"] .bygp-btn,
html[data-mode="borg"] .bygp-header-ctrl-btn,
html[data-mode="borg"] .bygp-header-status-btn {
    border-color: #00ff0066 !important;
    color: #00ff00 !important;
    background: transparent !important;
}

/* Credential fields */
html[data-mode="borg"] .bygp-credential {
    background: rgba(0, 20, 0, 0.4) !important;
    border-color: #00ff0033 !important;
}

/* Form inputs */
html[data-mode="borg"] .bygp-form-input {
    background: rgba(0, 10, 0, 0.5) !important;
    border-color: #00ff0033 !important;
    color: #00ff00 !important;
}

/* Code blocks */
html[data-mode="borg"] .bygp-code-block {
    background: rgba(0, 10, 0, 0.4) !important;
    border-color: #00ff0022 !important;
}

/* Table borders */
html[data-mode="borg"] th,
html[data-mode="borg"] td {
    border-color: #00ff0022 !important;
}

/* M.O.T.H.E.R. terminal */
html[data-mode="borg"] .bygp-mother-input-bar,
html[data-mode="borg"] .bygp-mother-status-bar {
    background: rgba(0, 15, 0, 0.5) !important;
}

html[data-mode="borg"] .bygp-mother-input {
    background: rgba(0, 5, 0, 0.5) !important;
    border-color: #00ff0033 !important;
}

html[data-mode="borg"] .bygp-mother-send-btn {
    background: #00ff00 !important;
    color: #000 !important;
}

/* Logo: force green tint */
html[data-mode="borg"] .bygp-header-logo-large {
    filter: brightness(0) saturate(100%) invert(55%) sepia(100%) saturate(10000%) hue-rotate(100deg) brightness(1.2) drop-shadow(0 0 8px #00ff00) !important;
}

html[data-mode="borg"] .bygp-wy-logo-bg {
    filter: brightness(0) saturate(100%) invert(55%) sepia(100%) saturate(10000%) hue-rotate(100deg) brightness(1.5) drop-shadow(0 0 12px #00ff00) !important;
    opacity: 0.2 !important;
}

/* Modules area */
html[data-mode="borg"] .bygp-modules {
    background:
        linear-gradient(rgba(0, 255, 0, 0.06) 1px, transparent 1px),
        linear-gradient(90deg, rgba(0, 255, 0, 0.06) 1px, transparent 1px),
        rgba(0, 8, 0, 0.95) !important;
    background-size: 20px 20px !important;
}

/* Telemetry blocks */
html[data-mode="borg"] .bygp-header-tel-block {
    border-color: #00ff0022 !important;
    background: rgba(0, 10, 0, 0.4) !important;
}

/* === PHASE 2 — CORRUPTION (SVG glitch filter ON TOP) === */

html[data-mode="borg-glitch"] {
    /* Same green palette as borg */
    --bygp-bg: #000800;
    --bygp-bg-secondary: #001200;
    --bygp-bg-panel: #000a00;
    --bygp-border: #00ff0033;
    --bygp-border-active: #00ff00aa;
    --bygp-primary: #00ff00;
    --bygp-primary-dim: #00cc00;
    --bygp-primary-dark: #006600;
    --bygp-text: #00ff00;
    --bygp-text-dim: #009900;
    --bygp-success: #00ff00;
    --bygp-warning: #00ff00;
    --bygp-error: #00ff00;
    --bygp-accent: #00ff00;
}

html[data-mode="borg-glitch"] body {
    background: #000800 !important;
}

html[data-mode="borg-glitch"] .bygp-dashboard-wrapper {
    filter: url(#glitch) drop-shadow(0 0 6px #0b980b);
}

html[data-mode="borg-glitch"] * {
    color: #00ff00 !important;
    border-color: #00ff0044 !important;
    text-shadow: 0 0 3px #00ff00;
}

html[data-mode="borg-glitch"] .bygp-panel {
    background: rgba(0, 20, 0, 0.3) !important;
}

html[data-mode="borg-glitch"] .bygp-panel-header {
    background: rgba(0, 30, 0, 0.4) !important;
}

html[data-mode="borg-glitch"] .bygp-header {
    background: rgba(0, 20, 0, 0.5) !important;
}

html[data-mode="borg-glitch"] .bygp-header-logo-large {
    filter: brightness(0) saturate(100%) invert(55%) sepia(100%) saturate(10000%) hue-rotate(100deg) brightness(1.2) drop-shadow(0 0 8px #00ff00) !important;
}

/* === BORG INDICATOR === */

html[data-mode="borg"] .bygp-mode-indicator,
html[data-mode="borg-glitch"] .bygp-mode-indicator {
    opacity: 1;
    color: #0f0;
    animation: bygp-blink-borg 1.7s linear infinite;
}

@keyframes bygp-blink-borg {
    0%, 49% { opacity: 1; }
    50%, 99% { opacity: 0.3; }
    100% { opacity: 1; }
}

html[data-mode="borg"] .bygp-mode-indicator::before {
    content: "\2B22 BORG COLLECTIVE";
}

html[data-mode="borg-glitch"] .bygp-mode-indicator::before {
    content: "\2B22 BORG COLLECTIVE \2022 CORRUPTED";
    animation: bygp-text-glitch 0.3s infinite;
}

@keyframes bygp-text-glitch {
    0%, 100% { text-shadow: 0 0 5px currentColor; }
    50% { text-shadow: 2px 0 5px currentColor, -2px 0 5px currentColor; }
}

/* === TRANSITIONS === */

html {
    transition: all 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}

.bygp-dashboard-wrapper,
.bygp-mother {
    transition: filter 0.4s ease;
}

/* === ACCESSIBILITY === */

@media (prefers-reduced-motion: reduce) {
    html[data-mode="borg"] .bygp-mode-indicator,
    html[data-mode="borg-glitch"] .bygp-mode-indicator {
        animation: none !important;
    }
}
