/* ma-theme */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
:root{
  --ma-bg:#0a0c10;--ma-sf:#12151e;--ma-tx:#c5c9d4;
  --ma-mt:#888ea0;--ma-wh:#eef0f8;--ma-hd:#5ba4e6;
  --ma-h3:#4a90cc;--ma-ac:#5ba4e6;--ma-bd:rgba(91,164,230,0.08);
  --ma-lk:#5ba4e6;--ma-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(--ma-ft);background:var(--ma-bg);color:var(--ma-tx);font-size:17px;line-height:1.8}
img{max-width:100%;height:auto;display:block}
a{color:var(--ma-lk);text-decoration:none}
a:hover{text-decoration:underline}

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

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

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

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

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

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

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

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