
:root { --ink:#14211c; --paper:#f3f6f4; --rule:#1f6b4a; }
* { box-sizing: border-box; }
body { margin:0; background:var(--paper); color:var(--ink); font:17px/1.55 "Segoe UI", sans-serif; }
a { color:#0f5a3c; }
header, footer, main { max-width:780px; margin:0 auto; padding:1.1rem; }
header { display:flex; justify-content:space-between; align-items:baseline; border-bottom:3px solid var(--rule); }
.brand { color:var(--ink); text-decoration:none; font-weight:700; }
nav a { margin-left:.75rem; }
h1 { font-size:1.7rem; line-height:1.2; }
h2 { font-size:1.15rem; margin:1.5rem 0 .35rem; }
table { width:100%; border-collapse:collapse; margin:1rem 0; }
th, td { border-bottom:1px solid #d5ddd8; padding:.45rem .35rem; text-align:left; vertical-align:top; }
td.num, th.num { font-family:Consolas, ui-monospace, monospace; }
.btn { display:inline-block; background:var(--ink); color:#fff; text-decoration:none; padding:.65rem .95rem; }
.shot { margin:1rem 0 .4rem; }
.shot img { width:100%; height:auto; border-radius:12px; display:block; background:#0e1626; }
.shot figcaption { color:#3d5148; font-size:.88rem; margin-top:.4rem; }
.reg { margin:0 0 1.4rem; text-align:center; }
.reg .btn-reg { display:inline-block; background:#0f8a55; color:#fff; text-decoration:none; font-weight:800; font-size:1.25rem; padding:1.05rem 1.8rem; border-radius:12px; box-shadow:0 12px 30px rgba(15,138,85,.45); }
.reg .btn-reg:hover { background:#12a366; }
.reg small { display:block; margin-top:.45rem; color:#3d5148; }
footer { font-size:.9rem; color:#3d5148; border-top:1px solid #d5ddd8; }
