.nf-root{background:var(--dark);isolation:isolate;justify-content:center;align-items:center;min-height:100vh;padding:96px 24px;display:flex;position:relative;overflow:hidden}.nf-grid{transform-origin:50% 0;pointer-events:none;z-index:-2;background-image:linear-gradient(#e8001c29 1px,#0000 1px),linear-gradient(90deg,#e8001c29 1px,#0000 1px);background-size:72px 72px;animation:6s linear infinite nf-drift;position:absolute;inset:40% -50% -20%;transform:perspective(340px)rotateX(68deg);-webkit-mask-image:linear-gradient(#000000e6,#0000 72%);mask-image:linear-gradient(#000000e6,#0000 72%)}@keyframes nf-drift{to{background-position:0 72px,0 0}}.nf-horizon{pointer-events:none;z-index:-2;background:radial-gradient(70% 42% at 50% 62%,#e8001c2e,#0000 70%),radial-gradient(45% 35% at 50% 30%,#38e8ff12,#0000 70%);position:absolute;inset:0}.nf-scan{pointer-events:none;z-index:-1;background:repeating-linear-gradient(#ffffff07 0 1px,#0000 1px 3px);animation:8s linear infinite nf-roll;position:absolute;inset:0}@keyframes nf-roll{to{transform:translateY(3px)}}.nf-panel{border:1px solid var(--border);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:linear-gradient(#121828b8,#0a0d14b8);width:100%;max-width:660px;padding:40px 36px 36px;position:relative}.nf-corner{border:1px solid var(--red);pointer-events:none;width:14px;height:14px;position:absolute}.nf-corner[data-at=tl]{border-bottom:0;border-right:0;top:-1px;left:-1px}.nf-corner[data-at=tr]{border-bottom:0;border-left:0;top:-1px;right:-1px}.nf-corner[data-at=bl]{border-top:0;border-right:0;bottom:-1px;left:-1px}.nf-corner[data-at=br]{border-top:0;border-left:0;bottom:-1px;right:-1px}.nf-kicker{letter-spacing:3px;text-transform:uppercase;color:var(--red2);align-items:center;gap:9px;font-family:Barlow Condensed,sans-serif;font-size:12px;font-weight:600;display:flex}.nf-kicker svg{flex:none}.nf-pulse{animation:1.4s step-end infinite nf-blink}@keyframes nf-blink{0%,60%{opacity:1}61%,to{opacity:.25}}.nf-code{letter-spacing:6px;color:var(--white);-webkit-user-select:none;user-select:none;margin:4px 0 2px;font-family:Bebas Neue,sans-serif;font-size:clamp(96px,17vw,168px);line-height:.86;position:relative}.nf-code:before,.nf-code:after{content:attr(data-text);pointer-events:none;position:absolute;inset:0}.nf-code:before{color:var(--red2);animation:2.6s steps(2,end) infinite nf-glitch-a}.nf-code:after{color:#38e8ff;animation:2.6s steps(2,end) infinite nf-glitch-b}@keyframes nf-glitch-a{0%,78%,to{clip-path:inset(0);opacity:0;transform:none}80%{clip-path:inset(12% 0 58%);opacity:.85;transform:translate(-3px,1px)}84%{clip-path:inset(64% 0 12%);opacity:.85;transform:translate(4px,-2px)}88%{clip-path:inset(38% 0 40%);opacity:.7;transform:translate(-2px)}}@keyframes nf-glitch-b{0%,78%,to{clip-path:inset(0);opacity:0;transform:none}81%{clip-path:inset(52% 0 22%);opacity:.7;transform:translate(3px,-1px)}85%{clip-path:inset(8% 0 70%);opacity:.7;transform:translate(-4px,2px)}89%{clip-path:inset(30% 0 46%);opacity:.55;transform:translate(2px)}}.nf-title{letter-spacing:5px;color:var(--white);margin:0;font-family:Bebas Neue,sans-serif;font-size:clamp(26px,4.4vw,40px)}.nf-rule{background:var(--red);width:54px;height:2px;margin:14px 0 16px}.nf-sub{letter-spacing:.6px;color:var(--text);max-width:46ch;margin:0 0 26px;font-family:Barlow Condensed,sans-serif;font-size:16px;line-height:1.5}.nf-term{border:1px solid var(--border);background:#06080cb8}.nf-term-head{border-bottom:1px solid var(--border);letter-spacing:2.4px;text-transform:uppercase;color:var(--muted);justify-content:space-between;align-items:center;gap:12px;padding:9px 12px;font-family:Barlow Condensed,sans-serif;font-size:11px;font-weight:600;display:flex}.nf-term-state[data-state=scanning]{color:#38e8ff}.nf-term-state[data-state=failed]{color:var(--red2)}.nf-log{min-height:132px;max-height:190px;margin:0;padding:12px;font-family:ui-monospace,monospace;font-size:12.5px;line-height:1.85;list-style:none;overflow-y:auto}.nf-log li{color:var(--muted);gap:8px;animation:.18s ease-out both nf-in;display:flex}.nf-log li[data-tone=ok]{color:#38e8ff}.nf-log li[data-tone=bad]{color:var(--red2)}.nf-log li span:first-child{opacity:.55}.nf-path{color:var(--white);word-break:break-all}@keyframes nf-in{0%{opacity:0;transform:translate(-4px)}}.nf-caret{vertical-align:-2px;background:currentColor;width:7px;height:13px;animation:1s step-end infinite nf-blink;display:inline-block}.nf-bar{background:#ffffff0f;height:3px;margin:0 12px;position:relative;overflow:hidden}.nf-bar i{background:#38e8ff;height:100%;transition:width 1.7s cubic-bezier(.15,.85,.25,1),background .3s;display:block}.nf-bar[data-state=failed] i{background:var(--red)}.nf-bar-meta{letter-spacing:2.2px;text-transform:uppercase;color:var(--muted);justify-content:space-between;padding:8px 12px 12px;font-family:Barlow Condensed,sans-serif;font-size:11px;font-weight:600;display:flex}.nf-abandon{background:#e8001c12;border:1px solid #e8001c66;align-items:flex-start;gap:12px;margin-top:18px;padding:12px 14px;animation:.3s ease-out both nf-in;display:flex}.nf-abandon svg{flex:none;margin-top:1px}.nf-abandon-title{letter-spacing:2.6px;text-transform:uppercase;color:var(--red2);font-family:Barlow Condensed,sans-serif;font-size:13px;font-weight:700}.nf-abandon-hint{letter-spacing:.4px;color:var(--text);margin-top:2px;font-family:Barlow Condensed,sans-serif;font-size:14px}.nf-actions{flex-wrap:wrap;gap:10px;margin-top:26px;display:flex}.nf-btn{border:1px solid var(--border);letter-spacing:2.6px;text-transform:uppercase;color:var(--white);cursor:pointer;background:0 0;align-items:center;gap:9px;padding:13px 24px;font-family:Barlow Condensed,sans-serif;font-size:12.5px;font-weight:600;text-decoration:none;transition:background .18s,border-color .18s,opacity .18s;display:inline-flex}.nf-btn:hover{background:#e8001c17;border-color:#e8001c8c}.nf-btn--primary{background:var(--red);border-color:var(--red)}.nf-btn--primary:hover{background:var(--red2);border-color:var(--red2)}.nf-btn[disabled]{opacity:.45;cursor:default}.nf-btn[disabled]:hover{border-color:var(--border);background:0 0}@media (prefers-reduced-motion:reduce){.nf-grid,.nf-scan,.nf-code:before,.nf-code:after,.nf-pulse,.nf-caret,.nf-log li{animation:none}.nf-bar i{transition:none}}@media (max-width:560px){.nf-root{padding:64px 16px}.nf-panel{padding:28px 20px 26px}.nf-actions .nf-btn{flex:100%;justify-content:center}}
