.language-links { display:flex; flex-wrap:wrap; gap:8px; margin-top:24px; }
.language-links a { padding:6px 10px; border:1px solid var(--line); border-radius:8px; }
.language-links a[aria-current="page"] { color:var(--text); border-color:var(--blue); }
.article-body, .toc { overflow-wrap:anywhere; }
.data-planner { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; padding:24px; border:1px solid var(--line); border-radius:18px; background:var(--surface); }
.data-planner label { font-weight:700; font-size:15px; }
.data-planner input { display:block; width:100%; min-height:48px; margin-top:8px; border:1px solid var(--line); border-radius:8px; padding:12px; background:var(--bg); color:var(--text); font:inherit; }
.data-planner input:focus-visible, a:focus-visible, summary:focus-visible { outline:2px solid var(--blue); outline-offset:4px; }
.data-planner .planner-result { grid-column:1/-1; color:var(--text); margin:0; font-size:22px; }
.data-planner output { font-weight:800; color:var(--green); }
.data-planner .planner-note { grid-column:1/-1; margin:0; font-size:14px; }
@media (max-width:600px) { .data-planner { grid-template-columns:1fr; padding:18px; } }

.article-body section[id] { scroll-margin-top: 96px; }
