:root { color-scheme: dark; }
body { background-color: #000000; font-family: Georgia, serif; max-width: 700px; margin: 40px auto; padding: 0 20px; line-height: 1.75; color: #fafafa; }
.n { font-size: 0.7em; vertical-align: super; color: #888; font-family: monospace; margin-right: 4px; }
h1 { font-size: 26px; font-weight: 700; margin-bottom: 16px; border-bottom: 2px solid #eee; padding-bottom: 8px; }
h2 { font-size: 20px; font-weight: 600; margin: 20px 0 12px; }
h3 { font-size: 16px; font-weight: 600; margin: 16px 0 10px; }
p { margin-bottom: 12px; }
a { color: #7788cc; }
a:hover { color: #cc88cc; }
a:visited { color: #7788cc; }
.container { max-width: 800px; margin: 3rem auto; padding: 0 1.5rem; }
.card { background: #000; border-radius: 12px; box-shadow: 0 4px 20px rgba(0,0,0,0.08); padding: 2.5rem; }
.hero { display: flex; flex-wrap: wrap; gap: 2.5rem; align-items: flex-start; }
.cover { flex: 1 1 240px; text-align: center; }
.cover img { width: 100%; max-width: 300px; border-radius: 8px; box-shadow: 0 8px 24px rgba(0,0,0,0.15); }
.details { flex: 2 1 320px; }
.author { font-size: 1.1rem; color: #555; margin-bottom: 1rem; }
.tagline { font-size: 1.2rem; color: #8ca2e2; font-weight: 600; margin-bottom: 1rem; }
.blurb { margin-bottom: 1.5rem; }
.features { list-style: none; padding: 0; margin: 1rem 0 1.5rem; }
.features li { padding: 0.3rem 0; padding-left: 1.5rem; position: relative; }
.features li::before { content: "✓"; position: absolute; left: 0; color: #38a169; font-weight: bold; }
select { background: #000; color: #fff; padding: 6px 6px; min-width:128px; }
.button { display: inline-block; background: #2c5282; color: #fff; padding: 3px 3px; border-radius: 3px; text-decoration: none; }
.button:visited { display: inline-block; background: #2c5282; color: #fff; padding: 3px 3px; border-radius: 3px; text-decoration: none; }
.button:hover { background: #1a365d; }
.reviews { margin-top: 2.5rem; padding-top: 1.5rem; border-top: 1px solid #e2e8f0; }
.reviews h2 { font-size: 1.25rem; margin-bottom: 1rem; color: #1a202c; }
blockquote { margin: 0 0 1rem; padding-left: 1rem; border-left: 4px solid #2c5282; font-style: italic; color: #4a5568; }
.reviewer { font-weight: 600; color: #2d3748; }
.nav { display: flex; align-items: center; justify-content: space-between; padding: 12px 24px; border-bottom: 1px solid #eee; background: #454545; }
.navb { font-weight: 700; font-size: 14px; color: #fafafa; letter-spacing: -0.2px; }
.navl { display: flex; gap: 20px; }
.foo { padding: 12px 24px; border-top: 1px solid #eee; background: #000; text-align: center; font-size: 11px; color: #fafafa; }
