:root { --ink:#1f2a44; --gold:#c9972b; --red:#c1121f; --cream:#fbf6e9; --muted:#5d6472; --rule:#e2ddd0; }
* { box-sizing:border-box; }
body { margin:0; font:18px/1.6 Georgia,'Times New Roman',serif; color:#222; background:#fff; }
.wrap { max-width:46rem; margin:0 auto; padding:0 1rem 4rem; }
header.site { border-bottom:3px solid var(--gold); margin-bottom:1.6rem; }
header.site .wrap { padding-bottom:.6rem; }
.brand { display:block; padding-top:1.1rem; font:700 1.05rem/1.2 system-ui,-apple-system,'Segoe UI',Helvetica,Arial,sans-serif;
         letter-spacing:.08em; text-transform:uppercase; color:var(--ink); text-decoration:none; }
nav.site a { display:inline-block; margin:.35rem 1rem 0 0; font:.92rem system-ui,-apple-system,'Segoe UI',Helvetica,Arial,sans-serif;
             color:var(--ink); text-decoration:none; border-bottom:2px solid transparent; }
nav.site a:hover, nav.site a.here { border-bottom-color:var(--gold); }
h1,h2,h3,button,.plain,.note,.sans,label,table { font-family:system-ui,-apple-system,'Segoe UI',Helvetica,Arial,sans-serif; }
h1 { color:var(--ink); font-size:2.1rem; line-height:1.15; margin:.4rem 0 .3rem; }
h2 { color:var(--ink); margin-top:2.6rem; font-size:1.35rem; }
h3 { color:var(--ink); font-size:1.05rem; margin-top:1.6rem; }
a { color:#1f5fa8; }
.sub { font-size:1.2rem; color:var(--muted); margin:0 0 1.2rem; }
.note { background:#f4f3ef; border-left:4px solid #4a4a4a; padding:.7rem 1rem; font-size:.92rem; }
.two { display:grid; grid-template-columns:1fr 1fr; gap:1.4rem; } @media (max-width:40rem) { .two { grid-template-columns:1fr; } }
.card { border:1px solid var(--rule); border-top:3px solid var(--ink); padding:.2rem 1rem .6rem; font-size:.95rem; }
.card.no { border-top-color:var(--muted); }
.card h3 { margin-top:.8rem; }
.buy { background:var(--cream); border:1px solid var(--gold); padding:1rem 1.2rem; margin:1.6rem 0; }
.btn, button { display:inline-block; background:var(--ink); color:#fff; border:0; border-radius:4px; padding:.55rem 1rem;
       font:.95rem system-ui,-apple-system,'Segoe UI',Helvetica,Arial,sans-serif; cursor:pointer; text-decoration:none; }
button.done { background:#1e6b52; } button:disabled { opacity:.5; }
figure { margin:1.6rem 0; text-align:center; } figure img { max-width:100%; height:auto; }
figcaption { font-style:italic; color:var(--muted); font-size:.95rem; }
ol.ten li { margin:.35rem 0; }
.luck { color:var(--red); font-weight:bold; }
.article { background:var(--cream); border:1px solid var(--ink); padding:.8rem 1rem; margin:1rem 0 0; font-size:.95rem; }
.article p { margin:.5rem 0; }
.plain { background:#fdf8ec; border:1px solid var(--gold); border-top:0; padding:.6rem 1rem; margin:0 0 1rem; font-size:.9rem; color:var(--ink); }
textarea.hidden { position:absolute; left:-9999px; }
.toc a { display:inline-block; margin:.2rem .9rem .2rem 0; }
.map svg { width:100%; height:auto; display:block; }
.map a path, .map a circle { fill:#d9d6cc; stroke:#fff; stroke-width:1; transition:fill .1s; }
.map a.cp path, .map a.cp circle { fill:var(--ink); }
.map a:hover path, .map a:focus path, .map a:hover circle { fill:var(--gold); }
.legend { font:.85rem system-ui,sans-serif; color:var(--muted); } .legend span { display:inline-block; width:.8rem; height:.8rem; margin:0 .3rem 0 1rem; vertical-align:-1px; }
.statelist { columns:3; font:.92rem system-ui,sans-serif; padding-left:1.1rem; } @media (max-width:40rem) { .statelist { columns:2; } }
table { border-collapse:collapse; width:100%; font-size:.9rem; } th,td { text-align:left; padding:.45rem .5rem; border-bottom:1px solid var(--rule); vertical-align:top; }
label { display:block; font-size:.92rem; color:var(--muted); margin:1.1rem 0 .3rem; }
textarea.msg, input[type=text] { width:100%; font:inherit; border:1px solid var(--rule); border-radius:5px; padding:.6rem .7rem; }
textarea.msg { min-height:11rem; }
.hp { position:absolute; left:-9999px; }
.status.ok { color:#1e6b52; } .status.err { color:#a33; }
footer.site { margin-top:3.5rem; padding-top:1rem; border-top:1px solid var(--rule); color:var(--muted);
              font:.82rem/1.5 system-ui,-apple-system,'Segoe UI',Helvetica,Arial,sans-serif; }
