:root { --bg:#0c1512; --card:#16241d; --card2:#1c2e24; --ink:#f2f7f4; --mut:#9fb5aa; --grn:#3ecf8e; --org:#fdba74; --line:#223428; }
* { box-sizing:border-box; }
body { margin:0; background:var(--bg); color:var(--ink); font:16px/1.65 "Segoe UI",system-ui,sans-serif; }
.wrap { max-width:800px; margin:0 auto; padding:32px 20px 64px; }
.brand { display:flex; align-items:center; gap:10px; margin-bottom:8px; }
.brand img { width:34px; height:34px; }
.brand a { color:var(--ink); text-decoration:none; font-weight:700; font-size:18px; }
.brand a b { color:var(--grn); }
.crumb { color:var(--mut); font-size:13px; margin-bottom:26px; }
.crumb a { color:var(--grn); text-decoration:none; }
h1 { font-family:Georgia,serif; font-size:32px; margin:0 0 6px; }
.sub { color:var(--mut); font-size:15px; margin:0 0 30px; }
h2 { font-family:Georgia,serif; font-size:21px; color:var(--grn); margin:34px 0 10px; scroll-margin-top:20px; }
h3 { font-size:16px; color:var(--org); margin:20px 0 6px; }
p, li { color:var(--ink); }
.soft { color:var(--mut); }
a { color:var(--grn); }
.card { background:var(--card); border:1px solid var(--line); border-radius:12px; padding:16px 18px; margin:16px 0; }
.tip { background:var(--card2); border:1px solid var(--line); border-radius:12px; padding:12px 16px; margin:14px 0; color:var(--mut); }
.tip strong { color:var(--org); }
table { border-collapse:collapse; width:100%; font-size:14px; margin:12px 0; }
th { text-align:left; color:var(--org); font-weight:600; padding:8px 10px; border-bottom:1px solid var(--line); }
td { padding:8px 10px; border-bottom:1px solid var(--line); vertical-align:top; }
.grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(230px,1fr)); gap:14px; margin-top:22px; }
.topic { display:block; background:var(--card); border:1px solid var(--line); border-radius:12px; padding:18px; text-decoration:none; transition:border-color .15s; }
.topic:hover { border-color:var(--grn); }
.topic .em { font-size:26px; }
.topic h3 { margin:8px 0 4px; color:var(--ink); font-family:Georgia,serif; font-size:17px; }
.topic p { margin:0; color:var(--mut); font-size:13px; }
.foot { margin-top:44px; padding-top:18px; border-top:1px solid var(--line); color:var(--mut); font-size:13px; }
.foot a { color:var(--grn); }
details { background:var(--card); border:1px solid var(--line); border-radius:10px; padding:12px 16px; margin:10px 0; }
summary { cursor:pointer; font-weight:600; color:var(--ink); }
details p { color:var(--mut); margin:10px 0 2px; }
