.topic-main { max-width:900px; }
.topic-body { padding:clamp(20px,4vw,48px); background:#fff; border:1px solid #e5e7eb; border-radius:20px; line-height:1.95; overflow-wrap:anywhere; }
.topic-heading h1 { font-size:clamp(24px,3.5vw,36px); line-height:1.55; letter-spacing:.01em; }
.topic-body h2 { font-size:clamp(21px,2.7vw,27px); line-height:1.6; margin-top:2.6em; padding-left:16px; border-left:4px solid #b45309; scroll-margin-top:120px; }
.topic-body p { margin:1.15em 0; }
.topic-body a { color:#1d4ed8; text-decoration:underline; text-underline-offset:3px; }
.topic-body a:focus-visible,.topic-sources summary:focus-visible { outline:3px solid #1d4ed8; outline-offset:4px; }
.topic-meta,.topic-embed-note,.topic-ad-label { color:#4b5563; font-size:13px; }
.topic-part-label { font-size:12px; color:#92400e; font-weight:800; letter-spacing:.12em; margin-bottom:0!important; }
.topic-part-title { font-size:20px; font-weight:700; margin-top:4px!important; }
.topic-pages { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:24px 0; }
.topic-pages a { display:flex; flex-direction:column; padding:14px; border:1px solid #d1d5db; border-radius:12px; line-height:1.6; font-size:14px; color:#374151; text-decoration:none; }
.topic-pages a span { font-size:12px; font-weight:800; color:#92400e; }
.topic-pages a[aria-current="page"] { background:#fff7ed; border:2px solid #b45309; padding:13px; font-weight:700; }
.topic-note { background:#fff7ed; border:1px solid #fed7aa; padding:20px 24px; border-radius:14px; margin:28px 0; }
.topic-note p { margin-bottom:0; }
.topic-post { margin:28px 0 36px; padding:20px; background:#f8fafc; border:1px solid #e2e8f0; border-radius:14px; }
.topic-post figcaption { line-height:1.7; font-size:14px; font-weight:700; }
.topic-post figcaption span { display:block; color:#4b5563; font-size:12px; font-weight:400; }
.topic-post .twitter-tweet { margin:18px auto!important; max-width:550px; }
.topic-post blockquote { border-left:3px solid #cbd5e1; padding:16px; background:white; }
.topic-post-link { font-size:13px; margin-bottom:0!important; }
.topic-table-wrap { overflow-x:auto; margin:28px 0; }
.topic-table-wrap table { width:100%; border-collapse:collapse; font-size:15px; }
.topic-table-wrap th,.topic-table-wrap td { padding:14px; border:1px solid #d1d5db; text-align:left; vertical-align:top; }
.topic-table-wrap th { background:#fff7ed; }
.topic-table-wrap caption { text-align:left; font-weight:700; margin-bottom:12px; }
.topic-next-prev { display:flex; flex-wrap:wrap; gap:12px; justify-content:space-between; margin-top:40px; }
.topic-next-prev a { flex:1 1 220px; padding:18px; background:#fff7ed; border-radius:12px; font-weight:700; }
.topic-sources { padding:20px; border:1px solid #d1d5db; border-radius:12px; font-size:14px; margin:30px 0; }
.topic-sources summary { cursor:pointer; font-weight:700; }
.topic-sources h2 { font-size:18px; }
.topic-sources li { margin:12px 0; }
.topic-product { padding:24px; border:1px solid #d1d5db; border-radius:14px; margin:32px 0; }
@media(max-width:600px) { .topic-pages { grid-template-columns:1fr; } .topic-pages a { flex-direction:row; gap:14px; align-items:center; } .topic-post { padding:12px; } .topic-body { padding:20px 16px; } .topic-note { padding:16px; } .topic-table-wrap th,.topic-table-wrap td { padding:10px; } }
