:root{--bg:#0b0f14;--fg:#e8edf2;--muted:#9aa6b2;--accent:#2fd39a;--card:#131a22;--line:#22303d}
*{box-sizing:border-box}body{margin:0;font:16px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;background:var(--bg);color:var(--fg)}
main{max-width:760px;margin:0 auto;padding:48px 20px 80px}
header{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:32px}
header .mark{width:40px;height:40px;border-radius:10px;flex:none}
header>a{color:var(--fg);text-decoration:none;font-weight:600;margin-right:auto}
nav{display:flex;flex-wrap:wrap;gap:8px 16px}
nav a{color:var(--muted);text-decoration:none}nav a:hover,nav a:focus{color:var(--fg)}
nav a.lang{border:1px solid var(--line);border-radius:6px;padding:0 7px;font-size:.85rem}
h1{font-size:2rem;margin:0 0 8px;line-height:1.25;overflow-wrap:break-word}h2{font-size:1.25rem;margin:32px 0 8px}h3{font-size:1rem;margin:20px 0 4px}
p,li,td,th{color:var(--fg);overflow-wrap:break-word}.muted{color:var(--muted)}
.card{background:var(--card);border-radius:16px;padding:20px 24px;margin:16px 0}
.card.warn{border-left:3px solid var(--accent)}
ol.steps{padding-left:20px}ol.steps li{margin-bottom:8px}
table{border-collapse:collapse;width:100%;display:block;overflow-x:auto}
td,th{padding:8px;border-bottom:1px solid var(--line);vertical-align:top;text-align:left}
a{color:var(--accent)}
/* nowrap giữ phím liền khối, nhưng ở màn hình hẹp cho phép xuống dòng để không tràn ngang */
kbd{background:var(--card);border:1px solid var(--line);border-radius:5px;padding:1px 6px;font:inherit;font-size:.9em;white-space:nowrap}
@media (max-width:400px){kbd{white-space:normal}}
footer{margin-top:56px;padding-top:24px;border-top:1px solid var(--line);color:var(--muted);font-size:.9rem}
footer nav{margin-bottom:16px}footer p{color:var(--muted);margin:8px 0}
.center{text-align:center;padding-top:64px}
