/* Neo FlipBook — utility page design system.
   Self-contained: no webfonts, safe inside iframes. */

:root {
    --ink: #0a0a0c;      /* near-black ground */
    --ink-raised: #141417;
    --paper: #f2f2ef;    /* primary text */
    --muted: #9a9a92;    /* secondary text */
    --acid: #d7ff3c;     /* lime accent: numerals, spine, button */
    --line: #26262b;     /* hairlines */
    --mono: ui-monospace, 'SF Mono', 'JetBrains Mono', Menlo, Consolas, monospace;
    --radius: 6px;
}

* { box-sizing: border-box; }

html, body {
    margin: 0;
    min-height: 100%;
}

body.neo-page {
    display: grid;
    place-items: center;
    min-height: 100vh;
    background: var(--ink);
    color: var(--paper);
    font-family: var(--mono);
    line-height: 1.6;
    padding: 2rem 1.25rem;
}

.neo-card {
    max-width: 34rem;
    text-align: center;
    animation: neo-settle 500ms ease-out both;
}

@keyframes neo-settle {
    from { opacity: 0; transform: translateY(8px); }
    to   { opacity: 1; transform: none; }
}

@media (prefers-reduced-motion: reduce) {
    .neo-card { animation: none; }
}

/* Oversized status numeral / glyph, acid lime. */
.neo-code {
    font-size: clamp(6rem, 24vw, 11rem);
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0.02em;
    color: var(--acid);
    margin: 0 0 1.5rem;
}

/* Closed book, CSS only: cover, lime spine, page edges. */
.neo-book {
    position: relative;
    width: 58px;
    height: 76px;
    margin: 0 auto 2rem;
    background: var(--ink-raised);
    border: 1px solid var(--line);
    border-radius: 2px var(--radius) var(--radius) 2px;
    transform: rotate(-4deg);
}

.neo-book::before { /* spine */
    content: '';
    position: absolute;
    inset: 0 auto 0 0;
    width: 7px;
    background: var(--acid);
    border-radius: 2px 0 0 2px;
}

.neo-book::after { /* page edges */
    content: '';
    position: absolute;
    top: 5px;
    right: 4px;
    bottom: 5px;
    width: 4px;
    border-right: 3px double var(--muted);
    opacity: 0.55;
}

.neo-eyebrow {
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--muted);
    margin: 0 0 0.875rem;
}

.neo-title {
    font-size: clamp(1.4rem, 5vw, 1.9rem);
    font-weight: 600;
    line-height: 1.3;
    margin: 0 0 0.875rem;
}

.neo-text {
    color: var(--muted);
    font-size: 0.875rem;
    margin: 0;
}

.neo-text + .neo-text { margin-top: 0.5rem; }

.neo-btn {
    display: inline-block;
    margin-top: 2rem;
    padding: 0.65rem 1.5rem;
    background: var(--acid);
    color: var(--ink);
    font-family: var(--mono);
    font-size: 0.875rem;
    font-weight: 600;
    text-decoration: none;
    border-radius: 999px;
}

.neo-btn:hover { filter: brightness(1.08); }

.neo-btn:focus-visible {
    outline: 2px solid var(--acid);
    outline-offset: 3px;
}
