.skiplink{z-index:300;font-family:var(--font-mono),monospace;letter-spacing:1.5px;color:var(--ink);border:1px solid var(--ink);background:#fff;padding:10px 16px;font-size:11px;text-decoration:none;transition:top .15s cubic-bezier(.25,.46,.45,.94);position:fixed;top:-48px;left:16px}.skiplink:focus-visible{outline:2px solid var(--gold);outline-offset:2px;top:12px}:root{--ink:#0a0a0a;--sub:#333;--meta:#666;--line:#dcdcdc;--linehover:#9a9a97;--gold:#ffc000}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scrollbar-width:none}html::-webkit-scrollbar{width:0;height:0}body{font-family:var(--font-sans),sans-serif;color:var(--ink);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#fff;overflow-x:hidden}::selection{background:var(--gold);color:#000}nav{z-index:100;border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;padding:16px 44px;display:flex;position:fixed;top:0;left:0;right:0}.logo{color:var(--ink);align-items:center;gap:12px;text-decoration:none;display:flex}.logo .lt{letter-spacing:.5px;font-size:13px;font-weight:600;line-height:1.15}.navlinks{letter-spacing:1px;gap:34px;font-size:13px;display:flex}.navlinks a{color:var(--sub);padding-bottom:4px;text-decoration:none;position:relative}.navlinks a.active{color:var(--ink)}.navlinks a:after{content:"";background:var(--gold);height:2px;transition:left .22s cubic-bezier(.25,.46,.45,.94),right .22s cubic-bezier(.25,.46,.45,.94);position:absolute;bottom:0;left:50%;right:50%}.navlinks a:hover:after{transition-duration:.1s}.navlinks a:hover:after,.navlinks a.active:after{left:0;right:0}.navlinks a:focus-visible,.logo:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.lang{font-family:var(--font-mono),monospace;color:var(--meta);font-size:11px}.lang b{color:var(--ink);border-bottom:2px solid var(--gold);font-weight:500}.nf{background-image:repeating-linear-gradient(0deg,#0a0a0a0b 0 1px,#0000 1px 64px),repeating-linear-gradient(90deg,#0a0a0a0b 0 1px,#0000 1px 64px);align-items:center;min-height:100svh;padding:150px 44px 80px;display:flex;position:relative;overflow:hidden}.nf:before,.nf:after{content:"+";font-family:var(--font-mono),monospace;color:#0a0a0a59;font-size:14px;position:absolute}.nf:before{top:84px;left:20px}.nf:after{bottom:16px;right:20px}.nfscene{max-width:980px}.nfscene .kick{font-family:var(--font-mono),monospace;color:var(--meta);letter-spacing:2.5px;opacity:0;margin-bottom:26px;font-size:11.5px;animation:.7s cubic-bezier(.22,1,.36,1) forwards rise}.nfcote{opacity:0;margin-bottom:18px;animation:.8s cubic-bezier(.22,1,.36,1) .1s forwards rise;display:block;overflow:visible}.nfcote line{stroke:var(--gold);stroke-width:2px}.nfcote text{font-family:var(--font-mono),monospace;letter-spacing:3px;fill:var(--gold);font-size:15px}.nfscene h1{letter-spacing:-1.5px;text-wrap:pretty;opacity:0;font-size:clamp(34px,4.8vw,72px);font-weight:200;line-height:1.1;animation:.8s cubic-bezier(.22,1,.36,1) .15s forwards rise}.nfscene h1 b{font-weight:500}.nfscene .nfsub{font-family:var(--font-mono),monospace;color:var(--meta);letter-spacing:1px;font-variant-numeric:tabular-nums;opacity:0;margin-top:22px;font-size:11.5px;animation:.8s cubic-bezier(.22,1,.36,1) .3s forwards rise}.nfback{min-height:44px;color:var(--ink);font-family:var(--font-mono),monospace;letter-spacing:1.5px;opacity:0;align-items:baseline;gap:10px;margin-top:44px;font-size:12px;text-decoration:none;animation:.8s cubic-bezier(.22,1,.36,1) .45s forwards rise;display:inline-flex}.nfback b{border-bottom:2px solid var(--gold);font-weight:500}.nfback .nbk{transition:transform .2s cubic-bezier(.25,.46,.45,.94)}.nfback:hover .nbk{transform:translate(-5px)}.nfback:focus-visible{outline:2px solid var(--gold);outline-offset:3px}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@media (max-width:700px){nav{padding:12px 18px;padding-top:max(12px, env(safe-area-inset-top));padding-left:max(18px, env(safe-area-inset-left));padding-right:max(18px, env(safe-area-inset-right));flex-wrap:wrap;row-gap:10px}.logo .lt{font-size:11px}.logo svg{width:36px;height:24px}.navlinks{order:3;gap:22px;width:100%;font-size:11.5px}.navlinks a{align-items:flex-end;min-height:44px;display:inline-flex}.nf{padding:150px 18px 60px}.nf:before{top:120px;left:8px}.nf:after{right:8px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}.nfscene .kick,.nfscene h1,.nfscene .nfsub,.nfcote,.nfback{opacity:1!important;transform:none!important}}
