:root{--bg:#fbfbfc;--bg-elev:#fff;--bg-sunken:#f4f5f7;--bg-footer:#f7f8fa;--ink:#0d0e12;--ink-2:#3c3f47;--ink-3:#6b6f79;--ink-prose:#24262c;--line:#0d0e1214;--line-strong:#0d0e1224;--line-hover:#0d0e121f;--line-soft:#0d0e1212;--accent:#5d9bff;--accent-ink:#2f6fe0;--accent-wash:#5d9bff1f;--glow:#5d9bff21;--ok:#22a06b;--r-sm:7px;--r-md:12px;--r-lg:18px;--r-xl:24px;--r-pill:999px;--shadow-1:inset 0 1px 0 #fff, 0 1px 2px #0d0e120a, 0 4px 12px #0d0e120a;--shadow-2:inset 0 1px 0 #fff, 0 2px 4px #0d0e120d, 0 12px 32px #0d0e1212;--shadow-float:0 2px 4px #0d0e120d, 0 32px 80px -16px #1e3c7847;--shadow-btn:inset 0 1px 0 #ffffff2e, 0 1px 2px #0d0e1233, 0 6px 16px #0d0e121f;--shadow-btn-hover:inset 0 1px 0 #ffffff2e, 0 2px 4px #0d0e1233, 0 10px 24px #0d0e1229;--shadow-subtle:inset 0 1px 0 #fff, 0 1px 2px #0d0e120d;--font-display:"Plus Jakarta Sans Variable", system-ui, sans-serif;--font-body:"Plus Jakarta Sans Variable", system-ui, sans-serif;--font-mono:"JetBrains Mono Variable", ui-monospace, monospace;--fs-display:clamp(44px, 8vw, 88px);--fs-h1:clamp(40px, 6vw, 64px);--fs-h2:clamp(30px, 4vw, 40px);--fs-h3:21px;--fs-lead:clamp(17px, 2vw, 19px);--fs-body:16px;--fs-prose:18px;--fs-small:15px;--fs-label:12px;--ease-out:cubic-bezier(.2, .8, .2, 1);--dur-fast:.15s;--dur-base:.18s;--dur-reveal:.6s;--container:1120px}*,:before,:after{box-sizing:border-box}html,body{background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0}body{min-height:100vh;font:400 var(--fs-body)/1.6 var(--font-body);flex-direction:column;display:flex;overflow-x:clip}a{color:var(--accent-ink);text-decoration:none}a:hover{color:var(--ink)}button,input,textarea,select{font:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:8px}::selection{background:#5d9bff40}.kbd{min-width:22px;height:22px;font:500 11px/1 var(--font-mono);color:var(--ink-2);border:1px solid var(--line-strong);background:linear-gradient(#fff,#f1f2f4);border-bottom-width:2px;border-radius:6px;justify-content:center;align-items:center;padding:0 5px;display:inline-flex}.kbdSm{border-radius:5px;min-width:20px;height:20px;padding:0 4px}.kbdLg{min-width:24px;height:24px;padding:0 6px;font-size:12px}.chip{height:26px;font:500 12px/1 var(--font-mono);color:var(--ink-2);border-radius:var(--r-sm);background:linear-gradient(#fff,#f3f4f6);border:1px solid #0d0e121f;border-bottom-width:2px;align-items:center;padding:0 9px;display:inline-flex}.eyebrow{font:500 var(--fs-label)/1 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--accent-ink)}.card{background:var(--bg-elev);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-1);transition:transform var(--dur-base) ease-out, box-shadow var(--dur-base) ease-out, border-color var(--dur-base);position:relative;overflow:hidden}.card:hover{border-color:var(--line-hover);box-shadow:var(--shadow-2);transform:translateY(-1px)}.card:before{content:"";pointer-events:none;z-index:1;opacity:var(--o,0);background:radial-gradient(var(--spot-size,380px) circle at var(--x,50%) var(--y,50%), var(--spot-color,var(--glow)), transparent 60%);transition:opacity .2s ease-out;position:absolute;inset:0}.placeholder{background:repeating-linear-gradient(135deg,#f4f5f7 0 8px,#eef0f3 8px 16px)}.btnPrimary{border-radius:var(--r-md);background:var(--ink);color:#fff;height:44px;font:500 15px/1 var(--font-body);cursor:pointer;box-shadow:var(--shadow-btn);transition:transform var(--dur-base) ease-out, box-shadow var(--dur-base) ease-out;border:0;align-items:center;gap:10px;padding:0 18px;display:inline-flex}.btnPrimary:hover{color:#fff;box-shadow:var(--shadow-btn-hover);transform:translateY(-1px)}.btnSecondary{border-radius:var(--r-md);height:44px;color:var(--ink);font:500 15px/1 var(--font-body);cursor:pointer;box-shadow:var(--shadow-subtle);transition:transform var(--dur-base) ease-out, border-color var(--dur-base);background:#fff;border:1px solid #0d0e121a;align-items:center;gap:10px;padding:0 18px;display:inline-flex}.btnSecondary:hover{color:var(--ink);border-color:#0d0e122e;transform:translateY(-1px)}.btnArrow{font:500 12px/1 var(--font-mono);opacity:.6}.visuallyHidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.reveal{transition:opacity var(--dur-reveal) var(--ease-out) calc(var(--i,0) * 60ms), transform var(--dur-reveal) var(--ease-out) calc(var(--i,0) * 60ms)}@media (prefers-reduced-motion:no-preference){html.js .reveal:not([data-in]):not([data-immediate]){opacity:0;transform:translateY(8px)}.reveal[data-immediate]{animation:revealIn var(--dur-reveal) var(--ease-out) calc(var(--i,0) * 60ms) both;transition:none}}@keyframes revealIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes beam{0%{opacity:.85;transform:translate(-4%)scale(1)}to{opacity:1;transform:translate(4%,2%)scale(1.06)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes palIn{0%{opacity:0;transform:translateY(4px)scale(.98)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}
