:root { color-scheme: light; }
* { box-sizing: border-box; }
html, body { height: 100%; }
body{
  margin:0; background:#fff; color:#111;
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
  line-height:1.55; text-rendering: optimizeLegibility;
}
main{ max-width:920px; margin:0 auto; padding:18px 16px 48px; }
header{ padding:8px 0 10px; }
h1{ font-size: clamp(28px, 3.2vw, 40px); margin:0 0 8px; letter-spacing:-0.02em; }
h2{ font-size:22px; margin:26px 0 10px; letter-spacing:-0.01em; }
h3{ font-size:16px; margin:14px 0 8px; }
p{ margin:10px 0; }
a{ color:#0b57d0; text-decoration: underline; text-underline-offset:2px; }
a:focus-visible{ outline:2px solid #0b57d0; outline-offset:2px; }
.meta{
  margin-top:10px; font-size:14px; color:#444;
  display:flex; flex-wrap:wrap; gap:10px 14px;
}
.sub{ margin:0; font-size:16px; color:#333; }
.small{ font-size:13px; }
.muted{ color:#444; }
.card{ border:1px solid #e6e6e6; border-radius:12px; padding:12px 14px; margin:12px 0; }
.grid{ display:grid; grid-template-columns:1fr; gap:12px; }
@media (min-width: 800px){ .grid{ grid-template-columns:1fr 1fr; } }
.qa details{ border:1px solid #e6e6e6; border-radius:10px; padding:10px 12px; margin:10px 0; }
.qa summary{ cursor:pointer; font-weight:600; list-style:none; }
.qa summary::-webkit-details-marker{ display:none; }
.qa .answer{ margin-top:8px; color:#222; }
.table-wrap{
  overflow-x:auto; -webkit-overflow-scrolling:touch;
  border:1px solid #e6e6e6; border-radius:12px;
}
table{ width:100%; border-collapse:collapse; min-width:520px; }
th, td{ padding:10px 12px; text-align:left; vertical-align:top; border-bottom:1px solid #eee; font-size:14px; }
th{ width:34%; color:#222; }
tr:last-child th, tr:last-child td{ border-bottom:none; }
.note{ font-size:13px; color:#444; margin-top:8px; }
.author-box{
  background:#f8f9fa; border:1px solid #e6e6e6; border-radius:10px;
  padding:12px 14px; margin:16px 0; display:flex; gap:12px; align-items:center;
}
.author-box .author-info{ flex:1; }
.author-box .author-name{ font-weight:600; margin:0; font-size:14px; }
.author-box .author-cred{ font-size:13px; color:#444; margin:2px 0 0; }
.author-box .author-link{ font-size:13px; }
.expert-quote{
  background:#f0f7ff; border-left:4px solid #0b57d0; border-radius:0 10px 10px 0;
  padding:14px 16px; margin:18px 0; font-style:italic;
}
.expert-quote .quote-text{ margin:0 0 8px; color:#222; }
.expert-quote .quote-source{ font-size:13px; color:#555; font-style:normal; }
footer{
  margin-top:30px; padding-top:16px;
  border-top:1px solid #eee; font-size:13px; color:#444;
}
footer ul{ margin:8px 0 0; padding-left:18px; }
footer li{ margin:6px 0; }
