@import url('https://fonts.googleapis.com/css2?family=Be+Vietnam+Pro:wght@400;500;600;700;800&display=swap');
:root{
  --teal:#14B8A6;--teal-deep:#0D9488;--teal-700:#0E8C82;--teal-300:#2DD4BF;--mint:#5EEAD4;--gold:#E0A92E;
  --ink:#0F2A27;--muted:#56706C;--faint:#8A9A96;--line:#E4EDEB;--soft:#F1F8F6;--soft2:#E9F5F2;
  --canvas:#FFFFFF;--dark:#082420;--dark2:#0B2E2A;
  --doc:#374b47;--headbg:rgba(255,255,255,.82);--headline:var(--line);--codebg:var(--soft2);--codeink:var(--teal-deep)
}
[data-theme="dark"]{
  --ink:#EAF5F2;--muted:#9FB8B3;--faint:#7E948F;--line:#1C3A35;--soft:#0E2E2A;--soft2:#103833;
  --canvas:#071C19;--doc:#C2D6D2;--headbg:rgba(7,28,25,.86);--headline:#15332E;--codebg:#103833;--codeink:var(--mint)
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Be Vietnam Pro',system-ui,Segoe UI,Arial,sans-serif;color:var(--ink);background:var(--canvas);-webkit-font-smoothing:antialiased;line-height:1.55}
a{color:inherit;text-decoration:none}
.mk{width:42px;height:42px;display:inline-block;vertical-align:middle}
.ico{fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.ico .fil{fill:currentColor;stroke:none}
/* header */
.lhead{position:sticky;top:0;z-index:50;background:var(--headbg);backdrop-filter:blur(14px);border-bottom:1px solid var(--headline)}
.lhead-in{max-width:880px;margin:0 auto;padding:0 40px;display:flex;align-items:center;gap:14px;height:68px}
.brand{display:flex;align-items:center;gap:11px}
.brand .wm{font-weight:800;font-size:22px;letter-spacing:-.01em;color:var(--ink)}.brand .wm .u{color:var(--teal-deep)}
.brand .mk{width:36px;height:36px}
.lhead-actions{margin-left:auto;display:flex;align-items:center;gap:12px}
.langnote{font-size:12px;font-weight:600;color:var(--faint)}
.tbtn{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:11px;border:1px solid var(--line);background:transparent;color:var(--ink);cursor:pointer}
.tbtn svg{width:18px;height:18px}
.tbtn .sun{display:none}
[data-theme="dark"] .tbtn .moon{display:none}[data-theme="dark"] .tbtn .sun{display:block}
.btn-primary{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:700;color:#fff;background:linear-gradient(135deg,var(--teal-300),var(--teal-deep));padding:10px 18px;border-radius:11px;border:none;cursor:pointer;box-shadow:0 8px 20px rgba(20,184,166,.28)}
/* doc body (master rules, verbatim values) */
.docwrap{max-width:840px;margin:0 auto;padding:46px 40px 88px}
.crumb{display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:600;color:var(--teal-deep);margin-bottom:18px}
[data-theme="dark"] .crumb{color:var(--mint)}
.crumb:hover{text-decoration:underline}
.doctitle{font-size:38px;font-weight:800;letter-spacing:-.02em;line-height:1.14;color:var(--ink)}
.docmeta{font-size:13.5px;color:var(--faint);margin:12px 0 6px}
.docmeta strong{color:var(--muted);font-weight:600}
.doc{font-size:15.5px;line-height:1.72;color:var(--doc)}
.doc h2{font-size:20px;font-weight:700;color:var(--ink);margin:32px 0 10px;padding-top:6px}
.doc h2:first-child{margin-top:20px}
.doc h3{font-size:16px;font-weight:700;color:var(--ink);margin:20px 0 6px}
.doc p{margin:0 0 13px}
.doc ul,.doc ol{margin:0 0 13px;padding-left:22px}
.doc li{margin:0 0 7px}
.doc li>ul,.doc li>ol{margin:7px 0 0}
.doc a{color:var(--teal-deep);font-weight:600}
[data-theme="dark"] .doc a{color:var(--mint)}
.doc a:hover{text-decoration:underline}
.doc strong,.doc b{color:var(--ink);font-weight:700}
.doc em{font-style:italic}
.doc code{font-family:inherit;font-weight:600;background:var(--codebg);color:var(--codeink);padding:1px 6px;border-radius:6px;font-size:.95em}
.doc code a{color:inherit}
.doc blockquote{margin:0 0 16px;padding:14px 18px;background:var(--soft);border:1px solid var(--line);border-left:3px solid var(--teal);border-radius:12px}
.doc blockquote p{margin:0 0 6px}.doc blockquote p:last-child{margin:0}
.doc hr{border:none;border-top:1px solid var(--line);margin:26px 0}
/* footer (master look) */
footer{background:var(--dark);color:#CFE0DC;padding:56px 0 30px;margin-top:32px}
footer .fwrap{max-width:1140px;margin:0 auto;padding:0 40px}
footer .ftop{display:grid;grid-template-columns:1.5fr repeat(5,1fr);gap:24px}
footer .flock{display:flex;align-items:center;gap:11px}
footer .flock .wm{font-size:21px;font-weight:800;color:#fff}footer .flock .wm .u{color:var(--mint)}
footer .ftag{font-size:13.5px;color:#9FB8B3;margin-top:13px;line-height:1.6;max-width:250px}
footer h4{font-size:11.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--teal-300);margin-bottom:13px}
footer .li{font-size:14px;color:#C2D6D2;margin-bottom:9px;display:flex;gap:8px;align-items:flex-start}
footer .li svg{width:16px;height:16px;color:var(--teal-300);flex:none;margin-top:2px}
footer a:hover{color:#fff;text-decoration:underline}
footer .fdiv{height:1px;background:rgba(255,255,255,.1);margin:30px 0 18px}
footer .fbot{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap}
footer .plock{display:flex;align-items:center;gap:12px}
footer .plock .ulogo{width:38px;height:38px;flex:none}
footer .plock .pt{font-size:12px;color:#7E948F}
footer .plock .pt b{display:block;font-size:13.5px;color:#DCEAE7;font-weight:700;letter-spacing:.04em}
footer .copy{font-size:12px;color:#6E847F;max-width:48ch;text-align:right}
@media (max-width:899px){
  .lhead-in{padding:0 18px;height:60px;gap:10px}
  .brand .wm{font-size:20px}
  .langnote .vi-soon{display:none}
  .btn-primary{display:none}
  .docwrap{padding:30px 18px 64px}
  .doctitle{font-size:27px}
  .doc{font-size:15px}
  footer .fwrap{padding:0 22px}
  footer .ftop{grid-template-columns:1fr 1fr;gap:24px}
  footer .fbrand{grid-column:1 / -1}
  footer .fbot{flex-direction:column;align-items:flex-start}
  footer .copy{text-align:left;max-width:none}
}
