/* babel.eo1.org — one design system, zero web fonts, no third-party. */
:root{--bg:#0d0d10;--fg:#e8e8ea;--mut:#9a9aa2;--acc:#7aa2ff;--card:#15151a}
@media (prefers-color-scheme:light){:root{--bg:#fafafa;--fg:#16161a;--mut:#6b6b72;--acc:#1a56db;--card:#fff}}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0 auto;padding:1rem;max-width:44rem;font:16px/1.6 Helvetica,Arial,sans-serif;color:var(--fg);background:var(--bg)}
header,footer{color:var(--mut)}
nav a{color:var(--acc);text-decoration:none}
a{color:var(--acc)}
h1{font-size:1.7rem;line-height:1.25;margin:.2rem 0 1rem}
h2{font-size:1.15rem}
.card{background:var(--card);border:1px solid color-mix(in srgb,var(--fg) 8%,transparent);border-radius:10px;padding:1rem 1.2rem;margin:1rem 0}
.cols{display:flex;gap:1rem;flex-wrap:wrap}
.cols>div{flex:1;min-width:14rem}
input,textarea,button{font:inherit;color:inherit;background:transparent;border:1px solid var(--mut);border-radius:6px;padding:.45rem .6rem;width:100%}
button{cursor:pointer;margin-top:.4rem;background:var(--acc);color:var(--bg);border:0;font-weight:600}
button:hover{filter:brightness(1.1)}
pre.derived{white-space:pre-wrap;word-break:break-word;background:color-mix(in srgb,var(--fg) 4%,transparent);padding:1rem;border-radius:8px;line-height:1.5;min-height:6rem}
code{font-family:ui-monospace,Menlo,monospace;font-size:.9em;color:var(--acc)}
small{color:var(--mut)}
ul{padding-left:1.2rem}
:focus-visible{outline:3px solid var(--acc);outline-offset:2px}
@media (max-width:640px){body{padding:.7rem}h1{font-size:1.4rem}}
