:root{--ink:#1a1a1a;--mut:#555;--line:#ddd;--acc:#0b5fff;--bg:#fff;--soft:#f5f7fb}
*{box-sizing:border-box}
body{font-family:-apple-system,system-ui,Segoe UI,sans-serif;color:var(--ink);background:var(--bg);line-height:1.6;margin:0}
header,main,footer{max-width:720px;margin:0 auto;padding:1rem 1.25rem}
header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}
header a{color:var(--ink);text-decoration:none;font-weight:700}
nav a{font-weight:400;margin-left:1rem;color:var(--acc)}
h1{font-size:1.8rem;line-height:1.2}
h2{font-size:1.25rem;margin-top:2rem}
a{color:var(--acc)}
.aff{background:#fff8e1;border:1px solid #f0d78c;padding:.6rem .8rem;border-radius:6px;font-size:.9rem;margin:1rem 0}
.card{background:var(--soft);border:1px solid var(--line);border-radius:8px;padding:1rem;margin:1rem 0}
.btn{display:inline-block;background:var(--acc);color:#fff;padding:.6rem 1rem;border-radius:6px;text-decoration:none;border:0;font-size:1rem;cursor:pointer}
.btn.alt{background:#fff;color:var(--acc);border:1px solid var(--acc)}
.meta{color:var(--mut);font-size:.85rem}
.opts button{display:block;width:100%;text-align:left;margin:.4rem 0;padding:.7rem 1rem;font-size:1rem;border:1px solid var(--line);border-radius:6px;background:#fff;cursor:pointer}
.opts button:hover{border-color:var(--acc)}
table{border-collapse:collapse;width:100%;font-size:.92rem}
td,th{border:1px solid var(--line);padding:.4rem .6rem;text-align:left}
footer{border-top:1px solid var(--line);color:var(--mut);font-size:.85rem;margin-top:3rem}
