:root{--bg:#fafaf9;--surface:#ffffff;--alt:#f3f4f6;--ink:#121620;--ink-2:#434a58;--muted:#6b7280;--line:#e3e6eb;--accent:#2f5fe3;--accent-2:#7c4ddb;--accent-soft:#edf1fe;--on-accent:#ffffff;--tag:#eff1f5;--ok:#15803d;--grad:linear-gradient(120deg, #2f5fe3, #7c4ddb);--shadow:0 1px 2px rgba(16,24,40,.05), 0 2px 8px rgba(16,24,40,.04);--shadow-lg:0 8px 30px rgba(16,24,40,.1);--radius:16px;--font:"Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--display:"Plus Jakarta Sans", var(--font);color-scheme:light}:root[data-theme=dark]{--bg:#0b0e14;--surface:#131821;--alt:#0f131b;--ink:#eceef3;--ink-2:#b5bcc9;--muted:#8790a2;--line:#232a36;--accent:#7ea2ff;--accent-2:#b392ff;--accent-soft:#18213a;--on-accent:#0b1020;--tag:#1b212c;--ok:#4ade80;--grad:linear-gradient(120deg, #4f7cff, #9d6bff);--shadow:0 1px 2px rgba(0,0,0,.35);--shadow-lg:0 10px 34px rgba(0,0,0,.45);color-scheme:dark}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:76px}body{background:var(--bg);color:var(--ink);font-family:var(--font);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;transition:background-color .25s,color .25s}a{color:var(--accent);text-decoration:none}a:hover{color:color-mix(in srgb,var(--accent) 80%,var(--ink))}ul{list-style:none}h4{font-size:17px;font-weight:600;line-height:1.35}.wrap{max-width:1080px;margin:0 auto;padding:0 24px}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:6px}::selection{background:color-mix(in srgb,var(--accent) 25%,transparent)}.show-dark{display:none!important}:root[data-theme=dark] .show-dark{display:inline-flex!important}:root[data-theme=dark] .show-light{display:none!important}.section{padding:84px 0}.section.alt{background:var(--alt);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:22px 24px;box-shadow:var(--shadow);transition:border-color .2s,box-shadow .2s}.card:hover{border-color:color-mix(in srgb,var(--accent) 35%,var(--line))}.btn{display:inline-flex;align-items:center;gap:8px;padding:11px 18px;border-radius:11px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font-weight:600;font-size:15px;line-height:1.2;cursor:pointer;transition:border-color .15s,background .15s,color .15s,transform .15s,box-shadow .15s}.btn:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-1px)}.btn-primary{background:var(--grad);border-color:transparent;color:#fff;box-shadow:0 6px 18px color-mix(in srgb,var(--accent) 30%,transparent)}.btn-primary:hover{color:#fff;border-color:transparent;box-shadow:0 8px 24px color-mix(in srgb,var(--accent) 40%,transparent)}.btn-sm{padding:8px 14px;font-size:14px}.btn-icon{padding:11px;color:var(--ink-2);--icon:20px}.tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}.tags li{padding:3px 10px;border-radius:999px;background:var(--tag);color:var(--ink-2);font-size:13px;font-weight:500}.js .reveal{opacity:0;transform:translateY(18px);transition:opacity .6s cubic-bezier(.2,.7,.2,1),transform .6s cubic-bezier(.2,.7,.2,1)}.js .reveal.in{opacity:1;transform:none}@media(max-width:480px){.wrap{padding:0 16px}.card{padding:18px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.js .reveal{opacity:1;transform:none}}
