/* OmniFlash — mobile-first, no framework. */
:root { --ink:#1c2430; --mut:#5b6b7f; --acc:#6d4bd8; --acc2:#0e7a5f; --line:#e3e8f0; --bg:#fbfcfe; }
* { box-sizing: border-box; }
body { font-family: system-ui, -apple-system, "Segoe UI", sans-serif; color: var(--ink);
       background: var(--bg); margin: 0; line-height: 1.55; }
main { max-width: 46rem; margin: 0 auto; padding: 1rem 1rem 3rem; }
.top { display: flex; justify-content: space-between; align-items: center;
       max-width: 46rem; margin: 0 auto; padding: .8rem 1rem; }
.brand { font-weight: 700; color: var(--ink); text-decoration: none; display: flex; gap: .45rem; align-items: center; }
.top nav a { color: var(--mut); text-decoration: none; margin-left: .9rem; font-size: .95rem; }
h1 { font-size: 1.65rem; line-height: 1.25; margin: .6rem 0; }
h2 { font-size: 1.15rem; margin-top: 2rem; }
.lede { font-size: 1.05rem; color: #33404f; }
.card { background: #fff; border: 1px solid var(--line); border-radius: 14px;
        padding: 1rem; margin: 1.2rem 0; box-shadow: 0 1px 3px rgba(20,30,50,.05); }
label { display: block; font-weight: 600; margin: .7rem 0 .3rem; }
textarea, input[type="file"] { width: 100%; font: inherit; }
textarea { border: 1px solid var(--line); border-radius: 10px; padding: .6rem; }
.row { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: 1rem; }
button { font: inherit; border: 1px solid var(--acc); color: var(--acc); background: #fff;
         border-radius: 999px; padding: .55rem 1.1rem; cursor: pointer; }
button.primary { background: var(--acc); color: #fff; }
button:active { transform: translateY(1px); }
.msg { color: var(--acc2); min-height: 1.2em; }
.muted { color: var(--mut); font-size: .92rem; }
table { border-collapse: collapse; width: 100%; font-size: .95rem; background: #fff; }
th, td { border: 1px solid var(--line); padding: .45rem .6rem; text-align: left; vertical-align: top; }
details { background: #fff; border: 1px solid var(--line); border-radius: 10px; padding: .6rem .8rem; margin: .5rem 0; }
summary { font-weight: 600; cursor: pointer; }
footer { margin-top: 2.5rem; border-top: 1px solid var(--line); padding-top: 1rem; }
footer a { color: var(--mut); }
video { border-radius: 12px; }
