/* ab-theme */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
:root{
  --ab-bg:#0a0b10;--ab-sf:#121320;--ab-tx:#c8c9d4;
  --ab-mt:#8889a0;--ab-wh:#ededf8;--ab-hd:#6ec4f0;
  --ab-h3:#54a8d6;--ab-ac:#6ec4f0;--ab-bd:rgba(110,196,240,0.08);
  --ab-lk:#6ec4f0;--ab-ft:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
}
html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
body{font-family:var(--ab-ft);background:var(--ab-bg);color:var(--ab-tx);font-size:16.8px;line-height:1.78}
img{max-width:100%;height:auto;display:block}
a{color:var(--ab-lk);text-decoration:none}
a:hover{text-decoration:underline}

.ab-shell{max-width:820px;margin:0 auto;padding:0 1.5rem}

#content-hub{padding:4rem 0 3rem}
#content-hub h1{font-size:clamp(1.8rem,4vw,2.6rem);font-weight:800;line-height:1.2;color:var(--ab-hd);margin-bottom:2rem;letter-spacing:-0.02em}
#content-hub h2{font-size:clamp(1.4rem,3vw,1.9rem);font-weight:700;line-height:1.25;color:var(--ab-hd);margin-top:3.5rem;margin-bottom:1.25rem;padding-left:0.75rem;border-left:4px solid var(--ab-ac);letter-spacing:-0.01em}
#content-hub h3{font-size:clamp(1.1rem,2.5vw,1.35rem);font-weight:600;color:var(--ab-h3);margin-top:2.5rem;margin-bottom:0.75rem}
#content-hub p{margin-bottom:1.5rem;color:var(--ab-tx)}
#content-hub img{margin:2rem 0;border-radius:10px;border:1px solid var(--ab-bd)}

#content-hub table{width:100%;border-collapse:collapse;margin:2rem 0;font-size:0.9rem;border:1px solid var(--ab-bd);border-radius:8px;overflow:hidden}
#content-hub thead{background:rgba(110,196,240,0.07)}
#content-hub th{padding:0.85rem 1.25rem;text-align:left;font-weight:600;color:var(--ab-wh);font-size:0.8rem;text-transform:uppercase;letter-spacing:0.05em;border-bottom:1px solid var(--ab-bd)}
#content-hub td{padding:0.75rem 1.25rem;color:var(--ab-mt);border-bottom:1px solid var(--ab-bd)}
#content-hub tbody tr:last-child td{border-bottom:none}
#content-hub tbody tr:hover{background:rgba(255,255,255,0.02)}

#content-hub ul{margin:1.5rem 0;padding-left:0;list-style:none}
#content-hub li{position:relative;padding:0.5rem 0 0.5rem 1.5rem;color:var(--ab-tx);font-size:0.95rem}
#content-hub li::before{content:'\2022';position:absolute;left:0;color:var(--ab-ac);font-weight:700;font-size:1.2em}

figure{margin:0}
.ab-banner,.ab-visual{margin:2rem 0}
.ab-banner img,.ab-visual img{width:100%;height:auto;border-radius:10px;border:1px solid var(--ab-bd);display:block}

#ref-links,#qa-section{padding:2.5rem 0;border-top:1px solid var(--ab-bd)}
#ref-links h2,#qa-section h2{font-size:clamp(1.4rem,3vw,1.9rem);font-weight:700;line-height:1.25;color:var(--ab-hd);margin-bottom:1.25rem;padding-left:0.75rem;border-left:4px solid var(--ab-ac);letter-spacing:-0.01em}
#ref-links h3,#qa-section h3{font-size:clamp(1.1rem,2.5vw,1.35rem);font-weight:600;color:var(--ab-h3);margin-top:2rem;margin-bottom:0.5rem}
#ref-links p,#qa-section p{margin-bottom:1.25rem;color:var(--ab-tx);line-height:1.78}
#ref-links a{color:var(--ab-ac);text-decoration:none;border-bottom:1px solid rgba(110,196,240,0.3);transition:border-color 0.2s}
#ref-links a:hover{border-color:var(--ab-ac)}

footer{border-top:1px solid var(--ab-bd);padding:2rem 0}
footer p{font-size:0.8rem;color:var(--ab-mt);text-align:center}

@media(max-width:600px){
  #content-hub{padding:2.5rem 0 2rem}
  #content-hub h2{margin-top:2.5rem}
  .ab-banner,.ab-visual{margin:1.5rem 0}
  .ab-banner img,.ab-visual img{border-radius:6px}
  #content-hub table{font-size:0.8rem}
  #content-hub th,#content-hub td{padding:0.6rem 0.75rem}
  #ref-links,#qa-section{padding:2rem 0}
}
