:root{
  --ink:#120a1f;--ink-2:#1b1030;--surface:#241640;--surface-2:#2d1b4e;
  --line:rgba(255,255,255,.1);--line-strong:rgba(255,255,255,.18);
  --txt:#f3e8ff;--txt-dim:#c4b5d4;--txt-faint:#8b7aa8;
  --hot:#ff2e93;--violet:#a855f7;--radius:16px;
  --font-display:'Clash Display',system-ui,sans-serif;
  --font-body:'Satoshi',system-ui,sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
body{background:var(--ink);color:var(--txt);font-family:var(--font-body),system-ui,sans-serif;line-height:1.7;-webkit-font-smoothing:antialiased}
a{color:var(--violet)}
.wrap{max-width:820px;margin:0 auto;padding:0 24px}
header.lhead{border-bottom:1px solid var(--line);background:linear-gradient(180deg,var(--ink-2),var(--ink));padding:22px 0}
.lhead__inner{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.brand{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-display);font-size:1.25rem;font-weight:600;color:var(--txt);text-decoration:none}
.brand strong{color:var(--hot)}
.brand .dot{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;background:linear-gradient(135deg,var(--hot),var(--violet));color:#fff;font-weight:700;font-family:var(--font-display)}
.lang{display:flex;gap:6px;font-size:.85rem}
.lang a{display:inline-block;padding:6px 12px;border:1px solid var(--line-strong);border-radius:999px;color:var(--txt-dim);text-decoration:none}
.lang a.is-active{background:var(--violet);color:#fff;border-color:var(--violet)}
main{padding:54px 0 80px}
h1{font-family:var(--font-display);font-size:clamp(1.9rem,4vw,2.6rem);margin-bottom:10px;line-height:1.15}
.updated{color:var(--txt-faint);font-size:.9rem;margin-bottom:38px}
h2{font-family:var(--font-display);font-size:1.3rem;margin:34px 0 12px;color:var(--txt)}
p,li{color:var(--txt-dim);margin-bottom:12px}
ul{padding-left:22px;margin-bottom:12px}
.lang-block{display:none}
.lang-block.show{display:block}
strong.hl{color:var(--txt)}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:22px 24px;margin:18px 0}
footer.lfoot{border-top:1px solid var(--line);padding:30px 0;color:var(--txt-faint);font-size:.85rem}
.lfoot a{color:var(--txt-dim)}
.lfoot__links{display:flex;gap:18px;flex-wrap:wrap;margin-bottom:12px}

mark.todo{background:rgba(255,213,79,.18);color:#ffe08a;padding:0 4px;border-radius:4px}
code{font-size:.9em;color:var(--txt)}
