/* indigolab.ai — one page, one stylesheet, no libraries. Same palette as NANO. */
:root {
    --ink: #1a1d21;
    --ink-soft: #5b636d;
    --ink-faint: #8b939c;
    --paper: #ffffff;
    --paper-sunk: #f5f6f8;
    --accent: #001b64;
    --accent-ink: #ffffff;
    --accent-soft: #eef0f7;
    --rule: #e3e6ea;
    --font: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}
* { box-sizing: border-box; }
html, body { margin: 0; min-height: 100%; }
body {
    font-family: var(--font);
    color: var(--ink);
    background: var(--paper);
    line-height: 1.45;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}
main {
    flex: 1;
    width: min(44rem, 100% - 3rem);
    margin: 0 auto;
    padding: clamp(3rem, 12vh, 8rem) 0 3rem;
}
.mark { display: block; width: 13rem; height: auto; margin-bottom: 2rem; }
h1 {
    font-size: clamp(1.6rem, 3.4vw, 2.3rem);
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: -0.01em;
    margin: 0 0 1rem;
    text-wrap: balance;
    max-width: 22em;
}
.lede { font-size: 1.1rem; color: var(--ink-soft); max-width: 36em; margin: 0 0 2.5rem; }
.entry { display: flex; flex-direction: column; gap: 0.9rem; margin: 0; max-width: 20rem; }
.entry label { display: flex; flex-direction: column; gap: 0.3rem; font-size: 0.9rem; color: var(--ink-soft); }
.entry input {
    font: inherit;
    color: var(--ink);
    background: var(--paper);
    border: 1px solid #c9ced5;
    border-radius: 0.25rem;
    padding: 0.55rem 0.7rem;
}
.entry input:focus { outline: none; border-color: var(--accent); box-shadow: 0 0 0 3px var(--accent-soft); }
.entry .button { align-self: flex-start; margin-top: 0.3rem; }
.entry .hint { margin: 0.2rem 0 0; }
.button {
    display: inline-block;
    font: inherit;
    border: 0;
    cursor: pointer;
    background: var(--accent);
    color: var(--accent-ink);
    text-decoration: none;
    font-weight: 600;
    padding: 0.7rem 1.4rem;
    border-radius: 0.25rem;
}
.button:hover, .button:focus-visible { background: #0b2d8a; outline: none; }
.button:focus-visible { box-shadow: 0 0 0 3px var(--paper), 0 0 0 5px var(--accent); }
.hint { color: var(--ink-faint); font-size: 0.95rem; }
footer {
    border-top: 1px solid var(--rule);
    background: var(--paper-sunk);
    color: var(--ink-faint);
    font-size: 0.85rem;
    padding: 1.25rem 0;
}
footer p { width: min(44rem, 100% - 3rem); margin: 0.2rem auto; }
