:root{--bg:#f4f6f9;--surface:#ffffff;--surface2:#eef1f6;--ink:#141821;--muted:#5a6473;--line:#dde2ea;--accent:#1e5bd6;--accent-ink:#ffffff;--accent-soft:#e7eefc;--c1:#ffd500;--c2:#00a651;--c3:#ff7b1c;--c4:#d7263d;--c5:#1e5bd6;--c6:#f4f4f0;--radius:16px;--shadow:0 1px 2px rgba(16,24,40,.06),0 8px 24px rgba(16,24,40,.06);--display:"Lexend","Be Vietnam Pro",system-ui,sans-serif;--body:"Be Vietnam Pro",system-ui,-apple-system,"Segoe UI",sans-serif;--mono:"JetBrains Mono",ui-monospace,Menlo,monospace;--wrap:1160px}@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#0e1116;--surface:#161a21;--surface2:#1c222b;--ink:#e7eaee;--muted:#9aa4b0;--line:#2a313b;--accent:#6f9cf2;--accent-ink:#0b1220;--accent-soft:#1a2740;--c6:#cfd3da;color-scheme:dark;--shadow:0 1px 2px rgba(0,0,0,.3),0 8px 24px rgba(0,0,0,.4)}}:root[data-theme="dark"]{--bg:#0e1116;--surface:#161a21;--surface2:#1c222b;--ink:#e7eaee;--muted:#9aa4b0;--line:#2a313b;--accent:#6f9cf2;--accent-ink:#0b1220;--accent-soft:#1a2740;--c6:#cfd3da;color-scheme:dark;--shadow:0 1px 2px rgba(0,0,0,.3),0 8px 24px rgba(0,0,0,.4)}*{box-sizing:border-box}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,h4{font-family:var(--display);line-height:1.2;margin:0;text-wrap:balance}p{margin:0 0 1em}.wrap{max-width:var(--wrap);margin:0 auto;padding-inline:max(18px,env(safe-area-inset-left,0px)) max(18px,env(safe-area-inset-right,0px))}.muted{color:var(--muted)}.small{font-size:.9rem}.center{text-align:center}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.skip{position:absolute;left:-999px;top:0;background:var(--accent);color:var(--accent-ink);padding:10px 16px;border-radius:8px;z-index:200}.skip:focus{left:12px;top:12px}.site-head{position:sticky;top:0;z-index:100;background:color-mix(in srgb,var(--surface) 86%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.site-head .bar{display:flex;align-items:center;gap:16px;height:64px}.brand{display:flex;align-items:center;gap:10px;font-family:var(--display);font-weight:700;font-size:1.12rem;color:var(--ink)}.brand:hover{text-decoration:none}.brand .cube{display:grid;grid-template-columns:repeat(3,6px);grid-auto-rows:6px;gap:1.5px;transform:rotate(0)}.brand .cube i{border-radius:1.5px}.nav{display:flex;align-items:center;gap:2px;margin-left:auto}.nav a{color:var(--ink);font-weight:500;font-size:.96rem;padding:8px 12px;border-radius:9px}.nav a:hover{background:var(--surface2);text-decoration:none}.nav a.active{color:var(--accent);background:var(--accent-soft)}.nav a.btn-nav{background:var(--accent);color:var(--accent-ink)}.nav a.btn-nav:hover{filter:brightness(1.06);background:var(--accent)}.tools{display:flex;align-items:center;gap:6px}.icon-btn{width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--line);background:var(--surface);border-radius:10px;color:var(--ink);cursor:pointer;padding:0}.icon-btn:hover{border-color:var(--accent)}.icon-btn svg{width:18px;height:18px}.lang{font-family:var(--display);font-weight:700;font-size:.82rem;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:10px;height:40px;padding:0 12px;cursor:pointer}.lang:hover{border-color:var(--accent)}.burger{display:none}@media (max-width:860px){.nav{position:fixed;inset:64px 0 auto 0;flex-direction:column;align-items:stretch;gap:0;background:var(--surface);border-bottom:1px solid var(--line);padding:8px;margin:0;box-shadow:var(--shadow);transform:translateY(-130%);transition:transform .25s;max-height:calc(100vh - 64px);overflow:auto}.nav.open{transform:translateY(0)}.nav a{padding:12px 14px;border-radius:10px}.burger{display:grid}}section{padding-block:clamp(40px,6vw,76px)}.eyebrow{font-size:.8rem;letter-spacing:.09em;text-transform:uppercase;color:var(--accent);font-weight:700}.lead{font-size:1.14rem;color:var(--muted);max-width:60ch}.btn{display:inline-flex;align-items:center;gap:9px;font-family:var(--display);font-weight:600;font-size:1rem;padding:13px 22px;border-radius:12px;border:1px solid transparent;cursor:pointer;background:var(--accent);color:var(--accent-ink)}.btn:hover{filter:brightness(1.06);text-decoration:none}.btn.ghost{background:transparent;color:var(--ink);border-color:var(--line)}.btn.ghost:hover{border-color:var(--accent);filter:none}.btn svg{width:18px;height:18px}.hero{position:relative;overflow:hidden}.hero .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:center}.hero h1{font-size:clamp(2rem,4.6vw,3.3rem);font-weight:700;letter-spacing:-.02em;margin-bottom:.4em}.hero .lead{margin-bottom:1.6em}.hero .cta-row{display:flex;gap:12px;flex-wrap:wrap}.hero-art{aspect-ratio:1;max-width:420px;margin-inline:auto;width:100%;position:relative}.hero-art svg{width:100%;height:100%;filter:drop-shadow(0 20px 40px rgba(16,24,40,.18))}.badges{display:flex;gap:18px;flex-wrap:wrap;margin-top:22px;color:var(--muted);font-size:.92rem}.badges b{color:var(--ink);font-family:var(--mono)}@media (max-width:860px){.hero .wrap{grid-template-columns:1fr;gap:20px}.hero-art{max-width:300px;order:-1}}.grid{display:grid;gap:18px}.grid.c3{grid-template-columns:repeat(3,1fr)}.grid.c2{grid-template-columns:repeat(2,1fr)}@media (max-width:860px){.grid.c3{grid-template-columns:1fr}.grid.c2{grid-template-columns:1fr}}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow)}.card h3{font-size:1.14rem;margin-bottom:.4em}.card p{margin:0;color:var(--muted);font-size:.97rem}.card .ic{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;margin-bottom:14px;background:var(--accent-soft);color:var(--accent)}.card .ic svg{width:22px;height:22px}.section-head{max-width:62ch;margin-bottom:30px}.section-head h2{font-size:clamp(1.5rem,3vw,2.1rem);margin:.25em 0 .35em}.steps-row{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;counter-reset:s}@media (max-width:860px){.steps-row{grid-template-columns:1fr}}.step{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:24px 22px;position:relative}.step::before{counter-increment:s;content:counter(s);font-family:var(--mono);font-weight:700;font-size:.9rem;width:32px;height:32px;display:grid;place-items:center;background:var(--accent);color:var(--accent-ink);border-radius:50%;margin-bottom:14px}.step h3{font-size:1.08rem;margin-bottom:.3em}.step p{margin:0;color:var(--muted);font-size:.95rem}.chips{display:flex;flex-wrap:wrap;gap:10px}.chip{display:inline-flex;align-items:center;gap:8px;background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:8px 16px;font-weight:600;font-size:.95rem}.chip .d{width:12px;height:12px;border-radius:3px}.band{background:var(--surface2)}.cta-band{background:linear-gradient(120deg,var(--accent),color-mix(in srgb,var(--accent) 60%,#7b3fbf));color:#fff;border-radius:var(--radius);padding:clamp(28px,5vw,52px);text-align:center;box-shadow:var(--shadow)}.cta-band h2{color:#fff;font-size:clamp(1.5rem,3vw,2.2rem);margin-bottom:.3em}.cta-band p{color:rgba(255,255,255,.9);max-width:52ch;margin-inline:auto}.cta-band .btn{background:#fff;color:var(--accent);margin-top:18px}.page-head{padding-block:clamp(30px,5vw,56px) 0}.breadcrumb{font-size:.85rem;color:var(--muted);margin-bottom:14px}.breadcrumb a{color:var(--muted)}.breadcrumb a:hover{color:var(--accent)}.prose{max-width:72ch}.prose h2{font-size:1.4rem;margin:1.6em 0 .5em}.prose h3{font-size:1.15rem;margin:1.3em 0 .4em}.prose ul,.prose ol{margin:0 0 1em;padding-left:1.3em}.prose li{margin-bottom:.4em}.prose li::marker{color:var(--muted)}.prose strong{font-weight:600}.contact-list{list-style:none;padding:0;display:grid;gap:10px;max-width:420px}.contact-list li{display:flex;justify-content:space-between;gap:16px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px 16px}.contact-list span{color:var(--muted)}.faq{max-width:76ch}.faq details{background:var(--surface);border:1px solid var(--line);border-radius:12px;margin-bottom:10px;overflow:hidden}.faq summary{cursor:pointer;padding:16px 18px;font-family:var(--display);font-weight:600;list-style:none;display:flex;justify-content:space-between;gap:12px;align-items:center}.faq summary::-webkit-details-marker{display:none}.faq summary::after{content:"+";font-size:1.3rem;color:var(--muted);transition:transform .2s}.faq details[open] summary::after{transform:rotate(45deg)}.faq .a{padding:0 18px 16px;color:var(--muted)}.app-frame{width:100%;height:calc(100vh - 64px);min-height:560px;border:0;display:block;background:var(--bg)}.app-note{padding:10px 0;font-size:.85rem;color:var(--muted)}.post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}@media (max-width:860px){.post-grid{grid-template-columns:1fr}}.post-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column}.post-card .thumb{aspect-ratio:16/9;background:var(--surface2);display:grid;place-items:center}.post-card .thumb svg{width:60%;height:60%}.post-card .body{padding:18px;display:flex;flex-direction:column;gap:8px;flex:1}.post-card .meta{font-size:.78rem;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.post-card h3{font-size:1.1rem}.post-card p{margin:0;color:var(--muted);font-size:.94rem;flex:1}.post-card .rm{font-weight:600;font-size:.9rem}.article{max-width:none}.article .layout{display:grid;grid-template-columns:1fr;gap:30px}.article-meta{color:var(--muted);font-size:.9rem;margin-bottom:8px}.tag{display:inline-block;background:var(--accent-soft);color:var(--accent);border-radius:999px;padding:3px 11px;font-size:.78rem;font-weight:600}.site-foot{background:var(--surface);border-top:1px solid var(--line);margin-top:40px}.site-foot .cols{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:30px;padding-block:44px}.site-foot h4{font-size:.95rem;margin-bottom:12px}.site-foot ul{list-style:none;padding:0;margin:0;display:grid;gap:8px}.site-foot a{color:var(--muted);font-size:.93rem}.site-foot a:hover{color:var(--accent)}.foot-brand p{color:var(--muted);font-size:.93rem;max-width:40ch;margin-top:10px}.foot-bottom{border-top:1px solid var(--line);padding-block:18px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;color:var(--muted);font-size:.86rem}@media (max-width:860px){.site-foot .cols{grid-template-columns:1fr 1fr;gap:24px}}@media (max-width:520px){.site-foot .cols{grid-template-columns:1fr}}.totop{position:fixed;right:18px;bottom:calc(18px + env(safe-area-inset-bottom,0px));width:44px;height:44px;border-radius:50%;background:var(--accent);color:var(--accent-ink);border:0;display:grid;place-items:center;cursor:pointer;opacity:0;pointer-events:none;transition:opacity .25s;box-shadow:var(--shadow);z-index:90}.totop.show{opacity:1;pointer-events:auto}.totop svg{width:20px;height:20px}