*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--pk-bg);color:var(--pk-ink);font-family:var(--pk-font-ui);-webkit-font-smoothing:antialiased;line-height:1.5}a{color:inherit;text-decoration:none}.display{font-family:var(--pk-font-display);text-transform:uppercase;letter-spacing:.5px;font-weight:800}.mono{font-family:var(--pk-font-mono)}.sub{color:var(--pk-sub)}.faint{color:var(--pk-faint)}.wrap{max-width:1120px;margin:0 auto;padding:0 24px}.logo{font-family:var(--pk-font-display);font-style:italic;font-weight:800;text-transform:uppercase;letter-spacing:1px;font-size:22px}.logo .a{color:var(--pk-data)}.logo .b{color:var(--pk-accent)}.grad-text{background:linear-gradient(90deg,var(--pk-data),var(--pk-accent));-webkit-background-clip:text;background-clip:text;color:transparent}.btn{display:inline-flex;align-items:center;gap:8px;font-family:var(--pk-font-ui);font-weight:700;font-size:14px;padding:12px 18px;border-radius:13px;cursor:pointer;border:1px solid transparent}.btn-primary{background:linear-gradient(90deg,var(--pk-data),var(--pk-accent));color:#fff;box-shadow:0 6px 18px rgba(124,92,255,.4)}.btn-ghost{border-color:var(--pk-line2);color:var(--pk-ink);background:transparent}.card{background:var(--pk-panel);border:1px solid var(--pk-line);border-radius:17px;padding:20px}.tag{display:inline-block;font-family:var(--pk-font-ui);font-weight:700;font-size:11px;letter-spacing:.6px;padding:3px 8px;border-radius:6px;text-transform:uppercase}.pulse{position:relative;width:8px;height:8px;display:inline-block}.pulse,.pulse:after{border-radius:999px;background:var(--pk-live)}.pulse:after{content:"";position:absolute;inset:0;animation:pkping 1.6s cubic-bezier(0,0,.2,1) infinite}@keyframes pkping{0%{transform:scale(1);opacity:.7}to{transform:scale(2.6);opacity:0}}.flow-frame{padding:2px;border-radius:18px;background:linear-gradient(90deg,var(--pk-data),var(--pk-primary),var(--pk-accent),var(--pk-primary),var(--pk-data));background-size:300% 100%;animation:pkflow 4s linear infinite}@keyframes pkflow{0%{background-position:0 0}to{background-position:300% 0}}@keyframes floaty{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@media (prefers-reduced-motion:reduce){.flow-frame,.pulse:after{animation:none}}