.nf404{background:radial-gradient(ellipse 60% 80% at 50% 30%,color-mix(in oklab,var(--accent)9%,transparent)0%,transparent 60%),var(--bg);align-items:center;min-height:72vh;display:flex;position:relative;overflow:hidden}.nf404:before{content:"";background:repeating-linear-gradient(0deg,transparent 0 3px,color-mix(in oklab,var(--ink)3%,transparent)3px 4px);pointer-events:none;z-index:1;position:absolute;inset:0}.nf404:after{content:"";background-image:linear-gradient(var(--line-soft)1px,transparent 1px),linear-gradient(90deg,var(--line-soft)1px,transparent 1px);opacity:.5;pointer-events:none;background-size:64px 64px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(70% 70% at 50% 45%,#000 0%,#0000 75%);mask-image:radial-gradient(70% 70% at 50% 45%,#000 0%,#0000 75%)}.nf404-inner{z-index:2;grid-template-columns:1.15fr .85fr;align-items:center;gap:64px;width:100%;max-width:1360px;margin:0 auto;padding:72px 40px;display:grid;position:relative}.nf404-glitch{font-family:var(--font-jetbrains-mono),monospace;letter-spacing:-.04em;color:var(--ink);font-size:clamp(120px,16vw,280px);font-weight:700;line-height:.82;position:relative}.nf404-z{color:var(--accent)}.nf404-glitch:before,.nf404-glitch:after{content:"404";position:absolute;top:0;left:0;overflow:hidden}.nf404-glitch:before{color:var(--danger);clip-path:inset(0 0 62%);opacity:.55;animation:3.4s steps(2,end) infinite nf404-gl1;transform:translate(4px)}.nf404-glitch:after{color:var(--accent);clip-path:inset(58% 0 0);opacity:.5;animation:2.8s steps(2,end) infinite nf404-gl2;transform:translate(-4px)}@keyframes nf404-gl1{0%,92%,to{transform:translate(4px)}94%{transform:translate(-6px,-2px)}96%{transform:translate(8px,1px)}}@keyframes nf404-gl2{0%,90%,to{transform:translate(-4px)}93%{transform:translate(7px,2px)}97%{transform:translate(-9px,-1px)}}.nf404-body{margin-top:36px}.nf404-eyebrow{font-family:var(--font-jetbrains-mono),monospace;color:var(--accent);text-transform:uppercase;letter-spacing:.14em;align-items:center;gap:12px;margin-bottom:22px;font-size:13px;display:flex}.nf404-blink{background:var(--accent);width:9px;height:16px;animation:1.1s step-end infinite nf404-blink;display:inline-block}@keyframes nf404-blink{0%,50%{opacity:1}51%,to{opacity:0}}.nf404-h1{letter-spacing:-.02em;text-wrap:balance;color:var(--ink);margin-bottom:18px;font-size:clamp(34px,5vw,52px);font-weight:700;line-height:1}.nf404-h1 em{color:var(--accent);font-style:italic;font-weight:500}.nf404-lead{color:var(--ink-dim);max-width:460px;margin-bottom:30px;font-size:17px;line-height:1.6}.nf404-search{gap:10px;max-width:480px;margin-bottom:22px;display:flex}.nf404-field{background:var(--bg-card);border:1px solid var(--line);flex:1;align-items:center;gap:12px;min-width:0;height:56px;padding:0 18px;display:flex}.nf404-field:focus-within{border-color:var(--accent)}.nf404-field svg{color:var(--accent);flex-shrink:0}.nf404-field input{min-width:0;color:var(--ink);font-family:var(--font-space-grotesk),system-ui,sans-serif;background:0 0;border:0;outline:0;flex:1;font-size:16px}.nf404-field input::placeholder{color:var(--ink-mute)}.nf404-go{background:var(--accent);width:56px;height:56px;color:var(--accent-ink);cursor:pointer;border:none;flex-shrink:0;place-items:center;transition:filter .14s;display:grid}.nf404-go:hover{filter:brightness(1.08)}.nf404-cta{flex-wrap:wrap;gap:12px;display:flex}.nf404-btn-primary{background:var(--accent);height:52px;color:var(--accent-ink);font-family:var(--font-jetbrains-mono),monospace;text-transform:uppercase;letter-spacing:.08em;cursor:pointer;clip-path:polygon(0 0,100% 0,calc(100% - 12px) 100%,0 100%);align-items:center;gap:10px;padding:0 28px;font-size:13px;font-weight:600;transition:filter .14s;display:inline-flex}.nf404-btn-primary:hover{filter:brightness(1.08)}.nf404-btn-ghost{border:1px solid var(--line);height:52px;color:var(--ink);font-family:var(--font-jetbrains-mono),monospace;text-transform:uppercase;letter-spacing:.08em;cursor:pointer;background:0 0;align-items:center;gap:10px;padding:0 26px;font-size:13px;font-weight:500;transition:border-color .14s,color .14s;display:inline-flex}.nf404-btn-ghost:hover{border-color:var(--accent);color:var(--accent)}.nf404-card{border:1px solid var(--line);background:var(--bg-card)}.nf404-nc-head{border-bottom:1px solid var(--line);font-family:var(--font-jetbrains-mono),monospace;color:var(--ink-mute);text-transform:uppercase;letter-spacing:.08em;align-items:center;gap:12px;padding:16px 22px;font-size:11px;display:flex}.nf404-dots{gap:6px;display:flex}.nf404-dots i{background:var(--line);border-radius:50%;width:10px;height:10px}.nf404-dots i.r{background:var(--danger)}.nf404-dots i.g{background:var(--accent)}.nf404-nc-screen{text-align:center;border-bottom:1px solid var(--line);background:repeating-linear-gradient(135deg,transparent 0 9px,color-mix(in oklab,var(--ink)3%,transparent)9px 10px);padding:30px 26px}.nf404-face{font-family:var(--font-jetbrains-mono),monospace;color:var(--accent);margin-bottom:14px;font-size:56px;font-weight:600}.nf404-go-txt{font-family:var(--font-jetbrains-mono),monospace;color:var(--ink);text-transform:uppercase;letter-spacing:.16em;font-size:13px}.nf404-go-sub{font-family:var(--font-jetbrains-mono),monospace;color:var(--ink-mute);margin-top:8px;font-size:11px}.nf404-ncl{border-bottom:1px solid var(--line);color:var(--ink);align-items:center;gap:14px;padding:15px 22px;transition:background .14s;display:flex}.nf404-ncl:last-child{border-bottom:0}.nf404-ncl:hover{background:var(--bg-elev)}.nf404-ix{font-family:var(--font-jetbrains-mono),monospace;color:var(--ink-mute);font-size:11px}.nf404-nm{flex:1;font-size:14px;font-weight:500}.nf404-ncl:hover .nf404-nm{color:var(--accent)}.nf404-ar{color:var(--ink-mute);display:inline-flex}.nf404-ncl:hover .nf404-ar{color:var(--accent)}@media (max-width:900px){.nf404{min-height:0}.nf404-inner{grid-template-columns:1fr;gap:40px;padding:48px 20px 64px}.nf404-body{margin-top:24px}}@media (max-width:560px){.nf404-cta{width:100%}.nf404-btn-primary,.nf404-btn-ghost{flex:1;justify-content:center}}@media (prefers-reduced-motion:reduce){.nf404-glitch:before,.nf404-glitch:after,.nf404-blink{animation:none}}
