.npi-page{min-height:100vh;padding-bottom:96px}.npi-page *,.npi-page :before,.npi-page :after{box-sizing:border-box}.npi-page .wrap{max-width:980px;margin:0 auto;padding:0 28px}.npi-page .hdr{border-bottom:1.5px solid var(--ffly-ink);justify-content:space-between;align-items:center;max-width:1120px;margin:0 auto;padding:22px 28px;display:flex}.npi-page .hdr .logo{width:auto;height:32px;display:block}.npi-page .hdr nav{align-items:center;gap:26px;display:flex}.npi-page .hdr nav a{color:var(--ffly-ink);font-family:var(--ffly-font-mono);text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:600;text-decoration:none}.npi-page .hdr nav a:hover{color:var(--ffly-coral-text)}.npi-page .hdr .signin{background:var(--ffly-ink);color:var(--ffly-paper);border-radius:var(--ffly-r-full);font-family:var(--ffly-font-mono);text-transform:uppercase;letter-spacing:.06em;cursor:pointer;box-shadow:var(--ffly-sh-sm);border:none;padding:10px 18px;font-size:12px;font-weight:600}.npi-page .intro{padding:52px 0 8px}.npi-page .crumb{font-family:var(--ffly-font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--ffly-coral-text);margin-bottom:14px;font-size:11px}.npi-page .crumb:before{content:"✛ ";color:var(--ffly-ink)}.npi-page h1{font-family:var(--ffly-font-display);letter-spacing:-.025em;color:var(--ffly-ink);margin:0 0 14px;font-size:clamp(38px,5vw,56px);font-weight:700}.npi-page h1 em{color:var(--ffly-coral-text);font-style:italic;font-weight:500}.npi-page .lede{color:var(--ffly-ink);max-width:560px;margin:0;font-size:19px;line-height:1.56}.npi-page .search{border:1.5px solid var(--ffly-ink);border-radius:var(--ffly-r-full);background:var(--ffly-surface);box-shadow:var(--ffly-sh-sm);transition:box-shadow var(--ffly-dur) var(--ffly-ease);align-items:stretch;max-width:620px;margin-top:28px;display:flex;overflow:hidden}.npi-page .search:focus-within{box-shadow:var(--ffly-sh-md)}.npi-page .search .lab{font-family:var(--ffly-font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ffly-muted);border-right:1.5px solid var(--ffly-line);align-items:center;padding:0 18px;font-size:12px;font-weight:600;display:flex}.npi-page .search input{font-family:var(--ffly-font-mono);letter-spacing:.04em;color:var(--ffly-ink);background:0 0;border:none;outline:none;flex:1;min-width:0;padding:15px 18px;font-size:17px}.npi-page .search button{background:var(--ffly-ink);color:var(--ffly-paper);font-family:var(--ffly-font-mono);text-transform:uppercase;letter-spacing:.06em;cursor:pointer;border:none;padding:0 28px;font-size:13px;font-weight:600}.npi-page .hint{font-family:var(--ffly-font-mono);color:var(--ffly-muted);margin-top:10px;font-size:12px}.npi-page .hint .trynum{color:var(--ffly-coral-text);cursor:pointer;font:inherit;text-underline-offset:2px;background:0 0;border:none;padding:0;text-decoration:underline}.npi-page .result{grid-template-columns:1.5fr 1fr;gap:22px;margin-top:28px;display:grid}@media (width<=760px){.npi-page .result{grid-template-columns:1fr}}.npi-page .specimen{background:var(--ffly-surface);border:1.5px solid var(--ffly-ink);border-radius:var(--ffly-r-md);box-shadow:var(--ffly-sh-lg);padding:26px;position:relative}.npi-page .specimen:after{content:"";border:1.5px solid var(--ffly-coral);border-radius:var(--ffly-r-md);opacity:.32;pointer-events:none;mix-blend-mode:multiply;position:absolute;inset:5px -5px -5px 5px}.npi-page .tag{font-family:var(--ffly-font-mono);text-transform:uppercase;letter-spacing:.08em;border:1.5px solid var(--ffly-ink);border-radius:var(--ffly-r-full);align-items:center;gap:6px;margin-bottom:14px;padding:4px 11px;font-size:11px;font-weight:600;display:inline-flex}.npi-page .tag .pin{background:var(--ffly-coral);border-radius:50%;width:8px;height:8px}.npi-page .name{font-family:var(--ffly-font-display);letter-spacing:-.02em;color:var(--ffly-ink);margin:0 0 4px;font-size:28px;font-weight:700;line-height:1.08}.npi-page .latin{font-family:var(--ffly-font-display);color:var(--ffly-coral-text);margin:0 0 20px;font-size:18px;font-style:italic;font-weight:500}.npi-page .rows{border-top:1.5px solid var(--ffly-line);gap:0;display:grid}.npi-page .row{border-bottom:1px dashed var(--ffly-line);justify-content:space-between;gap:14px;padding:11px 0;display:flex}.npi-page .row .k{font-family:var(--ffly-font-mono);text-transform:uppercase;letter-spacing:.07em;color:var(--ffly-muted);font-size:11px}.npi-page .row .v{text-align:right;font-weight:500}.npi-page .row .v.mono{font-family:var(--ffly-font-mono);font-size:14px}.npi-page .attr{font-family:var(--ffly-font-mono);letter-spacing:.03em;color:var(--ffly-muted);margin-top:16px;font-size:11px}.npi-page .note{background:var(--ffly-paper);border:1.5px solid var(--ffly-ink);border-radius:var(--ffly-r-md);box-shadow:var(--ffly-sh-md);padding:22px}.npi-page .note .k{font-family:var(--ffly-font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--ffly-muted);margin-bottom:12px;font-size:11px}.npi-page .note .b{align-items:center;gap:10px;margin-bottom:9px;font-size:15px;display:flex}.npi-page .note .b .sw{border:1.5px solid var(--ffly-ink);mix-blend-mode:multiply;border-radius:3px;flex-shrink:0;width:14px;height:14px}.npi-page .bridge{background:var(--ffly-ink);color:var(--ffly-paper);border-radius:var(--ffly-r-md);box-shadow:var(--ffly-sh-md);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px;margin-top:26px;padding:22px 24px;display:flex}.npi-page .bridge .tiny{font-family:var(--ffly-font-mono);text-transform:uppercase;letter-spacing:.1em;opacity:.7;margin-bottom:8px;font-size:11px;display:block}.npi-page .bridge code{font-family:var(--ffly-font-mono);font-size:16px}.npi-page .bridge code .verb{color:var(--ffly-sun);font-weight:700}.npi-page .bridge code .path{color:var(--ffly-cyan)}.npi-page .bridge .dev-cta{background:var(--ffly-coral);color:#fff;border:1.5px solid var(--ffly-paper);cursor:pointer;border-radius:var(--ffly-r-full);font-family:var(--ffly-font-mono);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;padding:12px 22px;font-size:12px;font-weight:600;text-decoration:none;display:inline-block}.npi-page .lookup-error{border:1.5px solid var(--ffly-coral);border-radius:var(--ffly-r-md);color:var(--ffly-coral-text);background:#f46f6314;margin-top:14px;padding:12px 16px;font-size:14px;line-height:1.4}
