:root{--bg:#fafafa;--bg2:#f1f2f5;--card:#fff;--line:#e3e5ea;--fg:#0b0d12;--muted:#555c6b;--accent:#1478c4;--accent-ink:#fff;--btn:#0b0d12;--btn-ink:#fff;--glow:#1d9bf024;--shadow:0 1px 2px #0a0f1e0d, 0 8px 24px #0a0f1e0f;--r:16px;--font:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace}@media (prefers-color-scheme:dark){:root{--bg:#090b10;--bg2:#0f121a;--card:#131724;--line:#232838;--fg:#f3f5f9;--muted:#a3abbc;--accent:#4db3f6;--accent-ink:#04121e;--btn:#fff;--btn-ink:#0b0d12;--glow:#1d9bf038;--shadow:0 1px 2px #0006, 0 12px 32px #00000059}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{background:var(--bg);color:var(--fg);font:400 1rem/1.65 var(--font);-webkit-font-smoothing:antialiased;margin:0}img{max-width:100%;height:auto;display:block}a{color:var(--accent);text-underline-offset:3px}h1,h2,h3{letter-spacing:-.02em;margin:0 0 .5em;line-height:1.15}h1{font-size:clamp(2rem,6vw,3.4rem);font-weight:800}h2{font-size:clamp(1.5rem,4vw,2.1rem);font-weight:750}h3{letter-spacing:-.01em;font-size:1.1rem;font-weight:700}p{margin:0 0 1em}.wrap{width:100%;max-width:1120px;margin:0 auto;padding:0 16px}.narrow{max-width:720px}.muted{color:var(--muted)}.small{font-size:.85rem}.skip{background:var(--btn);color:var(--btn-ink);z-index:10;border-radius:8px;padding:8px 12px;position:absolute;top:8px;left:-999px}.skip:focus{left:8px}:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:6px}.site-header{z-index:5;background:color-mix(in srgb, var(--bg) 85%, transparent);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);position:sticky;top:0}.bar{flex-wrap:wrap;align-items:center;gap:8px 16px;padding-top:10px;padding-bottom:10px;display:flex}.brand{color:var(--fg);letter-spacing:-.02em;align-items:center;gap:10px;font-weight:800;text-decoration:none;display:inline-flex}.nav{scrollbar-width:none;order:3;gap:4px;width:100%;display:flex;overflow-x:auto}.nav a{color:var(--muted);white-space:nowrap;border-radius:999px;padding:6px 12px;font-size:.95rem;text-decoration:none}.nav a:hover,.nav a[aria-current]{color:var(--fg);background:var(--bg2)}.lang{color:var(--fg);border:1px solid var(--line);border-radius:999px;margin-left:auto;padding:5px 12px;font-size:.9rem;text-decoration:none}.lang:hover{background:var(--bg2)}@media (width>=760px){.nav{order:0;width:auto;margin-left:16px}}.btn{border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:8px;min-height:48px;padding:12px 22px;font-weight:650;text-decoration:none;transition:transform .15s,box-shadow .15s;display:inline-flex}.btn:hover{transform:translateY(-1px)}.btn-primary{background:var(--btn);color:var(--btn-ink);box-shadow:var(--shadow)}.btn-primary.btn-x{background:var(--accent);color:var(--accent-ink)}.btn-ghost{color:var(--fg);border-color:var(--line);background:0 0}.btn-row{flex-wrap:wrap;gap:12px;display:flex}.hero{background:radial-gradient(900px 400px at 85% -10%, var(--glow), transparent 70%), radial-gradient(600px 300px at 0% 0%, color-mix(in srgb, var(--fg) 6%, transparent), transparent 70%);padding:48px 0 32px;position:relative;overflow:hidden}.hero-grid{align-items:center;gap:32px;display:grid}.kicker{letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-bottom:14px;font-size:.8rem;font-weight:700;display:inline-block}.lead{color:var(--muted);max-width:62ch;font-size:1.15rem}.hero-img{border:1px solid var(--line);box-shadow:var(--shadow);border-radius:20px;width:100%}@media (width>=900px){.hero{padding:88px 0 56px}.hero-grid{grid-template-columns:1.1fr .9fr;gap:56px}}.section{padding:56px 0}.section.alt{background:var(--bg2)}.grid{gap:16px;display:grid}@media (width>=640px){.grid.c2,.grid.c3{grid-template-columns:repeat(2,1fr)}}@media (width>=960px){.grid.c3{grid-template-columns:repeat(3,1fr)}}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:22px}.card p:last-child{margin-bottom:0}.card .ico{border-radius:14px;margin-bottom:14px}.card.link{color:inherit;text-decoration:none;transition:transform .15s,border-color .15s;display:block}.card.link:hover{border-color:var(--accent);transform:translateY(-2px)}.section.center h2,.section.center .note{text-align:center;margin-inline:auto}.section.center .card{text-align:center}.section.center .card .ico{margin-inline:auto;display:block}.step-n{font-family:var(--mono);color:var(--accent);font-size:.8rem;font-weight:700}.cover{border-radius:12px;width:calc(100% + 12px);max-width:none;margin:-6px -6px 16px}.price{letter-spacing:-.03em;font-size:2.6rem;font-weight:800}.price small{color:var(--muted);font-size:.95rem;font-weight:500}.card.hl{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent), var(--shadow)}ul.ticks{margin:16px 0 24px;padding:0;list-style:none}ul.ticks li{margin-bottom:10px;padding-left:28px;position:relative}ul.ticks li:before{content:"";border-left:2px solid var(--accent);border-bottom:2px solid var(--accent);width:10px;height:6px;position:absolute;top:.55em;left:4px;transform:rotate(-45deg)}.note{border-left:3px solid var(--accent);color:var(--muted);margin:24px 0;padding:4px 16px}details{background:var(--card);border:1px solid var(--line);border-radius:12px;margin-bottom:10px;padding:4px 18px}summary{cursor:pointer;padding:12px 0;font-weight:650}details[open] summary{color:var(--accent)}.cta-band{text-align:center;background:radial-gradient(500px 220px at 50% 0%, var(--glow), transparent 70%), var(--card);border:1px solid var(--line);border-radius:24px;padding:56px 16px}.cta-band .btn-row{justify-content:center}.crumbs{color:var(--muted);padding-top:24px;font-size:.9rem}.crumbs a{color:var(--muted)}.tags{flex-wrap:wrap;gap:6px;margin-top:12px;padding:0;list-style:none;display:flex}.tags li{background:var(--bg2);border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:2px 10px;font-size:.75rem}.prose{font-size:1.075rem}.prose h2{margin-top:2em;font-size:1.6rem}.prose h3{margin-top:1.6em}.prose ul,.prose ol{margin:0 0 1em;padding-left:1.3em}.prose li{margin-bottom:.4em}.prose blockquote{border-left:3px solid var(--accent);color:var(--muted);margin:1.4em 0;padding:4px 18px}.prose code{font-family:var(--mono);background:var(--bg2);border-radius:6px;padding:2px 6px;font-size:.9em}.prose .post-cover{border:1px solid var(--line);border-radius:16px;width:100%;margin:24px 0 32px}.site-footer{border-top:1px solid var(--line);margin-top:40px;padding:40px 0 24px}.foot{gap:24px;margin-bottom:20px;display:grid}.foot nav{flex-direction:column;gap:6px;display:flex}.foot nav a{color:var(--muted);text-decoration:none}.foot nav a:hover{color:var(--fg)}@media (width>=760px){.foot{grid-template-columns:2fr 1fr 1fr}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}.hero>.wrap{z-index:1;position:relative}.hero:before{content:"";background:radial-gradient(closest-side, var(--glow), transparent);pointer-events:none;height:90%;position:absolute;inset:-20% -10% auto 30%}.fx{pointer-events:none;position:absolute;inset:0;overflow:hidden}.bub{border:1px solid color-mix(in srgb, var(--accent) 35%, transparent);background:linear-gradient(135deg, color-mix(in srgb, var(--accent) 16%, transparent), color-mix(in srgb, var(--accent) 3%, transparent));backdrop-filter:blur(2px);opacity:.55;border-radius:22px 22px 22px 6px;display:block;position:absolute}.b1{width:84px;height:60px;top:12%;left:4%}.b2{width:56px;height:40px;top:6%;left:44%}.b3{border-radius:26px 26px 6px;width:110px;height:76px;top:52%;right:6%}.b4{width:48px;height:36px;bottom:8%;left:30%}.b5{border-radius:20px 20px 6px;width:70px;height:50px;bottom:4%;right:34%}.hero-vis{position:relative}.rw.on{vertical-align:bottom;color:var(--accent);transition:opacity .35s,transform .35s;display:inline-block}.rw.rw-b.on{display:block}.rw.on.out{opacity:0;transform:translateY(30%)}.rv{opacity:0;transition:opacity .6s ease-out,transform .6s ease-out;transform:translateY(18px)}.rv.in{opacity:1;transform:none}.grid>.rv:nth-child(3n+2){transition-delay:70ms}.grid>.rv:nth-child(3n+3){transition-delay:.14s}.card{transition:transform .2s,border-color .2s,box-shadow .2s}.card.rv{transition:opacity .6s ease-out,transform .6s ease-out}.grid>.card.rv:nth-child(3n+2){transition-delay:70ms}.grid>.card.rv:nth-child(3n+3){transition-delay:.14s}@media (hover:hover){.card:hover{border-color:color-mix(in srgb, var(--accent) 50%, var(--line));box-shadow:var(--shadow), 0 12px 32px -12px var(--accent);transform:translateY(-3px)}}.btn-primary{isolation:isolate;position:relative}.btn-primary:before{content:"";z-index:-1;border-radius:inherit;background:var(--accent);filter:blur(14px);opacity:.22;pointer-events:none;position:absolute;inset:-4px}@media (prefers-reduced-motion:no-preference){.hero:before{animation:6s ease-in-out infinite glow}.btn-primary:before{animation:3.4s ease-in-out infinite cglow}.bub{will-change:transform;animation:9s ease-in-out infinite alternate drift}.b2{animation-duration:12s;animation-delay:-4s}.b3{animation-duration:11s;animation-delay:-2s}.b4{animation-duration:14s;animation-delay:-6s}.b5{animation-duration:10s;animation-delay:-8s}}@keyframes glow{0%,to{opacity:.55;transform:scale(.96)}50%{opacity:1;transform:scale(1.04)}}@keyframes cglow{0%,to{opacity:.14}50%{opacity:.38}}@keyframes drift{0%{transform:translate(0,0)rotate(-4deg)}to{transform:translate(28px,-36px)rotate(5deg)}}
