/* assets/css/style.css */

/* Basis */
* { box-sizing: border-box; }
html, body { height: 100%; }
body { margin: 0; }

/* Oude sci-fi PC look: donker, scanlines, zachte glow */
body{
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
    color: #b9ffe6;
    background:
            radial-gradient(900px 520px at 50% 25%, rgba(0, 255, 190, 0.12), transparent 65%),
            repeating-linear-gradient(
                    0deg,
                    rgba(0, 0, 0, 0.00) 0px,
                    rgba(0, 0, 0, 0.00) 2px,
                    rgba(0, 0, 0, 0.22) 3px
            ),
            linear-gradient(180deg, #061014 0%, #03070a 100%);
}

/* Centreren */
.page{
    min-height: 100vh;
    display: grid;
    place-items: center;
    padding: 32px 18px;
}

/* Frame als “terminal window” */
.frame{
    width: min(980px, 94vw);
    padding: 22px;
    border-radius: 10px;

    background:
            linear-gradient(180deg, rgba(12, 28, 28, 0.95) 0%, rgba(6, 16, 16, 0.95) 100%);

    border: 1px solid rgba(0, 255, 190, 0.35);

    box-shadow:
            0 28px 70px rgba(0,0,0,0.65),
            0 0 0 2px rgba(0, 255, 190, 0.10),
            0 0 28px rgba(0, 255, 190, 0.16),
            inset 0 0 0 1px rgba(185, 255, 230, 0.08),
            inset 0 0 40px rgba(0, 0, 0, 0.45);
}

/* Ornamenten als “status bars” */
.ornament{
    height: 42px;
    position: relative;
    margin: 0 0 16px;
    border-radius: 8px;
    overflow: hidden;

    border: 1px solid rgba(0, 255, 190, 0.25);
    background:
            linear-gradient(90deg, rgba(0,255,190,0.08), rgba(0,255,190,0.02)),
            repeating-linear-gradient(
                    90deg,
                    rgba(185,255,230,0.00) 0 12px,
                    rgba(185,255,230,0.08) 12px 13px
            );
    box-shadow:
            inset 0 0 18px rgba(0, 255, 190, 0.10),
            0 0 14px rgba(0, 255, 190, 0.10);
}

.ornament.bottom{
    margin: 16px 0 0;
}

/* Kleine “LEDs” + label */
.ornament::before{
    content: "SYS: OK  |  SIG: STABLE  |  MODE: GIF";
    position: absolute;
    left: 12px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 12px;
    letter-spacing: 1px;
    color: rgba(185, 255, 230, 0.88);
    text-shadow: 0 0 10px rgba(0,255,190,0.25);
    white-space: nowrap;
}

.ornament::after{
    content: "";
    position: absolute;
    right: 12px;
    top: 50%;
    width: 76px;
    height: 10px;
    transform: translateY(-50%);
    border-radius: 999px;
    background:
            linear-gradient(90deg,
            rgba(0,255,190,0.15),
            rgba(0,255,190,0.70),
            rgba(0,255,190,0.15)
            );
    box-shadow: 0 0 18px rgba(0,255,190,0.35);
}

/* Figure */
.art{
    margin: 0;
    display: grid;
    place-items: center;
    gap: 14px;
    padding: 10px 0;
}

/* GIF als “CRT scherm” */
.gif{
    display: block;
    max-width: min(600px, 90vw);
    max-height: 56vh;
    width: auto;
    height: auto;

    border-radius: 12px;
    border: 1px solid rgba(0, 255, 190, 0.35);

    background: rgba(0, 0, 0, 0.35);

    box-shadow:
            0 22px 60px rgba(0,0,0,0.70),
            0 0 28px rgba(0, 255, 190, 0.18),
            inset 0 0 0 2px rgba(0, 255, 190, 0.08),
            inset 0 0 40px rgba(0, 0, 0, 0.55);

    /* geeft een “CRT” feel rond randen */
    filter: contrast(1.02) saturate(1.05);
}

/* Extra CRT overlay (scanlines + glow) via wrapper pseudo-element:
   we hebben geen extra HTML, dus we gebruiken figcaption als referentie
   en zetten overlay op .art via ::before */
.art{
    position: relative;
}

.art::before{
    content: "";
    position: absolute;
    inset: 10px 0 48px; /* laat ruimte voor caption */
    pointer-events: none;
    border-radius: 12px;

    background:
            repeating-linear-gradient(
                    0deg,
                    rgba(0,0,0,0.00) 0px,
                    rgba(0,0,0,0.00) 3px,
                    rgba(0,0,0,0.18) 4px
            ),
            radial-gradient(circle at 50% 35%, rgba(0,255,190,0.10), transparent 60%);
    mix-blend-mode: overlay;
    opacity: 0.55;
}

/* Caption als terminal output */
.caption{
    margin: 0;
    text-align: center;
    font-size: 13px;
    letter-spacing: 1px;
    color: rgba(185,255,230,0.90);

    padding: 10px 14px;
    border-radius: 10px;

    border: 1px solid rgba(0, 255, 190, 0.22);
    background: rgba(0, 255, 190, 0.06);

    box-shadow:
            inset 0 0 16px rgba(0, 255, 190, 0.08),
            0 0 16px rgba(0, 255, 190, 0.10);

    text-shadow: 0 0 12px rgba(0,255,190,0.22);
}

/* Kleine responsieve tweaks */
@media (max-width: 520px){
    .ornament::before{ content: "SYS: OK | MODE: GIF"; }
    .ornament::after{ width: 56px; }
}
