@import url('https://fonts.googleapis.com/css2?family=VT323&display=swap');
/* ===== HUD SCHEMATIC INTERFACE ===== */
/* Aesthetic: Retro-Futuristic Terminal • Bold Black Lines • Punchy Orange Accents */
/* ENHANCED: Cyberpunk Blade Runner Divine Machinery Aesthetic */
/* Color Palette: Beige (#F5F5DC), Black (#000000), Orange (#FF4500), Cyan (#00FFFF) */

/* ===== RESET & BASE ===== */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    font-size: 16px;
    scroll-behavior: smooth;
}

body {
    font-family: 'Share Tech Mono', 'Courier New', monospace;
    background-color: #F5F5DC;
    color: #000000;
    line-height: 1.5;
    /* Mobile readability */
    overflow-x: hidden;
    min-height: 100vh;
    /* Use min-height instead of height for mobile */
    scrollbar-gutter: stable;
    position: relative;

    /* ENHANCED: Cyberpunk atmosphere */
    text-shadow: 0 0 1px rgba(0, 0, 0, 0.1);

    /* TEXTURE AUGMENTATION: Subtle Noise */
    /* TEXTURE AUGMENTATION: Subtle Noise - REMOVED */

    /* CRT screen curve simulation */
    /* CRT screen curve simulation - REMOVED */
}

/* ===== AMBIENT BACKGROUND ===== */
#background-canvas {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    z-index: -1;
    pointer-events: none;
    opacity: 0.15;

    /* ENHANCED: Add subtle blur for depth */
    filter: blur(0.5px);
}

/* ===== GENERATIVE ART CANVAS ===== */
#generative-art-canvas {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    z-index: 0;
    pointer-events: none;
    opacity: 1;

    /* ENHANCED: Particle glow effect */
    filter: drop-shadow(0 0 3px rgba(255, 69, 0, 0.3));
}

/* ===== HUD INTERFACE LAYOUT ===== */
.hud-interface {
    min-height: 100vh;
    /* Mobile-friendly height */
    width: 100vw;
    position: relative;
    display: flex;
    flex-direction: column;
    /* Mobile-first: stacked layout */
}

/* ===== HAMBURGER MENU TOGGLE ===== */
.nav-toggle {
    position: fixed;
    top: 1.5rem;
    left: 1.5rem;
    z-index: 10000;
    display: flex;
    flex-direction: column;
    justify-content: center;
    cursor: pointer;
    background-color: transparent;
    border: none;
    padding: 0.5rem;
    transition: transform 0.2s ease;
}

.nav-toggle:hover {
    transform: scale(1.1);
}

.nav-toggle:active {
    transform: scale(0.95);
}

.hamburger-icon {
    width: 30px;
    height: 20px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.hamburger-icon span {
    display: block;
    width: 100%;
    height: 3px;
    background-color: #000000;
    transition: all 0.3s ease;
}

.nav-toggle:hover .hamburger-icon span {
    background-color: #FF4500;
}

/* ===== NAVIGATION OVERLAY ===== */
.nav-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 9998;
    /* Below sidebar, above content */
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease;
    backdrop-filter: blur(2px);
}

.nav-overlay.active {
    opacity: 1;
    pointer-events: auto;
}

/* ===== STATIC SIDEBAR (COMMAND PANEL) ===== */
/* MOBILE-FIRST: Horizontal layout by default */
.sidebar {
    width: 280px;
    /* Fixed width for drawer */
    height: 100vh;
    background-color: #F5F5DC;
    border-right: 3px solid #000000;
    border-bottom: none;
    /* Remove bottom border */
    padding: 4rem 1.5rem 2rem 1.5rem;
    /* Top padding for close button space if needed */
    display: flex;
    flex-direction: column;
    position: fixed;
    /* Always fixed */
    top: 0;
    left: 0;
    z-index: 9999;
    /* Top z-index */

    /* Slide-out transition */
    transform: translateX(-100%);
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);

    /* ENHANCED: Depth and atmosphere */
    box-shadow:
        4px 0 15px rgba(0, 0, 0, 0.3),
        inset -1px 0 0 rgba(255, 69, 0, 0.1);
}

.sidebar.active {
    transform: translateX(0);
}

/* Title Block */
.title-block {
    margin-bottom: 2rem;
}

.primary-title {
    font-size: 1.1rem;
    /* Slightly smaller for mobile */
    font-weight: bold;
    letter-spacing: 0.1em;
    margin-bottom: 0.5rem;
    border-bottom: 2px solid #000000;
    padding-bottom: 0.5rem;
    cursor: pointer;
    transition: all 0.15s cubic-bezier(0.4, 0, 0.2, 1);
    padding: 0.75rem;
    /* Larger touch target */
    margin: -0.5rem -0.5rem 0.5rem -0.5rem;
    display: block;
    position: relative;
    min-height: 44px;
    /* Touch target minimum */
    display: flex;
    align-items: center;

    /* ENHANCED: Glitch effect preparation */
    &::after {
        content: attr(data-text);
        position: absolute;
        left: 0.75rem;
        top: 0.75rem;
        width: 100%;
        height: 100%;
        opacity: 0;
        color: #FF4500;
        text-shadow: -2px 0 #00FFFF;
        clip: rect(0, 0, 0, 0);
    }
}

/* Mobile: Use :active for touch, desktop uses :hover */
.primary-title:active,
.primary-title:hover {
    background-color: #000000;
    color: #FF4500;

    /* ENHANCED: Glow effect */
    box-shadow:
        0 0 10px rgba(255, 69, 0, 0.3),
        inset 0 0 10px rgba(255, 69, 0, 0.1);
    text-shadow: 0 0 8px rgba(255, 69, 0, 0.8);
}

.subtitle {
    font-size: 0.9rem;
    color: #000000;
    margin-top: 0.5rem;
}

/* Navigation Commands */
.nav-commands {
    display: block;
    /* Stack vertically */
    flex-grow: 1;
    margin: 1rem 0;
}

