:root{--bg:#f4f5f7;--bg-elevated:#fff;--bg-soft:#eceef1;--surface:#fff;--border:#e4e6ec;--border-strong:#d3d6de;--text:#14151a;--text-muted:#62656e;--text-faint:#9a9da6;--primary:#0071e3;--primary-hover:#0060c0;--primary-soft:#e6f0ff;--primary-contrast:#fff;--success:#1a8f4c;--success-soft:#e5f5e5;--warning:#b8860b;--danger:#d93a3a;--footer-bg:#14151a;--footer-text:#c8cad2;--radius-lg:22px;--radius:14px;--radius-sm:10px;--radius-pill:980px;--shadow-sm:0 1px 3px #0f121e0f;--shadow-card:0 6px 24px #0f121e12;--shadow-card-hover:0 14px 40px #0f121e1f;--font-body:-apple-system, "SF Pro Display", "Inter", system-ui, sans-serif;--font-mono:"JetBrains Mono", "Fira Code", ui-monospace, monospace;--ease:cubic-bezier(.22, 1, .36, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--dur:.24s}[data-theme=dark]{--bg:#0a0b0e;--bg-elevated:#131519;--bg-soft:#0f1114;--surface:#16181d;--border:#24272e;--border-strong:#333741;--text:#f2f3f6;--text-muted:#9599a3;--text-faint:#6a6e78;--primary:#2f8fff;--primary-hover:#4c9dff;--primary-soft:#14243d;--primary-contrast:#fff;--success:#34d17d;--success-soft:#12271b;--warning:#e0a92e;--danger:#f16b6b;--footer-bg:#060709;--footer-text:#9599a3;--shadow-sm:0 1px 3px #0006;--shadow-card:0 6px 24px #00000073;--shadow-card-hover:0 14px 40px #0000008c}*{box-sizing:border-box}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}body{background:var(--bg);color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;letter-spacing:-.011em;transition:background var(--dur) var(--ease), color var(--dur) var(--ease);margin:0;line-height:1.6}.mono{font-family:var(--font-mono);letter-spacing:-.02em}.container{width:100%;max-width:1120px;margin-inline:auto;padding-inline:clamp(20px,5vw,48px)}.grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;display:grid}.btn{border-radius:var(--radius-pill);cursor:pointer;transition:background var(--dur) var(--ease), transform var(--dur) var(--ease), color var(--dur) var(--ease), box-shadow var(--dur) var(--ease);border:none;justify-content:center;align-items:center;gap:8px;padding:12px 26px;font-size:15px;font-weight:550;text-decoration:none;display:inline-flex}.btn-primary{background:var(--primary);color:var(--primary-contrast);box-shadow:var(--shadow-sm)}.btn-primary:hover{background:var(--primary-hover);box-shadow:var(--shadow-card);transform:translateY(-2px)}.btn-ghost{color:var(--primary);background:0 0;padding-inline:12px}.btn-ghost:hover{color:var(--primary-hover)}.btn-light{background:var(--surface);color:var(--primary);box-shadow:var(--shadow-sm)}.btn-light:hover{box-shadow:var(--shadow-card);transform:translateY(-2px)}.btn-outline{color:var(--text);border:1px solid var(--border-strong);background:0 0}.btn-outline:hover{border-color:var(--primary);color:var(--primary)}.badge{border-radius:var(--radius-pill);background:var(--primary-soft);color:var(--primary);align-items:center;gap:6px;padding:6px 14px;font-size:12px;font-weight:600;display:inline-flex}.badge-success{background:var(--success-soft);color:var(--success)}.badge-warning{background:var(--success-soft);color:var(--warning)}.badge-muted{background:var(--bg-soft);color:var(--text-muted)}@keyframes rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.reveal{animation:rise .56s var(--ease) both}.reveal:nth-child(2){animation-delay:70ms}.reveal:nth-child(3){animation-delay:.14s}.reveal:nth-child(4){animation-delay:.21s}.reveal:nth-child(5){animation-delay:.28s}.reveal:nth-child(6){animation-delay:.35s}:focus-visible{outline:2px solid var(--primary);outline-offset:3px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}@keyframes travel-left{0%{transform:translate(-55px)}to{transform:translate(55px)}}@keyframes travel-right{0%{transform:translate(55px)}to{transform:translate(-55px)}}@supports (animation-timeline:view()){main>section:nth-of-type(odd){animation:linear both travel-left;animation-timeline:view();animation-range:cover}main>section:nth-of-type(2n){animation:linear both travel-right;animation-timeline:view();animation-range:cover}}@media (prefers-reduced-motion:reduce){main>section{animation:none!important}}
