:root { color-scheme: light dark; --fg: #1a1a1a; --bg: #fafaf7; --accent: #14532d; --line: #c9c9c0; }
@media (prefers-color-scheme: dark) { :root { --fg: #e8e8e0; --bg: #161816; --accent: #6ee7a0; --line: #3a3d3a; } }
body { margin: 0; font: 16px/1.45 system-ui, sans-serif; color: var(--fg); background: var(--bg); }
header, main, footer { max-width: 40rem; margin: 0 auto; padding: 0.5rem 1rem; }
h1 { font-size: 1.4rem; margin: 0.5rem 0 0; }
h2 { font-size: 1.1rem; margin: 0 0 0.5rem; }
section { border: 1px solid var(--line); border-radius: 8px; padding: 0.75rem 1rem; margin: 0.75rem 0; }
label { display: block; margin: 0.5rem 0; }
input:not([type=checkbox]), select, textarea { display: block; width: 100%; box-sizing: border-box; font: inherit; padding: 0.4rem; margin-top: 0.2rem; }
fieldset { border: 1px solid var(--line); margin: 0.5rem 0; }
fieldset label { display: inline-block; margin-right: 1rem; }
button { font: inherit; padding: 0.5rem 1rem; margin: 0.25rem 0.25rem 0.25rem 0; background: var(--accent); color: var(--bg); border: 0; border-radius: 6px; }
button[data-del] { background: transparent; color: var(--fg); border: 1px solid var(--line); }
video { width: 100%; max-height: 16rem; background: #000; }
pre { white-space: pre-wrap; word-break: break-all; font-size: 0.85rem; max-height: 14rem; overflow: auto; }
.note, footer { font-size: 0.85rem; opacity: 0.8; }
.ok { color: var(--accent); }
.bad { color: #b91c1c; }