.nav-item {
    display: block;
    /* Stack vertically */
    width: 100%;
    text-align: left;
    margin-bottom: 0.5rem;
    font-size: 1rem;
    padding: 0.8rem 0.5rem;
    cursor: pointer;
    border: 2px solid transparent;
    transition: all 0.15s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    min-height: 44px;
    /* Touch target minimum */
    display: flex;
    align-items: center;
    justify-content: flex-start;
    /* Align left */

    /* ENHANCED: Prepare for scan effect */
    &::before {
        content: '';
        position: absolute;
        left: -4px;
        top: 0;
        width: 2px;
        height: 100%;
        background: linear-gradient(to bottom, transparent, #FF4500, transparent);
        opacity: 0;
        transition: opacity 0.2s;
    }
}

/* Mobile: Use :active for touch feedback */
.nav-item:active,
.nav-item:hover {
    background-color: #000000;
    color: #FF4500;
    border: 2px solid #000000;
    padding-left: 1rem;
    /* Indent on hover */

    /* ENHANCED: Cyberpunk glow */
    box-shadow:
        0 0 15px rgba(255, 69, 0, 0.4),
        inset 0 0 15px rgba(255, 69, 0, 0.1);
    text-shadow: 0 0 10px rgba(255, 69, 0, 0.9);

    &::before {
        opacity: 1;
        animation: scanPulse 1.5s ease-in-out infinite;
    }
}

/* Removed .nav-item.active styling - navigation should only respond to hover */

/* Social Connections */
.social-connections {
    display: block;
    /* Stack vertically */
    margin: 1rem 0;
    padding: 1rem 0;
    border-top: 2px solid #000000;
    border-bottom: 2px solid #000000;
    min-height: auto;
}

.connection-header {
    font-size: 0.85rem;
    margin-bottom: 0.8rem;
    border-bottom: 1px solid #000000;
    padding-bottom: 0.3rem;
}

.connection-link {
    display: block;
    /* Stack vertically */
    font-size: 0.85rem;
    padding: 0.5rem 0.75rem;
    cursor: pointer;
    transition: all 0.15s ease;
    min-height: auto;
    display: flex;
    align-items: center;
    border: 2px solid transparent;
    margin-bottom: 0.2rem;
}

.connection-link:active,
.connection-link:hover {
    background-color: #000000;
    color: #FF4500;
    border: 2px solid #000000;
}

/* System Status */
.system-status {
    font-size: 0.8rem;
    border-top: 2px solid #000000;
    padding-top: 1rem;
    text-align: center;
}

/* ===== ORANGE ACCENT STYLING ===== */
/* Forward slash accent color */
.slash-accent {
    color: #FF4500;
}

/* System note label accent color */
.system-note-label {
    color: #FF4500;
    font-weight: bold;
}

/* ===== MAIN HEADER ===== */
.main-header {
    font-size: 1.8rem;
    /* Mobile-first sizing */
    font-weight: bold;
    letter-spacing: 0.05em;
    margin-top: 0;
    margin-bottom: 1.5rem;
    color: #000000;
    border-bottom: 3px solid #000000;
    padding-bottom: 0.75rem;
    text-align: left;
    line-height: 1.2;
}

/* ===== MAIN VIEWPORT (SCROLLING AREA) ===== */
/* MOBILE-FIRST: Full width, no sidebar offset */
.main-viewport {
    width: 100%;
    min-height: 100vh;
    padding: 1rem;
    /* Compact mobile padding */
    padding-top: 5rem;
    /* Space for fixed nav toggle */
    overflow-y: auto;
    scroll-behavior: smooth;
    background-color: transparent;
    z-index: 1;
    position: relative;
    flex: 1;
    /* Grow to fill available space */
}

/* Section Content */
.system-note-box {
    /* MODULE B: SYSTEM NOTE (BEIGE) */
    background-color: #F5F5DC;
    border: 3px solid #000000;
    border-radius: 6px;
    box-shadow: 4px 4px 0px rgba(0, 0, 0, 0.1);
    padding: 10px;
    min-height: 80px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    color: #000000;
    font-family: 'Share Tech Mono', monospace;
    font-size: 0.9rem;
    font-weight: bold;
}

.note-content {
    line-height: 1.4;
}

.section-content {
    display: none;
    /* Default-off policy: All sections are hidden by default */
    max-width: 100%;
    margin-top: 0;
    /* Ensure content starts at top of viewport */
    padding-top: 0;
    /* Eliminate any padding that could create space */
}

/* Ensure first child of section content has no top margin */
.section-content>*:first-child {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

.section-title {
    font-size: 1.3rem;
    /* Mobile-friendly */
    margin-top: 0;
    margin-bottom: 1.5rem;
    border-bottom: 2px solid #000000;
    padding-bottom: 0.5rem;
    letter-spacing: 0.05em;
    line-height: 1.3;
}

/* ===== HUD PHOTO CONTAINER ===== */
.hud-photo-container {
    margin-bottom: 2rem;
    display: flex;
    justify-content: center;
    /* Center on mobile */
    width: 100%;
}

.photo-frame {
    position: relative;
    border: 4px solid #000000;
    /* Thinner border on mobile */
    display: inline-block;
    background-color: #F5F5DC;
    width: 100%;
    /* Full width on mobile */
    max-width: 100%;
}

/* Corner Brackets */
.corner-bracket {
    position: absolute;
    font-size: 1.5rem;
    /* Smaller on mobile */
    font-weight: bold;
    color: #000000;
    z-index: 10;
}

.corner-bracket.top-left {
    top: -6px;
    left: -6px;
}

.corner-bracket.top-right {
    top: -6px;
    right: -6px;
}

.corner-bracket.bottom-left {
    bottom: -6px;
    left: -6px;
}

.corner-bracket.bottom-right {
    bottom: -6px;
    right: -6px;
}

/* Data Overlays */
.data-overlay {
    position: absolute;
    font-size: 0.65rem;
    /* Smaller on mobile */
    background-color: #F5F5DC;
    padding: 0.2rem 0.4rem;
    border: 1px solid #000000;
    z-index: 15;
}

.data-overlay.top-left {
    top: 10px;
    left: 10px;
}

.data-overlay.top-right {
    top: 10px;
    right: 10px;
    color: #FF4500;
    font-weight: bold;
}

.data-overlay.bottom-left {
    bottom: 10px;
    left: 10px;
}

.data-overlay.bottom-right {
    bottom: 10px;
    right: 10px;
    color: #FF4500;
    font-weight: bold;
}

/* HUD Photo */
.hud-photo {
    display: block;
    width: 100%;
    /* Full width on mobile */
    height: auto;
    max-height: 60vh;
    /* Limit height on mobile */
    object-fit: cover;
}

/* ===== PERSONAL PROTOCOL ===== */
.personal-protocol {
    margin: 0 0 2rem 0;
    max-width: 100%;
    border-top: 2px solid #000000;
    padding-top: 1rem;
}

.personal-protocol p {
    font-size: 0.95rem;
    /* Slightly smaller on mobile */
    line-height: 1.6;
    font-style: italic;
    color: #000000;
    text-align: left;
}

/* ===== SYSTEM MANIFESTO ===== */
.manifesto-container {
    margin-bottom: 2rem;
    max-width: 100%;
}

.manifesto-border-top,
.manifesto-border-bottom {
    height: 3px;
    background-color: #000000;
    margin: 1rem 0;
}

.system-manifesto {
    font-size: 0.9rem;
    /* Mobile-friendly */
    line-height: 1.6;
    padding: 1rem 0;
    text-align: left;
}

/* ===== PROCESSING MESSAGE ===== */
.processing-message {
    font-size: 1.2rem;
    padding: 2rem;
    text-align: center;
    color: #FF4500;
    font-weight: bold;
    border: 2px solid #FF4500;
    margin: 2rem;
    background-color: rgba(255, 69, 0, 0.05);
    animation: processing-pulse 1s ease-in-out infinite;
}

@keyframes processing-pulse {

    0%,
    100% {
        opacity: 0.8;
    }

    50% {
        opacity: 1;
    }
}

/* ===== CONTENT PLACEHOLDERS ===== */
.content-placeholder {
    font-size: 1.2rem;
    padding: 2rem;
    border: 2px dashed #000000;
    text-align: center;
    margin: 2rem 0;
}

/* ===== BORN HUMAN 84 PROTOCOL ===== */
.manifesto-text {
    margin: 2rem 0;
}

.protocol-block {
    margin-bottom: 2rem;
    border-left: 3px solid #FF4500;
    padding-left: 1rem;
    /* Less padding on mobile */
}

.protocol-block h3 {
    font-size: 1rem;
    margin-bottom: 0.75rem;
    color: #FF4500;
    font-weight: bold;
}

.protocol-block p {
    font-size: 0.9rem;
    /* Mobile-friendly */
    line-height: 1.6;
    color: #000000;
}

/* ===== CONTENT GRID SYSTEM ===== */
.content-grid {
    display: grid;
    grid-template-columns: 1fr;
    /* Single column on mobile */
    gap: 1.5rem;
    margin: 1.5rem 0;
}

.content-block {
    border: 2px solid #000000;
    padding: 1rem;
    /* Compact on mobile */
    background-color: #F5F5DC;
}

.content-block h3 {
    font-size: 1rem;
    margin-bottom: 0.75rem;
    border-bottom: 1px solid #000000;
    padding-bottom: 0.5rem;
    color: #FF4500;
}

.content-block p {
    font-size: 0.85rem;
    line-height: 1.5;
}

/* ===== MOBILE-FIRST RESPONSIVE DESIGN ===== */
/* DEFAULT: Mobile styles (320px - 374px) - Already defined above */

/* ===== LARGE PHONES (375px+) ===== */
@media (min-width: 375px) {
    html {
        font-size: 16px;
        /* Ensure minimum readable size */
    }

    .nav-item {
        font-size: 0.95rem;
        padding: 0.9rem 0.5rem;
    }

    .main-header {
        font-size: 2rem;
    }

    .corner-bracket {
        font-size: 1.75rem;
    }

    .data-overlay {
        font-size: 0.7rem;
    }
}

/* ===== SMALL TABLETS / LANDSCAPE PHONES (480px+) ===== */
@media (min-width: 480px) {
    .nav-item {
        font-size: 1rem;
        padding: 1rem 0.75rem;
    }

    .archive-grid {
        grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    }

    .main-header {
        font-size: 2.2rem;
    }

    .main-viewport {
        padding: 1.25rem;
        padding-top: 5rem;
    }

    .corner-bracket {
        font-size: 2rem;
    }

    .data-overlay {
        font-size: 0.75rem;
    }

    .photo-frame {
        border: 5px solid #000000;
    }

    .content-grid {
        grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
        gap: 2rem;
    }
}

/* ===== TABLETS PORTRAIT (768px+) ===== */
@media (min-width: 768px) {
    /* Transition to sidebar layout - NOW SLIDE-OUT FOR ALL */
    /* Sidebar styles are now unified for all breakpoints */

    .title-block {
        margin-bottom: 2.5rem;
    }

    .primary-title {
        font-size: 1.15rem;
    }

    /* Main viewport no longer has left padding for sidebar */
    .main-viewport {
        padding: 1.5rem 2rem 2rem 2rem;
        padding-top: 5rem;
    }

    .nav-commands {
        display: block;
        flex-grow: 1;
    }

    .nav-item {
        display: block;
        text-align: left;
        margin-bottom: 0.5rem;
        padding: 0.8rem 0;
        font-size: 1rem;
        min-height: 44px;
        /* Maintain touch target */
        flex: none;
    }

    .social-connections {
        display: block;
        margin-bottom: 2rem;
        padding: 1rem 0;
        min-height: 120px;
    }

    .connection-header {
        flex: none;
        margin-bottom: 0.8rem;
        font-size: 0.9rem;
    }

    .connection-link {
        display: block;
        padding: 0.3rem 0;
        min-height: auto;
    }

    .main-header {
        font-size: 2.5rem;
        border-bottom: 4px solid #000000;
        padding-bottom: 1rem;
        margin-bottom: 2rem;
    }

    .section-title {
        font-size: 1.5rem;
        margin-bottom: 2rem;
        border-bottom: 3px solid #000000;
    }

    .hud-photo-container {
        justify-content: flex-start;
        margin-bottom: 3rem;
    }

    .photo-frame {
        border: 7px solid #000000;
        width: auto;
        max-width: none;
    }

    .corner-bracket {
        font-size: 3rem;
    }

    .corner-bracket.top-left,
    .corner-bracket.top-right {
        top: -10px;
    }

    .corner-bracket.bottom-left,
    .corner-bracket.bottom-right {
        bottom: -10px;
    }

    .corner-bracket.top-left,
    .corner-bracket.bottom-left {
        left: -10px;
    }

    .corner-bracket.top-right,
    .corner-bracket.bottom-right {
        right: -10px;
    }

    .data-overlay {
        font-size: 0.8rem;
        padding: 0.2rem 0.5rem;
    }

    .personal-protocol {
        margin-bottom: 3rem;
        max-width: 800px;
    }

    .personal-protocol p {
        font-size: 1rem;
    }

    .manifesto-container {
        margin-bottom: 3rem;
        max-width: 800px;
    }

    .system-manifesto {
        font-size: 1rem;
        padding: 1.5rem 0;
    }

    .protocol-block {
        margin-bottom: 2.5rem;
        padding-left: 1.5rem;
    }

    .protocol-block h3 {
        font-size: 1.1rem;
        margin-bottom: 1rem;
    }

    .protocol-block p {
        font-size: 1rem;
        line-height: 1.7;
    }

    .content-grid {
        grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
        gap: 2rem;
        margin: 2rem 0;
    }

    .content-block {
        padding: 1.5rem;
    }

    .content-block h3 {
        font-size: 1.1rem;
        margin-bottom: 1rem;
    }

    .content-block p {
        font-size: 0.9rem;
        line-height: 1.6;
    }

    .archive-grid {
        grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
        gap: 2.5rem;
        margin: 3rem 0;
    }

    .archive-item {
        border: 3px solid #000000;
        padding: 1rem;
    }

    /* Re-enable hover effects on desktop */
    .archive-item:hover {
        transform: translateY(-5px);
        box-shadow: 8px 8px 0px #000000;
        border-color: #FF4500;
    }

    .archive-item:active {
        transform: translateY(-5px);
        opacity: 1;
    }

    .archive-item:hover .archive-photo {
        transform: scale(1.02);
    }

    .archive-photo {
        aspect-ratio: 4/3;
    }

    .archive-metadata {
        font-size: 0.85rem;
        gap: 0.5rem;
    }

    .archive-description {
        margin-bottom: 3rem;
        max-width: 900px;
        font-size: 1rem;
    }

    .archive-status {
        margin-bottom: 2rem;
        padding: 1rem 0;
        min-height: 120px;
    }

    .status-line {
        font-size: 0.85rem;
        padding: 0.3rem 0;
    }

    .system-metrics-overlay {
        display: block;
    }
}

/* ===== DESKTOP / TABLETS LANDSCAPE (1024px+) ===== */
@media (min-width: 1024px) {
    .sidebar {
        width: 320px;
    }

    .primary-title {
        font-size: 1.2rem;
    }

    .title-block {
        margin-bottom: 3rem;
    }

    .main-viewport {
        padding: 2rem;
    }

    .archive-grid {
        grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
        gap: 3rem;
    }

    .hud-photo {
        width: clamp(400px, 60vw, 700px);
        max-height: 50vh;
    }

    .loading-indicator,
    .empty-archive-message,
    .error-message {
        padding: 4rem 2rem;
    }

    .loading-text,
    .empty-text,
    .error-text {
        font-size: 1.2rem;
    }

    .empty-icon,
    .error-icon {
        font-size: 2rem;
        margin-bottom: 1rem;
    }

    .error-details {
        font-size: 0.9rem;
    }

    .error-hint,
    .empty-subtext {
        font-size: 0.9rem;
    }
}

/* ===== LARGE DESKTOP (1280px+) ===== */
@media (min-width: 1280px) {
    .main-viewport {
        padding: 1.5rem 3rem 2rem calc(320px + 3rem);
    }

    .archive-grid {
        gap: 3.5rem;
        margin: 3rem 0;
        padding-bottom: 3rem;
    }

    .archive-item {
        border: 3px solid #000000;
    }
}

/* ===== ACCESSIBILITY ===== */
@media (prefers-reduced-motion: reduce) {
    * {
        transition: none !important;
        animation: none !important;
    }
}

/* ===== CYBERPUNK ENHANCEMENTS ===== */

/* Scanline overlay effect */
@keyframes scanline {
    0% {
        transform: translateY(-100%);
    }

    100% {
        transform: translateY(100vh);
    }
}

.hud-interface::after {
    content: '';
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 4px;
    background: linear-gradient(to bottom, transparent, rgba(255, 69, 0, 0.15), transparent);
    pointer-events: none;
    z-index: 9998;
    animation: scanline 8s linear infinite;
    opacity: 0.3;
}

/* Phosphor glow effect for text */
@keyframes phosphorGlow {

    0%,
    100% {
        text-shadow: 0 0 4px rgba(255, 69, 0, 0.5);
    }

    50% {
        text-shadow: 0 0 8px rgba(255, 69, 0, 0.8), 0 0 12px rgba(255, 69, 0, 0.4);
    }
}

/* Scan pulse for navigation */
@keyframes scanPulse {

    0%,
    100% {
        transform: translateY(-100%);
        opacity: 0;
    }

    50% {
        transform: translateY(50%);
        opacity: 1;
    }
}

/* Subtle flicker for authenticity */
@keyframes flicker {

    0%,
    100% {
        opacity: 1;
    }

    41.99% {
        opacity: 1;
    }

    42% {
        opacity: 0.8;
    }

    43% {
        opacity: 1;
    }

    45.99% {
        opacity: 1;
    }

    46% {
        opacity: 0.9;
    }

    46.5% {
        opacity: 1;
    }
}

/* Data stream effect */
@keyframes dataStream {
    0% {
        transform: translateY(-100%);
        opacity: 0;
    }

    10% {
        opacity: 0.6;
    }

    90% {
        opacity: 0.6;
    }

    100% {
        transform: translateY(100vh);
        opacity: 0;
    }
}

/* Enhanced corner bracket glow */
.corner-bracket {
    position: absolute;
    font-size: 3rem;
    font-weight: bold;
    color: #000000;
    z-index: 10;

    /* ENHANCED: Subtle glow */
    filter: drop-shadow(0 0 2px rgba(0, 0, 0, 0.3));
    transition: all 0.3s ease;
}

.photo-frame:hover .corner-bracket {
    color: #FF4500;
    filter: drop-shadow(0 0 6px rgba(255, 69, 0, 0.6));
    animation: phosphorGlow 2s ease-in-out infinite;
}

/* Enhanced data overlays with glow */
.data-overlay {
    position: absolute;
    font-size: 0.8rem;
    background-color: #F5F5DC;
    padding: 0.2rem 0.5rem;
    border: 1px solid #000000;
    z-index: 15;

    /* ENHANCED: Depth and glow */
    box-shadow:
        2px 2px 4px rgba(0, 0, 0, 0.2),
        0 0 8px rgba(245, 245, 220, 0.8);
    transition: all 0.2s ease;
}

.data-overlay.top-right,
.data-overlay.bottom-right {
    animation: flicker 8s infinite;
}

/* Main header with chromatic aberration */
.main-header {
    font-size: 2.5rem;
    font-weight: bold;
    letter-spacing: 0.05em;
    margin-top: 0;
    margin-bottom: 2rem;
    color: #000000;
    border-bottom: 4px solid #000000;
    padding-bottom: 1rem;
    text-align: left;
    position: relative;

    /* ENHANCED: Chromatic effect */
    text-shadow:
        -1px -1px 0 rgba(0, 255, 255, 0.3),
        1px 1px 0 rgba(255, 69, 0, 0.3);
}

/* System status with breathing effect */
.system-status {
    font-size: 0.8rem;
    border-top: 2px solid #000000;
    padding-top: 1rem;
    text-align: center;

    /* ENHANCED: Breathing animation */
    animation: breathe 3s ease-in-out infinite;
}

@keyframes breathe {

    0%,
    100% {
        opacity: 0.8;
    }

    50% {
        opacity: 1;
    }
}

/* Enhanced photo frame with holographic effect */
.photo-frame {
    position: relative;
    border: 7px solid #000000;
    display: inline-block;
    background-color: #F5F5DC;

    /* ENHANCED: Depth and glow */
    box-shadow:
        0 0 20px rgba(0, 0, 0, 0.3),
        inset 0 0 30px rgba(255, 69, 0, 0.05);
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.photo-frame:hover {
    box-shadow:
        0 0 30px rgba(255, 69, 0, 0.4),
        0 0 60px rgba(255, 69, 0, 0.2),
        inset 0 0 40px rgba(255, 69, 0, 0.1);
    transform: translateY(-2px);
}

/* Glitch effect class for dynamic use */
@keyframes glitch {
    0% {
        transform: translate(0);
        clip-path: inset(0 0 0 0);
    }

    20% {
        transform: translate(-2px, 2px);
        clip-path: inset(0 0 calc(100% - 20%) 0);
    }

    40% {
        transform: translate(2px, -2px);
        clip-path: inset(calc(100% - 60%) 0 20% 0);
    }

    60% {
        transform: translate(-2px, 2px);
        clip-path: inset(40% 0 40% 0);
    }

    80% {
        transform: translate(2px, -2px);
        clip-path: inset(60% 0 0 0);
    }

    100% {
        transform: translate(0);
        clip-path: inset(0 0 0 0);
    }
}

.glitch-effect {
    animation: glitch 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

/* RGB split effect */
@keyframes rgbSplit {

    0%,
    100% {
        text-shadow:
            -1px 0 0 rgba(255, 0, 0, 0.5),
            1px 0 0 rgba(0, 255, 255, 0.5);
    }

    25% {
        text-shadow:
            -2px 0 0 rgba(255, 0, 0, 0.7),
            2px 0 0 rgba(0, 255, 255, 0.7);
    }

    50% {
        text-shadow:
            -1px 0 0 rgba(255, 0, 0, 0.5),
            1px 0 0 rgba(0, 255, 255, 0.5);
    }

    75% {
        text-shadow:
            -3px 0 0 rgba(255, 0, 0, 0.8),
            3px 0 0 rgba(0, 255, 255, 0.8);
    }
}

/* Terminal boot sequence styles */
.boot-sequence {
    font-family: 'Share Tech Mono', monospace;
    color: #FF4500;
    white-space: pre;
    overflow: hidden;
    border-right: 2px solid #FF4500;
    animation: typewriter 2s steps(40) forwards, blink 0.75s step-end infinite;
}

@keyframes typewriter {
    from {
        width: 0;
    }

    to {
        width: 100%;
    }
}

@keyframes blink {
    50% {
        border-color: transparent;
    }
}

/* Neon underglow effect */
.neon-glow {
    box-shadow:
        0 0 5px #FF4500,
        0 0 10px #FF4500,
        0 0 20px #FF4500,
        0 0 40px #FF4500;
    animation: neonPulse 2s ease-in-out infinite;
}

@keyframes neonPulse {

    0%,
    100% {
        box-shadow:
            0 0 5px #FF4500,
            0 0 10px #FF4500,
            0 0 20px #FF4500,
            0 0 40px #FF4500;
    }

    50% {
        box-shadow:
            0 0 10px #FF4500,
            0 0 20px #FF4500,
            0 0 40px #FF4500,
            0 0 80px #FF4500,
            0 0 120px #FF4500;
    }
}

/* Holographic shimmer */
@keyframes holographicShimmer {
    0% {
        background-position: -200% center;
    }

    100% {
        background-position: 200% center;
    }
}

.holographic {
    background: linear-gradient(90deg,
            transparent 0%,
            rgba(0, 255, 255, 0.1) 25%,
            rgba(255, 69, 0, 0.1) 50%,
            rgba(0, 255, 255, 0.1) 75%,
            transparent 100%);
    background-size: 200% 100%;
    animation: holographicShimmer 3s linear infinite;
}

/* Electromagnetic pulse effect */
@keyframes empPulse {
    0% {
        box-shadow: 0 0 0 0 rgba(255, 69, 0, 0.7);
        opacity: 1;
    }

    100% {
        box-shadow: 0 0 0 30px rgba(255, 69, 0, 0);
        opacity: 0;
    }
}

.emp-pulse {
    position: relative;
}

.emp-pulse::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 100%;
    transform: translate(-50%, -50%);
    border-radius: 50%;
    animation: empPulse 2s ease-out infinite;
}

/* Archive items enhanced */
.archive-item {
    display: flex;
    flex-direction: column;
    border: 3px solid #000000;
    background-color: #F5F5DC;
    padding: 1rem;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;

    /* ENHANCED: Depth effect */
    box-shadow: 4px 4px 0px rgba(0, 0, 0, 0.2);
}

.archive-item:hover {
    transform: translateY(-5px);
    box-shadow:
        8px 8px 0px #000000,
        0 0 20px rgba(255, 69, 0, 0.3);
    border-color: #FF4500;
}

.archive-item:hover .archive-timestamp {
    animation: phosphorGlow 1.5s ease-in-out infinite;
}

/* ===== SYSTEM METRICS OVERLAY ===== */
.system-metrics-overlay {
    display: none;
    /* Hidden on mobile by default */
    position: fixed;
    top: 1rem;
    right: 1rem;
    background: rgba(245, 245, 220, 0.9);
    border: 2px solid #000000;
    padding: 1rem;
    font-size: 0.75rem;
    font-family: 'Share Tech Mono', monospace;
    z-index: 9997;
    backdrop-filter: blur(5px);
    box-shadow:
        4px 4px 0px rgba(0, 0, 0, 0.3),
        inset 0 0 20px rgba(255, 69, 0, 0.05);
    min-width: 200px;
}

.metric-item {
    display: flex;
    justify-content: space-between;
    padding: 0.3rem 0;
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

.metric-item:last-child {
    border-bottom: none;
}

.metric-label {
    color: #000000;
    font-weight: bold;
    margin-right: 1rem;
}

.metric-value {
    color: #FF4500;
    font-weight: bold;
    text-align: right;
    animation: flicker 4s infinite;
}

.status-online {
    color: #00FF00;
    text-shadow: 0 0 5px rgba(0, 255, 0, 0.5);
}

/* Status indicator pulse */
.status-indicator {
    display: inline-block;
    width: 8px;
    height: 8px;
    background: #FF4500;
    border-radius: 50%;
    margin-right: 0.5rem;
    animation: statusPulse 2s ease-in-out infinite;
    box-shadow: 0 0 8px rgba(255, 69, 0, 0.8);
}

@keyframes statusPulse {

    0%,
    100% {
        opacity: 1;
        transform: scale(1);
    }

    50% {
        opacity: 0.6;
        transform: scale(1.2);
    }
}


/* ===== SELECTION STYLING ===== */
::selection {
    background: #FF4500;
    color: #F5F5DC;
    text-shadow: 0 0 5px rgba(245, 245, 220, 0.5);
}

::-moz-selection {
    background: #FF4500;
    color: #F5F5DC;
    text-shadow: 0 0 5px rgba(245, 245, 220, 0.5);
}


/* ===== LOADING STATES ===== */
.hud-photo[src*="INITIALIZING"] {
    filter: contrast(1.2);
    animation: hud-pulse 1.5s ease-in-out infinite;
}

@keyframes hud-pulse {

    0%,
    100% {
        opacity: 0.8;
    }

    50% {
        opacity: 1;
    }
}

/* ===== ARCHIVE PAGE STYLES ===== */

/* Archive Link Styling */
.archive-link {
    display: block;
    cursor: pointer;
    transition: opacity 0.2s ease;
    -webkit-tap-highlight-color: transparent;
    /* Remove tap highlight on mobile */
}

.archive-link:active,
.archive-link:hover {
    opacity: 0.85;
}

/* Archive Status Sidebar */
.archive-status {
    margin-bottom: 1rem;
    padding: 0.75rem 0;
    border-top: 2px solid #000000;
    border-bottom: 2px solid #000000;
}

.status-line {
    font-size: 0.8rem;
    padding: 0.25rem 0;
    color: #000000;
    line-height: 1.4;
}

/* Archive Description */
.archive-description {
    margin-top: 0;
    margin-bottom: 2rem;
    max-width: 100%;
    font-size: 0.9rem;
    line-height: 1.6;
}

/* Archive Grid Layout */
/* MOBILE-FIRST: Single column */
.archive-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2rem;
    margin: 2rem 0;
    padding-bottom: 2rem;
}

/* Individual Archive Item */
.archive-item {
    display: flex;
    flex-direction: column;
    border: 2px solid #000000;
    /* Thinner on mobile */
    background-color: #F5F5DC;
    padding: 0.75rem;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    -webkit-tap-highlight-color: transparent;
}

/* No hover effects on mobile - use :active for touch feedback */
.archive-item:active {
    transform: scale(0.98);
    opacity: 0.9;
}

/* Archive Photo Frame */
.archive-photo-frame {
    position: relative;
    border: 2px solid #000000;
    background-color: #F5F5DC;
    margin-bottom: 0.75rem;
    overflow: hidden;
}

/* Archive Photo */
.archive-photo {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 16/9;
    /* Mobile-friendly ratio */
    object-fit: cover;
    transition: transform 0.3s ease;
}

.archive-photo.error-state {
    opacity: 0.5;
    filter: grayscale(100%);
}

/* Archive Metadata */
.archive-metadata {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    font-size: 0.8rem;
}

.archive-timestamp {
    font-weight: bold;
    color: #FF4500;
    border-bottom: 1px solid #000000;
    padding-bottom: 0.25rem;
    font-size: 0.85rem;
}

.archive-context {
    color: #000000;
    line-height: 1.5;
    font-style: italic;
    font-size: 0.8rem;
}

.archive-filename {
    color: #000000;
    opacity: 0.6;
    font-size: 0.7rem;
    margin-top: 0.25rem;
}

/* Loading Indicator */
.loading-indicator {
    grid-column: 1 / -1;
    text-align: center;
    padding: 3rem 1rem;
    border: 2px dashed #000000;
}

.loading-text {
    font-size: 1rem;
    color: #FF4500;
    margin-bottom: 1rem;
    font-weight: bold;
}

.loading-bar {
    width: 200px;
    height: 4px;
    background-color: #000000;
    margin: 0 auto;
    position: relative;
    overflow: hidden;
}

.loading-bar::after {
    content: '';
    position: absolute;
    top: 0;
    left: -50%;
    width: 50%;
    height: 100%;
    background-color: #FF4500;
    animation: loading-slide 1.5s ease-in-out infinite;
}

@keyframes loading-slide {
    0% {
        left: -50%;
    }

    100% {
        left: 100%;
    }
}

/* Empty Archive Message */
.empty-archive-message {
    grid-column: 1 / -1;
    text-align: center;
    padding: 3rem 1rem;
    border: 2px solid #000000;
    background-color: rgba(255, 69, 0, 0.05);
}

.empty-icon {
    font-size: 1.5rem;
    font-weight: bold;
    color: #000000;
    margin-bottom: 0.75rem;
}

.empty-text {
    font-size: 1rem;
    color: #FF4500;
    margin-bottom: 0.5rem;
    font-weight: bold;
}

.empty-subtext {
    font-size: 0.85rem;
    color: #000000;
    font-style: italic;
}

/* Error Message */
.error-message {
    grid-column: 1 / -1;
    text-align: center;
    padding: 3rem 1rem;
    border: 2px solid #FF4500;
    background-color: rgba(255, 69, 0, 0.1);
}

.error-icon {
    font-size: 1.5rem;
    font-weight: bold;
    color: #FF4500;
    margin-bottom: 0.75rem;
}

.error-text {
    font-size: 1rem;
    color: #FF4500;
    margin-bottom: 0.75rem;
    font-weight: bold;
}

.error-details {
    font-size: 0.8rem;
    color: #000000;
    margin-bottom: 0.5rem;
    font-family: monospace;
    word-break: break-word;
}

.error-hint {
    font-size: 0.8rem;
    color: #000000;
    font-style: italic;
}


/* ===== PUBLISHING PAGE - PIXEL ART NOVEL SHOWCASE ===== */

/* Novel Showcase Container */
.novel-showcase {
    position: relative;
    min-height: 100vh;
    padding: 2rem 0;
    overflow-x: hidden;
    /* Prevent horizontal scroll from massive elements */
    display: flex;
    align-items: center;
    justify-content: center;
}

.novel-showcase-wrapper {
    max-width: 1600px;
    margin: 0 auto;
    padding: 0 1rem;
    width: 100%;
}

/* Breadcrumb Back Button */
.publishing-breadcrumb {
    margin-bottom: 2rem;
}

.breadcrumb-back-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem 1.5rem;
    background: transparent;
    border: 2px solid #000000;
    color: #000000;
    font-family: 'Share Tech Mono', monospace;
    font-size: 0.9rem;
    font-weight: bold;
    text-decoration: none;
    cursor: pointer;
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
}

.breadcrumb-back-btn::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: #FF4500;
    transition: left 0.3s ease;
    z-index: -1;
}

.breadcrumb-back-btn:hover::before {
    left: 0;
}

.breadcrumb-back-btn:hover {
    color: #F5F5DC;
    border-color: #FF4500;
}

.back-arrow {
    font-size: 1.2rem;
    transition: transform 0.3s ease;
}

.breadcrumb-back-btn:hover .back-arrow {
    transform: translateX(-4px);
}

.back-text {
    letter-spacing: 0.1em;
}

/* Pixel Stars Background */
.pixel-stars {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image:
        radial-gradient(2px 2px at 20% 30%, #FF4500 1px, transparent 1px),
        radial-gradient(2px 2px at 60% 70%, #00FFFF 1px, transparent 1px),
        radial-gradient(1px 1px at 50% 50%, #000000 1px, transparent 1px),
        radial-gradient(1px 1px at 80% 10%, #FF4500 1px, transparent 1px),
        radial-gradient(2px 2px at 90% 60%, #00FFFF 1px, transparent 1px),
        radial-gradient(1px 1px at 33% 80%, #000000 1px, transparent 1px);
    background-size: 200px 200px, 250px 250px, 150px 150px, 180px 180px, 220px 220px, 190px 190px;
    background-position: 0 0, 40px 60px, 130px 270px, 70px 100px, 150px 50px, 90px 180px;
    opacity: 0.3;
    animation: pixelStarsDrift 120s linear infinite;
    pointer-events: none;
}

@keyframes pixelStarsDrift {
    0% {
        transform: translate(0, 0);
    }

    100% {
        transform: translate(-50px, 50px);
    }
}

/* Book Hero Layout */
.book-hero {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2rem;
    position: relative;
    z-index: 1;
}

/* Book Cover Container */
.book-cover-container {
    position: relative;
    /* Height-based sizing for "Showcase" feel */
    height: auto;
    width: 70vw;
    /* Default for mobile */
    max-width: 450px;
    aspect-ratio: 2/3;
    box-shadow:
        8px 8px 0px rgba(0, 0, 0, 0.3),
        0 0 20px rgba(255, 69, 0, 0.2);
    box-shadow:
        8px 8px 0px rgba(0, 0, 0, 0.3),
        0 0 20px rgba(255, 69, 0, 0.2);
    overflow: hidden;
    background: #F5F5DC;
    /* Beige background for blend mode */
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Color overlay for duotone effect */
.book-cover-container::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg,
            rgba(255, 69, 0, 0.15) 0%,
            rgba(0, 0, 0, 0.2) 50%,
            rgba(0, 255, 255, 0.1) 100%);
    mix-blend-mode: overlay;
    pointer-events: none;
    z-index: 1;
    opacity: 0.7;
    transition: opacity 0.3s;
}

.book-cover-container:hover::before {
    opacity: 0.9;
}

.book-cover-container:hover {
    transform: translateY(-8px);
    box-shadow:
        12px 12px 0px rgba(0, 0, 0, 0.4),
        0 0 30px rgba(255, 69, 0, 0.4),
        0 0 60px rgba(0, 255, 255, 0.2);
}

/* Book Cover Image */
.book-cover {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;

    /* Pixelation effect */
    image-rendering: pixelated;
    image-rendering: -moz-crisp-edges;
    image-rendering: crisp-edges;

    /* Color scheme transformation - duotone effect */
    filter:
        contrast(1.2) saturate(0.3) sepia(0.4) hue-rotate(-10deg);

    /* Blend with background for color harmony */
    mix-blend-mode: multiply;
    opacity: 0.95;

    transition: all 0.3s ease;
}

/* Enhanced effect on hover */
.book-cover-container:hover .book-cover {
    filter:
        contrast(1.3) saturate(0.5) sepia(0.5) hue-rotate(-5deg);
    opacity: 1;
}

/* Pixel Corners */
.pixel-corner {
    position: absolute;
    width: 16px;
    height: 16px;
    background: #FF4500;
    z-index: 2;
}

.pixel-corner::before,
.pixel-corner::after {
    content: '';
    position: absolute;
    background: #FF4500;
}

.pixel-tl {
    top: -8px;
    left: -8px;
    box-shadow:
        0 0 8px rgba(255, 69, 0, 0.6),
        inset 0 0 4px rgba(255, 69, 0, 0.3);
}

.pixel-tr {
    top: -8px;
    right: -8px;
    box-shadow:
        0 0 8px rgba(255, 69, 0, 0.6),
        inset 0 0 4px rgba(255, 69, 0, 0.3);
}

.pixel-bl {
    bottom: -8px;
    left: -8px;
    box-shadow:
        0 0 8px rgba(255, 69, 0, 0.6),
        inset 0 0 4px rgba(255, 69, 0, 0.3);
}

.pixel-br {
    bottom: -8px;
    right: -8px;
    box-shadow:
        0 0 8px rgba(255, 69, 0, 0.6),
        inset 0 0 4px rgba(255, 69, 0, 0.3);
}

/* Glitch Overlay */
.book-glitch-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    background: linear-gradient(90deg,
            transparent 0%,
            rgba(255, 69, 0, 0.1) 25%,
            rgba(0, 255, 255, 0.1) 50%,
            rgba(255, 69, 0, 0.1) 75%,
            transparent 100%);
    pointer-events: none;
    transition: opacity 0.3s;
}

.book-cover-container:hover .book-glitch-overlay {
    opacity: 1;
    animation: glitchSweep 0.6s ease-in-out;
}

@keyframes glitchSweep {
    0% {
        transform: translateX(-100%);
    }

    100% {
        transform: translateX(100%);
    }
}

/* Book Info Panel */
.book-info-panel {
    max-width: 1200px;
    max-height: 1000px;
    width: 100%;
    height: 100%;
}

/* Pixel Divider */
.pixel-divider {
    height: 4px;
    background: repeating-linear-gradient(90deg,
            #000000 0px,
            #000000 8px,
            transparent 8px,
            transparent 16px);
    margin: 1.5rem 0;
    position: relative;
}

.pixel-divider::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 8px;
    height: 8px;
    background: #FF4500;
    box-shadow: 0 0 8px rgba(255, 69, 0, 0.6);
}

.pixel-divider::after {
    content: '';
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 8px;
    height: 8px;
    background: #00FFFF;
    box-shadow: 0 0 8px rgba(0, 255, 255, 0.6);
}

/* Book Title */
.book-title {
    font-size: 3.3rem;
    font-weight: bold;
    letter-spacing: 0.1em;
    margin-bottom: 0.5rem;
    color: #000000;
    text-align: center;
    text-shadow:
        2px 2px 0 rgba(255, 69, 0, 0.3),
        -1px -1px 0 rgba(0, 255, 255, 0.2);
}

.pixel-bracket {
    color: #FF4500;
    font-size: 2rem;
    text-shadow: 0 0 10px rgba(255, 69, 0, 0.6);
    animation: pixelPulse 2s ease-in-out infinite;
}

@keyframes pixelPulse {

    0%,
    100% {
        opacity: 1;
    }

    50% {
        opacity: 0.6;
    }
}

/* Book Subtitle */
.book-subtitle {
    font-size: 1.5rem;
    color: #FF4500;
    text-align: center;
    letter-spacing: 0.15em;
    margin-bottom: 1.5rem;
    font-weight: bold;
}

/* Book Meta */
.book-meta {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    margin: 1.5rem 0;
}

.meta-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.5rem 0;
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

.meta-label {
    font-size: 0.85rem;
    font-weight: bold;
    color: #000000;
}

.meta-value {
    font-size: 0.85rem;
    color: #000000;
}

.status-live {
    color: #FF4500;
    font-weight: bold;
    text-shadow: 0 0 8px rgba(255, 69, 0, 0.5);
    animation: statusBlink 2s ease-in-out infinite;
}

@keyframes statusBlink {

    0%,
    100% {
        opacity: 1;
    }

    50% {
        opacity: 0.7;
    }
}

/* Book Description */
.book-description {
    font-size: 1.15rem;
    line-height: 1.8;
    color: #000000;
    text-align: left;
    margin: 1.5rem 0;
}

/* Book Actions */
.book-actions {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    margin-top: 2rem;
}

/* Pixel Buttons */
.pixel-button {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    padding: 1rem 2rem;
    font-family: 'Share Tech Mono', monospace;
    font-size: 1rem;
    font-weight: bold;
    letter-spacing: 0.1em;
    border: 3px solid #000000;
    background: #F5F5DC;
    color: #000000;
    cursor: pointer;
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
    text-decoration: none;
    position: relative;
    overflow: hidden;
    min-height: 54px;
    -webkit-tap-highlight-color: transparent;
}

.pixel-button::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg,
            transparent,
            rgba(255, 69, 0, 0.2),
            transparent);
    transition: left 0.5s;
}

.pixel-button:hover::before,
.pixel-button:active::before {
    left: 100%;
}

.pixel-button-primary {
    background: #000000;
    color: #FF4500;
    border-color: #FF4500;
    box-shadow:
        0 0 20px rgba(255, 69, 0, 0.3),
        inset 0 0 20px rgba(255, 69, 0, 0.1);
}

.pixel-button-primary:hover,
.pixel-button-primary:active {
    box-shadow:
        0 0 30px rgba(255, 69, 0, 0.6),
        0 0 60px rgba(255, 69, 0, 0.3),
        inset 0 0 30px rgba(255, 69, 0, 0.2);
    transform: translateY(-2px);
}

.pixel-button-secondary {
    border-color: #000000;
}

.pixel-button-secondary:hover,
.pixel-button-secondary:active {
    background: #000000;
    color: #00FFFF;
    border-color: #00FFFF;
    box-shadow:
        0 0 20px rgba(0, 255, 255, 0.4),
        inset 0 0 20px rgba(0, 255, 255, 0.1);
}

.button-pixel-l,
.button-pixel-r {
    font-size: 0.8rem;
    opacity: 0.8;
}

/* Pixel Decorations */
.pixel-decoration {
    position: absolute;
    pointer-events: none;
    opacity: 0.4;
}

.pixel-planet {
    width: 60px;
    height: 60px;
    background:
        radial-gradient(circle at 30% 30%, #00FFFF 0%, transparent 50%),
        radial-gradient(circle, #FF4500 40%, transparent 70%);
    border-radius: 50%;
    top: 10%;
    right: 5%;
    animation: pixelFloat 6s ease-in-out infinite;
    box-shadow: 0 0 20px rgba(255, 69, 0, 0.4);
}

.pixel-satellite {
    width: 40px;
    height: 40px;
    background: #000000;
    bottom: 15%;
    left: 10%;
    clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);
    animation: pixelRotate 8s linear infinite;
    box-shadow: 0 0 15px rgba(0, 255, 255, 0.5);
}

@keyframes pixelFloat {

    0%,
    100% {
        transform: translateY(0px) rotate(0deg);
    }

    50% {
        transform: translateY(-20px) rotate(5deg);
    }
}

@keyframes pixelRotate {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

/* Excerpt Modal - Classified Paper Dossier Design */
/* Excerpt Modal - Industrial Data Terminal Design */
.excerpt-modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(0, 0, 0, 0.85);
    z-index: 10000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
    backdrop-filter: blur(8px);
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease;
}

.excerpt-modal[style*="display: flex"] {
    opacity: 1;
    pointer-events: auto;
}

/* 1. THE DOSSIER CHASSIS */
.excerpt-content {
    background: #F5F5DC;
    /* Warm Paper */
    border: 4px solid #000000;
    /* Heavy Frame */
    box-shadow: 10px 10px 0px rgba(0, 0, 0, 1);
    /* Hard Shadow */
    position: relative;
    max-width: 800px;
    width: 95%;
    max-height: 85vh;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

/* Reinforced Corners (Pseudo-elements) */
.excerpt-content::before {
    content: '';
    position: absolute;
    top: -4px;
    left: -4px;
    width: 20px;
    height: 20px;
    border-top: 8px solid #000000;
    border-left: 8px solid #000000;
    z-index: 2;
    pointer-events: none;
}

.excerpt-content::after {
    content: '';
    position: absolute;
    bottom: -4px;
    right: -4px;
    width: 20px;
    height: 20px;
    border-bottom: 8px solid #000000;
    border-right: 8px solid #000000;
    z-index: 2;
    pointer-events: none;
}

/* 2. THE HEADER BAR */
.excerpt-header {
    background: #F5F5DC;
    border-bottom: 3px solid #000000;
    padding: 1.5rem 2rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-shrink: 0;
    position: relative;
    box-sizing: border-box;
}

.excerpt-title {
    font-family: 'VT323', monospace;
    font-size: 3.5rem;
    /* Larger to match CONTACT_SYSTEM */
    color: #000000;
    margin: 0;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    line-height: 1;
}

.excerpt-meta {
    display: flex;
    align-items: center;
}

.excerpt-count {
    background: #000000;
    color: #F5F5DC;
    padding: 0.25rem 0.75rem;
    font-family: 'Share Tech Mono', monospace;
    font-weight: bold;
    font-size: 1rem;
    border: 2px solid #000000;
    /* Stamp aesthetic - straightened for strict grid */
    transform: none;
}

/* 4. THE CLOSE MECHANISM */
.excerpt-close {
    width: 44px;
    height: 44px;
    background: #000000;
    color: #F5F5DC;
    border: none;
    font-family: 'Share Tech Mono', monospace;
    font-size: 1.5rem;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s;
    margin-left: 1.5rem;
}

.excerpt-close:hover {
    background: #FF4500;
    color: #000000;
}

/* 3. THE DATA STREAM */
.excerpt-cards-container {
    padding: 2rem 2rem 4rem 2rem;
    overflow-y: auto;
    background: #F5F5DC;
    flex: 1;
}

/* Custom Scrollbar - High Contrast */
.excerpt-cards-container::-webkit-scrollbar {
    width: 12px;
    background: #F5F5DC;
    border-left: 2px solid #000000;
}

.excerpt-cards-container::-webkit-scrollbar-thumb {
    background: #000000;
    border: 2px solid #F5F5DC;
}

.excerpt-cards-container::-webkit-scrollbar-thumb:hover {
    background: #FF4500;
}

/* Continuous Stream Card */
.excerpt-card {
    background: transparent;
    border: none;
    border-left: 4px solid #000000;
    padding-left: 1.5rem;
    margin-bottom: 3rem;
    position: relative;
    transition: border-color 0.3s ease;
}

.excerpt-card:hover {
    border-left-color: #FF4500;
}

.card-number {
    position: absolute;
    top: -1rem;
    right: 0;
    font-family: 'VT323', monospace;
    font-size: 4rem;
    color: #000000;
    opacity: 0.1;
    line-height: 1;
    pointer-events: none;
    user-select: none;
}

.card-label {
    font-family: 'Share Tech Mono', monospace;
    font-size: 1rem;
    color: #000000;
    margin-bottom: 1rem;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    font-weight: bold;
    display: block;
}

.card-text {
    font-family: 'Share Tech Mono', monospace;
    font-size: 1.1rem;
    line-height: 1.6;
    color: #000000;
}

.card-text p {
    margin-bottom: 1rem;
}

.card-text strong {
    background: #000000;
    color: #F5F5DC;
    padding: 0 0.4rem;
    font-weight: normal;
}

/* Modal CTA Button */
.excerpt-cta-button {
    display: block;
    width: 100%;
    padding: 1.5rem;
    background: #000000;
    color: #FF4500;
    font-family: 'VT323', monospace;
    font-size: 1.5rem;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    border: none;
    cursor: pointer;
    transition: all 0.2s ease;
    box-sizing: border-box;
    margin-top: auto;
    /* Push to bottom if container allows */
}

.excerpt-cta-button:hover {
    background: #FF4500;
    color: #000000;
    box-shadow: 0 0 15px rgba(255, 69, 0, 0.6);
}


/* ===== PUBLISHING PAGE RESPONSIVE ===== */
/* MOBILE / TABLET DEFAULT (Small screens) */
/* By default, we override the massive desktop values to fit small screens */

@media (max-width: 1023px) {
    .book-cover-container {
        width: 100% !important;
        max-width: 350px !important;
        margin: 0 auto;
    }

    .book-title {
        font-size: clamp(2.5rem, 8vw, 4rem) !important;
        letter-spacing: 0.1em !important;
    }

    .book-description {
        font-size: 1.1rem !important;
    }

    .book-info-panel {
        max-width: 100%;
    }

    .book-hero {
        align-items: center;
        text-align: center;
    }
}

/* DESKTOP (1024px+) */
@media (min-width: 1024px) {
    .novel-showcase {
        padding: 4rem 0;
    }

    .book-hero {
        flex-direction: row;
        align-items: center;
        gap: 4rem;
    }

    .book-cover-container {
        /* On desktop, we scale by HEIGHT to fit the screen */
        height: 75vh;
        width: auto;
        /* Width calculated by aspect-ratio */
        max-width: none;
        max-height: 850px;
        /* Cap for massive screens */
        flex-shrink: 0;
    }

    .book-info-panel {
        flex: 1;
        max-width: 1000px;
    }

    .book-title {
        font-size: 4.5rem;
        text-align: left;
        letter-spacing: 0.15em;
    }

    .book-subtitle {
        text-align: left;
    }

    .book-actions {
        flex-direction: row;
        justify-content: flex-start;
    }

    .pixel-button {
        flex: 0 1 auto;
    }
}

/* ===== UNIVERSAL NAVIGATION FIXES ===== */
/* Ensures the primary title hover/active effect works on all pages, including archive.html */
/* High-specificity rule to override inline styles and anchor tag inheritance */
.sidebar .title-block .primary-title:active,
.sidebar .title-block .primary-title:hover,
.sidebar .title-block a.primary-title:active,
.sidebar .title-block a.primary-title:hover {
    background-color: #000000 !important;
    color: #FF4500 !important;
}

/* ===== HASH NAVIGATION CSS FALLBACK ===== */
/* Critical fix: Ensures sections display when accessed via hash (e.g., #publishing) */
/* This provides a CSS-only fallback if JavaScript fails or loads slowly */
#home-content:target,
#born-human-84-content:target,
#publishing-content:target,
#vibe-coding-content:target,
#contact-content:target {
    display: block !important;
}

/* When a section is targeted via hash, hide all other sections */
/* This ensures only the targeted section is visible */
body:has(#publishing-content:target) #home-content,
body:has(#publishing-content:target) #born-human-84-content,
body:has(#publishing-content:target) #vibe-coding-content,
body:has(#publishing-content:target) #contact-content,
body:has(#born-human-84-content:target) #home-content,
body:has(#born-human-84-content:target) #publishing-content,
body:has(#born-human-84-content:target) #vibe-coding-content,
body:has(#born-human-84-content:target) #contact-content,
body:has(#vibe-coding-content:target) #home-content,
body:has(#vibe-coding-content:target) #born-human-84-content,
body:has(#vibe-coding-content:target) #publishing-content,
body:has(#vibe-coding-content:target) #contact-content,
body:has(#contact-content:target) #home-content,
body:has(#contact-content:target) #born-human-84-content,
body:has(#contact-content:target) #publishing-content,
body:has(#contact-content:target) #vibe-coding-content {
    display: none !important;
}

/* ===== PUBLISHING INTERFACE - TWO CARD LANDING PAGE ===== */

.publishing-interface {
    max-width: 1200px;
    margin: 0 auto;
    padding: 2rem 1rem;
}

/* System Header */
.publishing-header {
    margin-bottom: 3rem;
    padding: 1.5rem;
    background: linear-gradient(135deg, rgba(255, 69, 0, 0.05) 0%, rgba(0, 255, 255, 0.05) 100%);
    border: 2px solid #000000;
    border-radius: 4px;
}

.system-prompt {
    font-size: 1.2rem;
    margin-bottom: 0.5rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.prompt-symbol {
    color: #FF4500;
    font-weight: bold;
}

.prompt-text {
    color: #000000;
    font-weight: bold;
    letter-spacing: 0.05em;
}

.status-indicator {
    color: #00FFFF;
    font-weight: bold;
    animation: statusBlink 2s ease-in-out infinite;
}

@keyframes statusBlink {

    0%,
    100% {
        opacity: 1;
    }

    50% {
        opacity: 0.5;
    }
}

.system-path {
    color: #666;
    font-size: 0.9rem;
    font-style: italic;
}

/* Publishing Grid */
.publishing-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 2rem;
    margin-bottom: 3rem;
}

/* Publishing Card */
.publishing-card {
    position: relative;
    display: block;
    min-height: 400px;
    padding: 2rem;
    background: #F5F5DC;
    border: 2px solid #000000;
    border-radius: 4px;
    text-decoration: none;
    color: #000000;
    overflow: hidden;
    transition: all 0.3s ease;
    cursor: pointer;
}

.publishing-card:hover {
    transform: translateY(-12px);
    border-color: #FF4500;
    box-shadow:
        0 12px 24px rgba(0, 0, 0, 0.3),
        0 0 40px rgba(255, 69, 0, 0.3);
}

/* Card Scanline Effect */
.card-scanline {
    position: absolute;
    top: -100%;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to bottom,
            transparent 0%,
            rgba(0, 255, 255, 0.1) 50%,
            transparent 100%);
    transition: top 0.6s ease;
    pointer-events: none;
}

.publishing-card:hover .card-scanline {
    top: 100%;
}

/* Card Glow */
.card-glow {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: radial-gradient(circle at center,
            rgba(255, 69, 0, 0.1) 0%,
            transparent 70%);
    opacity: 0;
    transition: opacity 0.3s ease;
    pointer-events: none;
}

.publishing-card:hover .card-glow {
    opacity: 1;
}

/* Card Header */
.card-header {
    margin-bottom: 2rem;
}

.section-divider {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.divider-line {
    flex: 1;
    height: 2px;
    background: linear-gradient(to right,
            transparent 0%,
            #000000 50%,
            transparent 100%);
    transition: background 0.3s ease;
}

.publishing-card:hover .divider-line {
    background: linear-gradient(to right,
            transparent 0%,
            #FF4500 50%,
            transparent 100%);
}

.divider-text {
    font-size: 0.9rem;
    font-weight: bold;
    letter-spacing: 0.1em;
    color: #000000;
}

/* Card Icon */
.card-icon-frame {
    width: 120px;
    height: 120px;
    margin: 0 auto 2rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 3px solid #000000;
    border-radius: 8px;
    background: #F5F5DC;
    transition: all 0.3s ease;
}

.publishing-card:hover .card-icon-frame {
    transform: rotate(5deg) scale(1.05);
    border-color: #FF4500;
}

.icon-content {
    font-size: 4rem;
}

/* Card Title */
.card-title {
    font-size: 1.5rem;
    font-weight: bold;
    text-align: center;
    margin-bottom: 1rem;
    color: #000000;
    letter-spacing: 0.05em;
}

/* Card Description */
.card-description {
    text-align: center;
    color: #333;
    line-height: 1.6;
    margin-bottom: 1.5rem;
}

/* Card Divider */
.card-divider {
    width: 60px;
    height: 2px;
    background: #000000;
    margin: 1.5rem auto;
    transition: all 0.3s ease;
}

.publishing-card:hover .card-divider {
    width: 100px;
    background: #FF4500;
}

/* Card Meta */
.card-meta {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 2rem;
    font-size: 0.9rem;
    color: #666;
}

.meta-separator {
    color: #000000;
}

/* Card Action */
.card-action {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0.5rem;
    font-weight: bold;
    color: #000000;
    transition: all 0.3s ease;
}

.publishing-card:hover .card-action {
    color: #FF4500;
}

.action-arrow {
    transition: transform 0.3s ease;
}

.publishing-card:hover .action-arrow {
    transform: translateX(8px);
}

/* Publishing Footer */
.publishing-footer {
    text-align: center;
    padding: 1.5rem;
    border-top: 2px solid #000000;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
    font-size: 0.9rem;
}

.footer-indicator {
    color: #00FFFF;
    animation: footerBlink 1.5s ease-in-out infinite;
}

@keyframes footerBlink {

    0%,
    100% {
        opacity: 1;
    }

    50% {
        opacity: 0.3;
    }
}

.footer-text {
    color: #000000;
    font-weight: bold;
}

.footer-separator {
    color: #666;
}

.footer-action {
    color: #666;
}

/* Responsive Design */
@media (max-width: 767px) {
    .publishing-grid {
        grid-template-columns: 1fr;
    }

    .publishing-card {
        min-height: 350px;
    }

    .card-icon-frame {
        width: 100px;
        height: 100px;
    }

    .icon-content {
        font-size: 3rem;
    }

    .card-title {
        font-size: 1.3rem;
    }
}

/* =========================================
   CRT DASHBOARD INTERFACE (HEAVY MACHINERY)
   ========================================= */

/* --- MAIN VIEWPORT (CENTERING) --- */
.main-viewport {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100vh;
    overflow: hidden;
    width: 100vw;
    background-color: #F5F5DC;
    /* Ensure background matches body */
}

/* Target specific section for centering */
#home-content {
    position: fixed;
    top: 30;
    left: 100;
    width: 90vw;
    height: 80vh;
    z-index: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0;
    margin: 0;
}

/* --- GRID LAYOUT & CONTAINER --- */
/* LEGACY CRT DASHBOARD REMOVED */

/* =========================================
   DASHBOARD CALIBRATION CONSOLE (MASTER)
   Edit these percentages to nudge elements relative to the image.
   ========================================= */
:root {
    /* 0. IMAGE ALIGNMENT (Moves the PNG relative to the wrapper) */
    /* Use percentages (%) to maintain alignment across different screen sizes */
    --art-scale: 126%;
    /* Zoom level (e.g., 100% fits perfectly) */
    --art-nudge-x: -7.2%;
    /* Move Left/Right in % */
    --art-nudge-y: -2%;
    /* Move Up/Down in % */

    /* 1. GLOBAL SCALE */
    --dashboard-max-width: 1600px;
    --dashboard-width: 70vw;
    /* Occupy almost full width */
    --dashboard-aspect-ratio: 1.6;
    /* Standard 16:10, ADJUST THIS if image is squished */

    /* 2. RESET OFFSETS (Crucial for responsiveness) */
    --dashboard-offset-x: 100px;
    --dashboard-offset-y: 0px;

    /* 3. LOCK IMAGE TO CONTAINER */
    --faceplate-image-width: 100%;
    --faceplate-image-height: 100%;
    --faceplate-nudge-x: 0px;
    --faceplate-nudge-y: 0px;

    /* 4. ZONES (You will tune these percentages after the image is locked) */
    /* Center Screen */
    --center-top: 25%;
    --center-left: 13%;
    --center-width: 56%;
    --center-height: 45%;

    /* Top Bar */
    --topbar-top: 27%;
    --topbar-left: 14%;
    --topbar-width: 53%;
    --topbar-height: 2.5%;

    /* Left Zone */
    --left-top: 45%;
    --left-left: -5%;
    --left-width: 19%;
    --left-height: 55%;

    /* Internal Left Zone Sizing */
    --left-block-top-height: 25%;
    --left-block-mid-height: 25%;
    --left-block-bot-height: 50%;

    /* Right Zone */
    --right-top: 25%;
    --right-left: 72%;
    --right-width: 12%;
    --right-height: 35%;

    /* Note Zone */
    --note-top: 74%;
    --note-left: 15%;
    --note-width: 46%;
    --note-height: 8%;
}

.faceplate-scene {
    width: 100%;
    min-height: 50vh;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0;
    /* Removed padding to ensure perfect centering */
}

.faceplate-wrapper {
    position: relative;
    width: var(--dashboard-width);
    /* Base width - responsive */
    max-width: var(--dashboard-max-width);
    /* Cap it */
    aspect-ratio: var(--dashboard-aspect-ratio);
    /* LOCK THE RATIO */
    height: auto;
    /* Let width drive height */
    display: block;
    /* Reset flex */
    margin: 0 auto;
    /* Center it */
    container-type: inline-size;
    /* Enable Container Queries (cqw) */
}

.faceplate-art {
    /* Size */
    width: var(--art-scale);
    height: var(--art-scale);

    /* Behavior */
    object-fit: contain;
    display: block;
    pointer-events: none;
    user-select: none;

    /* Positioning: Center Anchor + Manual Nudge */
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(calc(-50% + var(--art-nudge-x)),
            calc(-50% + var(--art-nudge-y)));

    /* Layering */
    z-index: 10;
}

/* --- ABSOLUTE ZONES --- */
/* These percentages are ESTIMATES based on the provided image description. 
   User will need to fine-tune these values to match the pixels of the PNG. */

.screen-zone {
    position: absolute;
    /* border: 1px solid rgba(255, 0, 0, 0.5); DEBUG: Visible borders for alignment */
    overflow: hidden;
    z-index: 20;
    /* Top Layer */
}

/* ZONE 1: HEADER (Removed from HTML, keeping class just in case) */
.header-zone {
    display: none;
}

.digital-header {
    display: none;
}

/* ZONE 2: CENTER SCREEN (LIVE FEED) */
.center-zone {
    /* EXPANDED: Bleed under the bezel */
    /* USES VARIABLES defined in :root above for easy manual tuning */
    top: var(--center-top);
    left: var(--center-left);
    width: var(--center-width);
    height: var(--center-height);

    background-color: #000000;
    /* CRT Black Background */
    overflow: hidden;
    /* LAYERING: Send to back */
    z-index: 0;

    /* CRT EFFECTS */
    border-radius: 12px;
    /* Vignette: Darkens edges to look curved */
    box-shadow: inset 0 0 80px rgba(0, 0, 0, 0.7);
}

/* Scanlines (Moving) */
/* Scanlines (Moving) */
.center-zone::before {
    content: " ";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    background: linear-gradient(to bottom,
            rgba(0, 0, 0, 0) 50%,
            rgba(0, 0, 0, 0.25) 50%);
    background-size: 100% 4px;
    /* Force horizontal lines */
    z-index: 2;
    pointer-events: none;
    animation: scanline-scroll 10s linear infinite;
}

/* Static Grain (Noise) */
.center-zone::after {
    content: " ";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' opacity='0.05'/%3E%3C/svg%3E");
    z-index: 3;
    pointer-events: none;
    opacity: 0.4;
    mix-blend-mode: overlay;
}

/* HEADER GLOW OVERHAUL (Backlit Effect) */
.header-glow {
    top: -1%;
    left: 11.7%;
    width: 58.5%;
    height: 16%;
    background: rgba(255, 69, 0, 0.05);
    /* Very faint tint */
    box-shadow: 0 0 30px 30px rgba(255, 69, 0, 0.6), inset 0 0 20px rgba(255, 69, 0, 0.3);
    /* Strong outer bloom + inner rim light */
    border-radius: 8px;
    /* Soft corners */
    mix-blend-mode: normal;
    /* Reset from overlay so the glow is visible */
    animation: pulse-glow 4s ease-in-out infinite;
    pointer-events: none;
    z-index: 5;
}

.crt-overlay {
    width: 100%;
    height: 100%;
    position: relative;
}

#daily-photo {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    /* Remove inline spacing gaps */
    opacity: 0.8;
    filter: grayscale(100%) sepia(100%) hue-rotate(-30deg) saturate(3) contrast(1.2);
    color: transparent;
    /* Hide Alt Text */
}

.scanline-texture {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(rgba(18, 16, 16, 0) 50%, rgba(0, 0, 0, 0.25) 50%), linear-gradient(90deg, rgba(255, 0, 0, 0.06), rgba(0, 255, 0, 0.02), rgba(0, 0, 255, 0.06));
    background-size: 100% 2px, 3px 100%;
    pointer-events: none;
    z-index: 10;
}

.feed-ui {
    position: absolute;
    font-family: 'Share Tech Mono', monospace;
    color: #FF4500;
    font-size: clamp(0.4rem, 0.7cqw, 0.8rem);
    z-index: 30;
    text-shadow: 0 0 5px #FF4500;
}

.feed-ui.top-left {
    top: 10px;
    left: 10px;
}

.feed-ui.top-right {
    top: 10px;
    right: 10px;
}

.feed-ui.bottom-right {
    bottom: 10px;
    right: 10px;
    animation: blink 1s infinite;
}

/* ZONE 3: TELEMETRY (LEFT) */
.left-zone {
    top: var(--left-top);
    left: var(--left-left);
    width: var(--left-width);
    height: var(--left-height);
    display: flex;
    flex-direction: column;
    gap: 10px;
    background-color: transparent;
    color: #F5F5DC;
    font-weight: bold;
    text-transform: uppercase;
    font-size: 1rem;
    padding: 10px;
    z-index: 20;
    /* TOP LAYER */
}

/* NEW: UNDERLAY FOR GLOW (BEHIND ART) */
.left-zone-underlay {
    top: 23%;
    left: -3.75%;
    width: 14.5%;
    height: 17%;
    z-index: 0;
    /* BOTTOM LAYER */
    pointer-events: none;
    background-color: transparent;
}

.telemetry-block {
    width: 100%;
    /* border: 1px dashed #000; */
    opacity: 0.5;
    position: relative;
    /* Context for absolute children */
}

/* TOP BLOCK: ENGINE GLOW */
.telemetry-block.top-block {
    opacity: 1;
    height: var(--left-block-top-height);
    /* Remove base opacity */
}

.engine-pulse {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 33%;
    /* Top third only */
    background-color: #FF4500;
    animation: hud-pulse 2s infinite alternate;
}

/* MID BLOCK: SCROLLING HEX */
.telemetry-block.mid-block {
    padding-left: 15px;
    /* The Shimmy */
    color: #F5F5DC;
    /* Beige */
    font-family: 'Share Tech Mono', monospace;
    font-size: 0.85rem;
    font-weight: bold;
    left: 15px;
    top: 50px;
    overflow: hidden;
    line-height: 1;
    height: var(--left-block-mid-height);
}

/* BOT BLOCK: COSMIC CANVAS */


.telemetry-block.bot-block {
    position: relative;
    background: transparent;
    height: var(--left-block-bot-height);
    overflow: visible;
}

.bit:nth-child(5n) {
    animation-delay: 0.4s;
}



@keyframes bit-flicker {
    0% {
        opacity: 0.1;
    }

    100% {
        opacity: 0.8;
    }
}

/* ZONE 4: LOGS (RIGHT) */
.right-zone {
    top: var(--right-top);
    left: var(--right-left);
    width: var(--right-width);
    height: var(--right-height);
    padding: 10px;
    font-family: 'Share Tech Mono', monospace;
    font-size: clamp(0.2rem, 1.0cqw, 0.9rem);
    font-weight: bold;
    text-transform: uppercase;
    color: #F5F5DC;
    line-height: 1.4;
    overflow-y: auto;
    background-color: transparent;
    white-space: normal;
    word-wrap: break-word;
}

/* ZONE 5: KEYPAD (BOTTOM RIGHT) */
.keypad-zone {
    top: 65%;
    left: 75%;
    width: 20%;
    height: 20%;
    /* clickable areas */
}

/* ZONE 6: SYSTEM NOTE */
.note-zone {
    top: var(--note-top);
    left: var(--note-left);
    width: var(--note-width);
    height: var(--note-height);
    font-size: clamp(0.4rem, 1.1cqw, 1rem);
    color: #F5F5DC;
    padding: 4px;
    font-weight: bold;
    text-transform: uppercase;
    line-height: 1.4;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: left;
    background-color: transparent;
}

/* TYPEWRITER ANIMATION */


/* RESPONSIVE */
@media (max-width: 768px) {
    .faceplate-scene {
        padding: 5px;
    }

    /* Stack layout for mobile if the image becomes too small? 
       For now, we keep the aspect ratio scaling which is the point of the faceplate. */
}

.blink-cursor {
    display: inline-block;
    width: 10px;
    height: 1.2em;
    background-color: #000;
    vertical-align: bottom;
    animation: blink 1s infinite;
    margin-left: 2px;
}

/* ===== PUBLISHING SCENE (VERTICAL SCROLL) ===== */
.publishing-scene {
    width: 100%;
    display: flex;
    justify-content: center;
    padding: 2rem 0;
    /* Keep roof near top */
    min-height: 150vh;
    /* Force scrolling */
    align-items: flex-start;
    /* Start at top */
}

.building-wrapper {
    position: relative;
    display: inline-block;
}

.building-art {
    width: 100%;
    max-width: 1400px;
    min-width: 1000px;
    /* Force massive scale */
    height: auto;
    display: block;
    image-rendering: pixelated;
    /* CRITICAL: Keeps lines sharp */
    filter: drop-shadow(10px 10px 0px rgba(0, 0, 0, 0.1));
}

.building-hitbox {
    position: absolute;
    display: block;
    cursor: pointer;
    z-index: 10;
    transition: all 0.2s ease;
    background: transparent;
    border: none;
    border-radius: 8px;
    /* Sharpened from 12px */
}

/* Hitbox Coordinates (Targeting Hanging Signs) */
.bookstore-hitbox {
    top: 51%;
    left: 2.5%;
    width: 19.5%;
    height: 8.9%;
}

.essays-hitbox {
    top: 66%;
    right: 5%;
    width: 18%;
    height: 11.3%;
}

/* Interaction Design (Backlit Glow Effect) */
.building-hitbox:hover {
    background: rgba(255, 69, 0, 0.05);
    /* Very faint tint */
    box-shadow: 0 0 35px 10px rgba(255, 69, 0, 0.8), inset 0 0 20px rgba(255, 69, 0, 0.4);
    /* Intensified Glow */
    border: 1px solid rgba(255, 69, 0, 0.5);
    /* Slightly stronger definition */
}

.hitbox-indicator {
    display: block;
    width: 100%;
    height: 100%;
}

/* ZONE 1.5: TOP METADATA BAR */
.top-bar-zone {
    top: var(--topbar-top);
    left: var(--topbar-left);
    width: var(--topbar-width);
    height: var(--topbar-height);

    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 10px;

    background-color: transparent;
    /* Let the black slot show through */
    color: #F5F5DC;
    /* Beige text */
    font-family: 'Share Tech Mono', monospace;
    font-size: clamp(0.4rem, 0.7cqw, 0.8rem);
    font-weight: bold;
    text-transform: uppercase;
    letter-spacing: 1px;
    z-index: 20;
}

.top-bar-zone .warning {
    color: #FF4500;
    /* Orange for REC */
    animation: blink 1s infinite;
}

/* ===== BORN HUMAN 84 - CYBERPUNK ZINE REDESIGN ===== */
/* Concept: "Technical User Manual" meets "Indie Zine" */

/* ===== BORN HUMAN 84 - V2: MONOLITHIC DATA SHEET ===== */
/* Concept: "Big Bold Black" • High Contrast • Technical Data Sheet */

.monolith-wrapper {
    width: 95%;
    max-width: 1200px;
    margin: 2rem auto;
    border-top: 6px solid #000000;
}

/* --- TITLE STRIP --- */
.monolith-header {
    border-bottom: 6px solid #000000;
    margin-bottom: 2rem;
    padding: 1rem 0;
}

.mega-title {
    font-family: 'VT323', monospace;
    font-size: clamp(3rem, 8vw, 6rem);
    /* Massive responsive scaling */
    line-height: 0.8;
    color: #000000;
    text-transform: uppercase;
    margin: 0;
    letter-spacing: -2px;
}

.header-meta {
    font-family: 'Share Tech Mono', monospace;
    font-size: 0.9rem;
    display: flex;
    gap: 1.5rem;
    margin-top: 0.5rem;
    color: #FF4500;
    font-weight: bold;
}

/* --- GRID SYSTEM --- */
.monolith-grid {
    display: grid;
    gap: 0;
    align-items: stretch;
    /* No gap, borders define separation */
    border: 4px solid #000000;
    background-color: #F5F5DC;
}

/* --- COLUMN 1: ART --- */
.art-col {
    position: relative;
    border-bottom: none;
    border-right: 4px solid #000000;
    padding: 2rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background-color: #F5F5DC;
    /* Ensure uniform background */
}

/* V2: No frame, just the raw artifact */
.monolith-art {
    width: 100%;
    width: 100%;
    max-width: 400px;
    position: sticky;
    top: 2rem;
    align-self: start;
    height: auto;
    image-rendering: pixelated;
    mix-blend-mode: multiply;
    /* Blends dark pixels into beige */
    filter: contrast(1.2) grayscale(100%);
    /* Force B&W aesthetic */
}

.caption-bar {
    width: 100%;
    border-top: 2px solid #000000;
    margin-top: 2rem;
    padding-top: 0.5rem;
    font-family: 'Share Tech Mono', monospace;
    font-size: 0.75rem;
    display: flex;
    justify-content: space-between;
}

/* --- COLUMN 2: DATA SLOTS --- */
.text-col {
    display: flex;
    flex-direction: column;
}

.data-slot {
    border-bottom: 2px solid #000000;
    padding: 1rem;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.data-slot:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.slot-header {
    font-family: 'VT323', monospace;
    font-size: 1.5rem;
    margin-bottom: 0.5rem;
    color: #FF4500;
    text-transform: uppercase;
}

.slot-content {
    font-family: 'Share Tech Mono', monospace;
    font-size: 1rem;
    /* Larger, bolder body text */
    line-height: 1.3;
    color: #000000;
    max-width: 60ch;
}

.bold-highlight {
    background-color: #000000;
    color: #F5F5DC;
    padding: 0 4px;
    font-weight: normal;
    /* Font itself is already mono-bold */
}

/* Stamp Effect */
.stamp-box {
    margin: 2rem;
    border: 4px solid #000000;
    display: inline-block;
    padding: 0.5rem 1rem;
    font-family: 'VT323', monospace;
    font-size: 2rem;
    transform: rotate(-5deg);
    color: #FF4500;
    border-color: #FF4500;
    opacity: 0.8;
    align-self: flex-start;
}

/* --- RESPONSIVE --- */
@media (min-width: 900px) {
    .monolith-grid {
        grid-template-columns: 1fr 1fr;
    }

    .art-col {
        border-bottom: none;
        border-right: 4px solid #000000;
        position: sticky;
        top: 0;
        height: min-content;
    }
}

/* ===== CONTACT MODULE STYLES (INDUSTRIAL) ===== */

/* CONTACT PAGE CONTAINER */
#contact-content {
    /* Base state: Hidden by JS logic (display: none), but we set up the layout here */
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    z-index: 1;
    padding: 0;
    margin: 0;

    /* Layout logic */
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

/* Only apply flex when JS sets it to block/visible */
#contact-content[style*="display: block"] {
    display: flex !important;
}

.contact-scene {
    display: flex;
    justify-content: center;
    align-items: center;
    /* Account for viewport padding to ensure true vertical centering without scroll */
    min-height: calc(100vh - 150px);
    width: 100%;
    padding: 1rem 0;
}

.contact-wrapper {
    width: 100%;
    /* Use full width of parent */
    max-width: 800px;
    /* Increased max-width for grandeur */
    padding: 0 1rem;
    /* Safety padding */
    display: flex;
    flex-direction: column;
    justify-content: center;
    transform: scale(0.8);
    /* Reduce global size by 20% */
    transform-origin: center center;
}

/* High Impact Header */
.contact-header {
    font-family: 'VT323', monospace;
    font-size: clamp(3rem, 10vw, 8rem);
    /* Aggressive scaling */
    color: #000;
    border-bottom: 6px solid #000;
    /* Thicker line */
    margin-bottom: 3rem;
    line-height: 0.8;
    text-transform: uppercase;
    width: 100%;
    text-align: left;
    /* Keep industrial left-align */
    letter-spacing: -2px;
    /* Tight industrial tracking */
}

/* Form Rows */
.form-row {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    margin-bottom: 2.5rem;
    /* More breathing room */
}

.form-row label {
    font-family: 'Share Tech Mono', monospace;
    font-weight: bold;
    font-size: 0.9rem;
    color: #000;
    letter-spacing: 1px;
}

.form-row input,
.form-row textarea {
    background: transparent;
    border: none;
    border-bottom: 3px solid #000;
    font-family: 'Share Tech Mono', monospace;
    font-size: clamp(1.2rem, 4vw, 2rem);
    /* Responsive text size */
    padding: 0.5rem 0;
    color: #000;
    border-radius: 0;
    width: 100%;
    transition: all 0.2s ease;
}

.form-row input:focus,
.form-row textarea:focus {
    outline: none;
    border-bottom-color: #FF4500;
    background: rgba(255, 69, 0, 0.05);
}

/* Tactile Button */
.submit-btn {
    width: 100%;
    padding: 1.5rem;
    background: #000;
    color: #FF4500;
    font-family: 'Share Tech Mono', monospace;
    font-weight: bold;
    font-size: 1.5rem;
    border: 4px solid #000;
    cursor: pointer;
    transition: all 0.2s ease;
    text-transform: uppercase;
    margin-top: 1rem;
    letter-spacing: 2px;
}

.submit-btn:hover {
    background: #FF4500;
    color: #000;
    border-color: #FF4500;
}



/* Click-to-Archive Link */
.feed-link {
    display: block;
    width: 100%;
    height: 100%;
    cursor: pointer;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 25;
    /* Ensure it's above the image but below main overlays if needed */
}

.feed-link:hover {
    opacity: 0.9;
}

/* Optional: Add a subtle glow hint on the parent container when hovering the link */
.center-zone:has(.feed-link:hover) {
    box-shadow: inset 0 0 20px rgba(255, 69, 0, 0.4);
    transition: box-shadow 0.3s ease;
}

/* ===== ARCHIVE PAGE REDESIGN ("FLOPPY DISK" AESTHETIC) ===== */

/* 1. Terminal Layout Wrapper */
.archive-terminal-wrapper {
    max-width: 1400px;
    /* Increased from 1200px */
    margin: 0 auto;
    padding: 0 1rem;
    position: relative;
    /* Center the layout nicely */
}

/* 2. Tactical Back Button (Simplified Square) */
.tactical-back-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 72px;
    /* Increased from 60px */
    height: 72px;
    /* Increased from 60px */
    background-color: #000;
    color: #F5F5DC;
    /* Off-white arrow */
    font-family: 'VT323', monospace;
    /* Pixel font for arrow */
    font-size: 2.5rem;
    /* Increased from 2rem */
    text-decoration: none;
    border: none;
    margin-bottom: 3rem;
    box-shadow: 8px 8px 0px rgba(0, 0, 0, 0.15);
    /* Soft shadow */
    transition: all 0.2s ease;
}

.tactical-back-btn:hover {
    background-color: #FF4500;
    color: #000;
    transform: translateY(-2px);
    box-shadow: 8px 8px 0px rgba(0, 0, 0, 0.25);
}

/* 3. The Grid */
.archive-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 2rem;
    /* Nice spacing between disks */
    margin-top: 2rem;
}

/* 4. The "Floppy Disk" Card */
.archive-item {
    background-color: #F5F5DC;
    /* Cartridge Beige */
    border: 4px solid #000;
    /* Heavy plastic edge */
    border-radius: 6px;
    padding: 12px;
    display: flex;
    flex-direction: column;
    box-shadow: 8px 8px 0px rgba(0, 0, 0, 0.2);
    /* Deep shadow for 3D feel */
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    position: relative;
    overflow: hidden;
}

/* Shutter Mechanism (Pseudo-element) */
.archive-item::before {
    content: '';
    display: block;
    height: 40px;
    width: 100%;
    background-color: #1a1a1a;
    /* Dark Metal Shutter */
    border-radius: 2px;
    margin-bottom: 15px;
    border-bottom: 2px solid #555;
    /* Metallic glint */
    box-shadow: inset 0 2px 5px rgba(0, 0, 0, 0.5);
    /* Inner Depth */
}

/* Hover State: Lift the cartridge */
.archive-item:hover {
    transform: translateY(-5px);
    box-shadow: 12px 12px 0px rgba(255, 69, 0, 0.2);
    /* Orange shadow on lift */
    border-color: #FF4500;
}

/* 5. The "Data Window" (Photo Frame) */
.archive-photo-frame {
    border: 2px solid #000;
    background-color: #000;
    /* Dark recess */
    margin-bottom: 12px;
    position: relative;
    overflow: hidden;
    aspect-ratio: 16/10;
    /* Standard Aspect */
}

.archive-photo {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: grayscale(100%) contrast(1.2);
    /* Raw Data Look */
    transition: filter 0.3s ease;
}

.archive-item:hover .archive-photo {
    filter: grayscale(0%) contrast(1.1);
    /* Reveal Color on Interaction */
}

/* 6. The "Paper Label" Metadata */
.archive-metadata {
    border-top: 2px solid #000;
    /* Separator line */
    padding-top: 10px;
    margin-top: auto;
    /* Push to bottom */
    font-family: 'Share Tech Mono', monospace;
    font-size: 0.85rem;
    color: #000;
    line-height: 1.4;
    background-image: repeating-linear-gradient(0deg,
            transparent,
            transparent 19px,
            rgba(0, 0, 0, 0.05) 20px);
    /* Subtle styling like lined paper */
}

.archive-timestamp {
    font-weight: bold;
    color: #FF4500;
    /* Highlight Date */
}

.archive-context {
    font-style: italic;
    margin-top: 4px;
    color: #333;
}

.archive-filename {
    font-size: 0.7rem;
    color: #666;
    margin-top: 4px;
    opacity: 0.7;
}

/* 7. Empty State Alert Box (Refined) */
.empty-archive-message {
    grid-column: 1 / -1;
    border: 3px dashed #FF4500;
    /* Dashed Border */
    background-color: #FFF8E7;
    /* Slightly lighter beige */
    padding: 4rem 2rem;
    text-align: center;
    color: #FF4500;
    font-family: 'Share Tech Mono', monospace;
    box-shadow: 8px 8px 0px rgba(0, 0, 0, 0.1);
    margin: 2rem 0;
}

.empty-icon {
    font-size: 2.5rem;
    margin-bottom: 1.5rem;
    font-weight: bold;
    color: #000;
    /* Black brackets */
}

.empty-text {
    font-size: 1.4rem;
    font-weight: bold;
    letter-spacing: 1px;
    margin-bottom: 0.5rem;
}

.empty-subtext {
    font-size: 0.9rem;
    color: #000;
    font-style: italic;
    font-family: 'Share Tech Mono', monospace;
}

/* ===== VIBE CODING MODULE ===== */
.vibe-scene {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    justify-content: center;
    /* SQUARE CONTAINER */
    aspect-ratio: 1 / 1;
    width: 80vh;
    /* Responsive size based on viewport height */
    max-width: 1000px;
    border: 10px solid #000;
    /* Big Bold Border */

    /* ALIGN LEFT */
    margin-right: auto;
    margin-left: 5vw;

    background-color: transparent;
    /* Keep transparency or add bg if needed */
    overflow: hidden;
    /* Clip content if it spills */
    position: relative;
    /* For absolute positioning context if needed */
}

.vibe-sign {
    position: absolute;
    top: 5%;
    /* Shifted up another 5% */
    left: 50%;
    transform: translateX(-50%);
    width: 90%;
    max-width: none;
    height: auto;
    image-rendering: pixelated;

    /* ENHANCED: Subtle float animation */
    animation: vibeFloat 3s ease-in-out infinite;
    z-index: 2;
    /* Ensure sign stays on top of the pickle if they overlap */
}

@keyframes vibeFloat {

    0%,
    100% {
        transform: translate(-50%, 0);
    }

    50% {
        transform: translate(-50%, -10px);
    }
}

.pickle-dancer {
    position: absolute;
    top: 10%;
    /* Shifted up another 5% */
    left: 50%;
    transform: translateX(-50%);
    width: 110%;
    /* Massive width */
    max-width: none;
    aspect-ratio: 1 / 1;
    z-index: 1;
}

.pickle-frame {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
    image-rendering: pixelated;
    display: none;
    /* Hidden by default */
}

.pickle-frame.active {
    display: block;
}

/* Response sizes for dancer */
@media (max-width: 480px) {
    .pickle-dancer {
        width: 200px;
        height: 200px;
    }
}

/* ===== BOOKSTORE TERMINAL (V2 CLEAN) ===== */

/* 1. The Screen Container */
.novel-showcase {
    width: 100vw;
    height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #F5F5DC;
    overflow: hidden;
    /* Prevent scroll */
}

/* 2. The Content Wrapper (Centered Box) */
.novel-showcase-wrapper {
    width: 60%;
    max-width: 1500px;
    height: 85vh;
    display: flex;
    flex-direction: column;
    margin-top: -5vh;
}

/* 3. The Header (Compact & Standardized) */
/* 3. The Header (Compact & Standardized) */
.terminal-nav {
    display: flex;
    align-items: center;
    gap: 2rem;
    border-bottom: 4px solid #000;
    padding-bottom: 0.rem;
    margin-bottom: 4rem;
    flex-shrink: 0;
}

.tactical-back-btn {
    width: 50px;
    height: 50px;
    background: #000;
    color: #F5F5DC;
    display: flex;
    justify-content: center;
    align-items: center;
    text-decoration: none;
    font-weight: bold;
    font-size: 2rem;
    transition: 0.2s;
}

.tactical-back-btn:hover {
    background: #FF4500;
    color: #000;
}

.page-title-standard {
    font-family: 'VT323', monospace;
    font-size: clamp(3.6rem, 7.2vw, 5.4rem);
    line-height: 0.9;
    margin: 0 0 -4px 0;
    color: #000;
    text-transform: uppercase;
    transform: translateY(-0.3em);
}

/* 4. The Content Grid (Split 40/60) */
.book-grid {
    display: flex;
    gap: 4rem;
    align-items: flex-start;
    /* Top aligned */
    height: 100%;
    margin-top: 1rem;
}

/* Left Col: The Book */
.novel-cover-stage {
    flex: 0 0 400px;
    /* Fixed width base */
    display: flex;
    justify-content: center;
    margin-top: -1.5rem;
    /* Optical lift */
}

.novel-cover-frame {
    display: block;
    width: 100%;
    max-width: 350px;
    border: 4px solid #000;
    box-shadow: 12px 12px 0px #FF4500;
    transition: transform 0.2s;
}

.novel-cover-frame:hover {
    transform: translateY(-4px);
}

.novel-cover-img {
    width: 100%;
    height: auto;
    display: block;
    filter: grayscale(100%);
    transition: filter 0.3s ease;
}

.novel-cover-frame:hover .novel-cover-img {
    filter: grayscale(0%);
}

/* Right Col: The Data */
.book-data-log {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 0;
    max-width: 600px;
    justify-content: flex-start;
    transform: translateY(-2rem);
}

.book-title {
    font-family: 'VT323', monospace;
    font-size: 4rem;
    line-height: 0.9;
    margin: 0 0 0.5rem 0;
    color: #000;
}

.book-subtitle {
    font-family: 'Share Tech Mono', monospace;
    font-size: 1.2rem;
    color: #FF4500;
    font-weight: bold;
}

/* Content Divider */
.content-divider {
    height: 4px;
    background: #000;
    width: 100%;
    margin: 1.5rem 0;
}

/* Spec Table */
.book-meta {
    border: 2px solid #000;
    padding: 1rem;
    display: grid;
    gap: 0.5rem;
    font-family: 'Share Tech Mono', monospace;
    font-size: 0.85rem;
}

.meta-row {
    display: flex;
    justify-content: space-between;
}

.meta-label {
    font-weight: bold;
}

.meta-value {
    color: #FF4500;
    font-weight: bold;
}

/* Description */
.book-description {
    font-family: 'Share Tech Mono', monospace;
    font-size: 1.1rem;
    line-height: 1.5;
    padding-left: 0;
    border-left: none;
}

/* Action Button */
.action-btn {
    background: #000;
    color: #F5F5DC;
    border: none;
    padding: 1rem 2rem;
    font-family: 'Share Tech Mono', monospace;
    font-weight: bold;
    font-size: 1rem;
    cursor: pointer;
    width: fit-content;
}

.action-btn:hover {
    background: #FF4500;
    color: #000;
}