﻿:root {
            --green:        #39ff14;
            --green-bright: #7fff4f;
            --green-dim:    #1a5c0a;
            --green-glow:   rgba(57,255,20,0.45);
            --dim:          #2e5c1a;
            --amber:        #ffb000;
            --red:          #ff3333;
            --red-glow:     rgba(255,51,51,0.5);
            --cyan:         #00e8ff;
            --bg:           #010801;
            --font:         'Share Tech Mono', 'Courier New', monospace;
        }

        *, *::before, *::after { box-sizing:border-box; margin:0; padding:0; }

        html, body {
            background:var(--bg);
            color:var(--green);
            font-family:var(--font);
            font-size:clamp(13px, 1.5vw, 15px);
            min-height:100vh;
            line-height:1.55;
        }

        /* CRT overlay */
        body::before {
            content:'';
            position:fixed; inset:0; pointer-events:none; z-index:999;
            background:repeating-linear-gradient(
                0deg,
                rgba(0,0,0,0.08) 0px,
                rgba(0,0,0,0.08) 1px,
                transparent 1px,
                transparent 3px
            );
        }

        .container {
            max-width:780px;
            margin:0 auto;
            padding:2.5rem 1.5rem 4rem;
        }

        /* ── Header ── */
        .site-header {
            border-bottom:1px solid var(--green-dim);
            padding-bottom:1rem;
            margin-bottom:2.5rem;
        }
        .site-header .stamp {
            font-size:.65rem;
            color:var(--dim);
            letter-spacing:.15em;
            text-transform:uppercase;
            margin-bottom:.4rem;
        }
        .site-header h1 {
            font-size:1.4rem;
            color:var(--green-bright);
            text-shadow:0 0 14px var(--green-glow);
            letter-spacing:.1em;
        }
        .site-header .tagline {
            font-size:.72rem;
            color:var(--dim);
            margin-top:.3rem;
        }
        .back-link {
            display:inline-block;
            margin-top:.8rem;
            font-size:.72rem;
            color:var(--dim);
            text-decoration:none;
            letter-spacing:.08em;
        }
        .back-link:hover { color:var(--green); }

        /* ── File cards ── */
        .file-list {
            display:flex;
            flex-direction:column;
            gap:2.5rem;
        }

        .file-card {
            border:1px solid var(--green-dim);
            padding:0;
            position:relative;
            overflow:hidden;
        }
        .file-card::before {
            content:'';
            position:absolute; top:0; left:0; right:0; height:1px;
            background:linear-gradient(90deg, transparent, var(--green-dim), transparent);
        }

        .file-header {
            background:rgba(0,20,0,0.7);
            padding:.6rem 1rem;
            border-bottom:1px solid var(--green-dim);
            display:flex;
            align-items:baseline;
            gap:1rem;
            flex-wrap:wrap;
        }
        .file-name {
            font-size:.85rem;
            color:var(--green-bright);
            letter-spacing:.06em;
            flex:1;
        }
        .file-meta {
            font-size:.62rem;
            color:var(--dim);
            letter-spacing:.1em;
            white-space:nowrap;
        }
        .file-classification {
            font-size:.62rem;
            padding:.1rem .5rem;
            border:1px solid;
            letter-spacing:.12em;
        }
        .cls-omega  { border-color:var(--red);   color:var(--red);   }
        .cls-sealed { border-color:var(--amber);  color:var(--amber); }
        .cls-rec    { border-color:var(--dim);    color:var(--dim);   }

        .file-body {
            padding:1.2rem 1rem;
            font-size:.82rem;
            line-height:1.7;
            white-space:pre-wrap;
            color:var(--green);
        }

        /* Líneas especiales */
        .corrupt  { color:var(--dim); font-style:italic; }
        .critical { color:var(--red); }
        .warn     { color:var(--amber); }
        .separator{ color:var(--green-dim); }
        .emphasis { color:var(--green-bright); }
        .quote    { color:var(--cyan); border-left:2px solid var(--green-dim); padding-left:.7rem; margin:.3rem 0; display:block; }

        /* ── Footer ── */
        .site-footer {
            margin-top:3rem;
            padding-top:1rem;
            border-top:1px solid var(--green-dim);
            font-size:.65rem;
            color:var(--dim);
            letter-spacing:.1em;
            text-align:center;
        }

        /* ── Glitch animation sutil en el título ── */
        @keyframes title-glitch {
            0%,95%,100% { clip-path:none; transform:none; }
            96%  { clip-path:polygon(0 20%,100% 20%,100% 40%,0 40%); transform:translateX(-2px); }
            97%  { clip-path:polygon(0 60%,100% 60%,100% 80%,0 80%); transform:translateX(2px); }
            98%  { clip-path:none; transform:none; }
        }
        .site-header h1 { animation:title-glitch 12s step-end infinite; }

        @media (max-width:500px) {
            .container { padding:1.5rem 1rem 3rem; }
            .file-header { flex-direction:column; gap:.3rem; }
        }


/* ── Utilidades extraídas de atributos style= (Sprint 5 / CSP) ── */



/* ── Utilidades extraídas de atributos style= (CSP sprint5) ── */
._u1 { letter-spacing:.05em }

