:root{--paper: #ffffff;--panel: #f4f8f4;--panel-2: #eef5ef;--rule: #d3e3d6;--rule-strong: #b9d2bf;--ink: #17271c;--ink-2: #4a5f50;--ink-3: #7d9184;--link: #167a40;--led: #1fa558;--led-dim: #9ccbae;--amber: #b06f12;--amber-soft: #f4e8cf;--slate: #566b7a;--wrap: 70rem;--display: "Archivo", ui-sans-serif, system-ui, sans-serif;--serif: "Newsreader", Georgia, "Times New Roman", serif}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;font-family:var(--serif);font-size:1.12rem;line-height:1.7;color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3{font-family:var(--display);color:var(--ink);line-height:1.08;margin:0}h1{font-size:clamp(2.3rem,1.4rem + 4vw,3.7rem);font-weight:800;letter-spacing:-.03em}h2{font-size:clamp(1.25rem,1.05rem + .9vw,1.6rem);font-weight:700;letter-spacing:-.02em}h3{font-size:.95rem;font-weight:700;letter-spacing:.01em}p{margin:0 0 1rem}a{color:var(--link);text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:2px}.nl-wrap{width:100%;max-width:var(--wrap);margin-inline:auto;padding-inline:1.4rem}.nl-skip{position:absolute;left:-999px;top:0;background:var(--ink);color:#fff;padding:.6rem 1rem;z-index:50;font-family:var(--display)}.nl-skip:focus{left:0}.nl-top{border-bottom:1px solid var(--rule);background:var(--paper);position:sticky;top:0;z-index:30}.nl-top__bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:62px;flex-wrap:nowrap}.nl-brand{display:inline-flex;align-items:center;gap:.6rem;font-family:var(--display);font-weight:800;font-size:1.15rem;letter-spacing:-.02em;color:var(--ink);white-space:nowrap}.nl-brand:hover{text-decoration:none}.nl-brand__led{display:inline-flex;align-items:flex-end;gap:2.5px;height:.95em}.nl-brand__led i{width:3.5px;display:block;background:var(--led);border-radius:1px}.nl-brand__led i:nth-child(1){height:45%;opacity:.55}.nl-brand__led i:nth-child(2){height:72%;opacity:.78}.nl-brand__led i:nth-child(3){height:100%}.nl-menu{display:flex;align-items:center;gap:.1rem;flex-wrap:nowrap;font-family:var(--display)}.nl-menu a{display:inline-block;padding:.35rem .7rem;color:var(--ink-2);font-weight:600;font-size:.9rem;white-space:nowrap;border-bottom:2px solid transparent}.nl-menu a:hover{color:var(--ink);text-decoration:none}.nl-menu a[aria-current=page]{color:var(--link);border-bottom-color:var(--led)}main{display:block}.nl-hero{padding:clamp(2.6rem,1.6rem + 5vw,5.2rem) 0 2rem}.nl-hero h1{max-width:15ch}.nl-hero__lede{font-family:var(--serif);font-size:1.28rem;line-height:1.6;color:var(--ink-2);max-width:46ch;margin-top:1.1rem}.nl-index{margin-top:2.6rem;border-top:2px solid var(--ink)}.nl-index__cap{display:flex;align-items:baseline;justify-content:space-between;padding:.7rem 0;font-family:var(--display);font-size:.82rem;font-weight:600;color:var(--ink-3);border-bottom:1px solid var(--rule)}.nl-index__cap span:last-child{font-variant-numeric:tabular-nums}.nl-ix{display:grid;grid-template-columns:1.6rem 1fr auto;align-items:center;column-gap:.9rem;padding:.95rem .3rem;border-bottom:1px solid var(--rule);color:var(--ink);transition:background-color .12s}.nl-ix:hover{background:var(--panel);text-decoration:none}.nl-ix__led{justify-self:center}.nl-ix__name{font-family:var(--display);font-weight:700;font-size:1.12rem;letter-spacing:-.01em}.nl-ix__blurb{grid-column:2 / 3;font-size:1rem;color:var(--ink-2);line-height:1.45;margin-top:.15rem}.nl-ix__count{font-family:var(--display);font-weight:600;font-size:.92rem;color:var(--ink-3);font-variant-numeric:tabular-nums;white-space:nowrap}.nl-legend{display:flex;flex-wrap:wrap;gap:.3rem 1.3rem;margin-top:1.3rem;font-family:var(--display);font-size:.8rem;color:var(--ink-3)}.nl-legend span{display:inline-flex;align-items:center;gap:.45rem}.nl-led{width:11px;height:11px;border-radius:50%;flex:none;display:inline-block}.nl-led--saas{background:var(--led);box-shadow:0 0 0 3px #1fa55829}.nl-led--oss{background:transparent;border:2.5px solid var(--led)}.nl-led--freemium{background:linear-gradient(90deg,var(--led) 0 50%,var(--led-dim) 50% 100%)}.nl-led--paid-trial{background:var(--slate)}.nl-led--paid{background:#37485a}.nl-block{padding:2.6rem 0}.nl-block__top{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;border-bottom:2px solid var(--ink);padding-bottom:.55rem;margin-bottom:.4rem}.nl-block__top h2{font-size:1.05rem}.nl-block__top .nl-block__n{font-family:var(--display);font-size:.82rem;font-weight:600;color:var(--ink-3);font-variant-numeric:tabular-nums}.nl-ledger{display:block}.nl-row{display:grid;grid-template-columns:1.6rem 1fr auto;column-gap:.9rem;padding:1rem .3rem;border-bottom:1px solid var(--rule);color:var(--ink);transition:background-color .12s}.nl-row:hover{background:var(--panel);text-decoration:none}.nl-row__led{justify-self:center;margin-top:.4rem}.nl-row__name{font-family:var(--display);font-weight:700;font-size:1.1rem;letter-spacing:-.01em}.nl-row__meta{font-family:var(--display);font-size:.78rem;color:var(--ink-3);text-align:right;align-self:start;max-width:15rem}.nl-row__tagline{grid-column:2 / 3;color:var(--ink-2);font-size:1rem;line-height:1.5;margin:.2rem 0 0}.nl-row__flag{grid-column:2 / 3;margin-top:.4rem}.nl-flag{display:inline-block;font-family:var(--display);font-size:.72rem;font-weight:600;color:var(--amber);background:var(--amber-soft);padding:.1rem .5rem;border-radius:2px}.nl-flag--cloud{color:var(--link);background:var(--panel-2)}.nl-status{display:flex;align-items:center;gap:.55rem;font-family:var(--display);font-size:.82rem;color:var(--ink-2)}.nl-crumb{font-family:var(--display);font-size:.82rem;color:var(--ink-3);padding:1.6rem 0 0}.nl-crumb a{color:var(--ink-2)}.nl-crumb span{margin:0 .4rem;color:var(--rule-strong)}.nl-head{padding:.8rem 0 1.5rem}.nl-head__kicker{font-family:var(--display);font-size:.82rem;font-weight:600;color:var(--link)}.nl-head__tagline{font-size:1.3rem;line-height:1.5;color:var(--ink-2);max-width:52ch;margin:.5rem 0 0}.nl-actions{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.3rem}.nl-btn{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--display);font-weight:600;font-size:.92rem;padding:.6rem 1.05rem;border:1.5px solid var(--ink);color:var(--ink);background:var(--paper)}.nl-btn:hover{text-decoration:none;background:var(--ink);color:#fff}.nl-btn--go{border-color:var(--link);background:var(--link);color:#fff}.nl-btn--go:hover{background:var(--ink);border-color:var(--ink)}.nl-btn__host{font-weight:500;font-size:.8rem;opacity:.72}.nl-note{margin-top:1.3rem;padding:.8rem 0 .8rem 1.1rem;border-left:3px solid var(--led);color:var(--ink-2);font-size:1rem;max-width:60ch}.nl-sheet{margin:1.8rem 0 2.4rem;border-top:2px solid var(--ink)}.nl-sheet>div{display:grid;grid-template-columns:9.5rem 1fr;gap:.5rem 1.4rem;padding:.7rem .1rem;border-bottom:1px solid var(--rule)}.nl-sheet dt{font-family:var(--display);font-size:.82rem;font-weight:600;color:var(--ink-3)}.nl-sheet dd{margin:0;color:var(--ink);font-size:1rem}.nl-section{margin:2.2rem 0}.nl-section>h2{scroll-margin-top:84px;margin-bottom:.9rem;position:relative;padding-left:.95rem}.nl-section>h2:before{content:"";position:absolute;left:0;top:.1em;bottom:.1em;width:4px;background:var(--led);border-radius:1px}.nl-prose{max-width:68ch}.nl-prose p{color:var(--ink)}.nl-prose h2{margin-top:2rem}.nl-checks{list-style:none;margin:0;padding:0;max-width:68ch}.nl-checks li{position:relative;padding:.55rem 0 .55rem 1.8rem;border-bottom:1px solid var(--rule);color:var(--ink)}.nl-checks li:last-child{border-bottom:none}.nl-checks li:before{content:"";position:absolute;left:.2rem;top:1.05em;width:.65rem;height:.35rem;border-left:2px solid var(--led);border-bottom:2px solid var(--led);transform:rotate(-45deg)}.nl-split{display:grid;grid-template-columns:1fr 1fr;gap:0 2.4rem;max-width:68ch}.nl-split>div{padding-top:.4rem}.nl-split h3{font-family:var(--display);color:var(--ink);padding-bottom:.5rem;border-bottom:2px solid var(--rule-strong);margin-bottom:.6rem}.nl-split--up h3{border-bottom-color:var(--led)}.nl-split ul{list-style:none;margin:0;padding:0}.nl-split li{color:var(--ink-2);padding:.4rem 0 .4rem 1.1rem;position:relative;font-size:1rem;line-height:1.45}.nl-split li:before{content:"";position:absolute;left:0;top:.72em;width:.5rem;height:.5rem;border-radius:50%}.nl-split--up li:before{background:var(--led)}.nl-split--down li:before{background:var(--amber)}.nl-figure{margin:0}.nl-figure img{width:100%;height:auto;display:block;border:1px solid var(--rule)}.nl-figure figcaption{font-family:var(--display);font-size:.78rem;color:var(--ink-3);margin-top:.5rem}.nl-qa{max-width:68ch;border-top:1px solid var(--rule)}.nl-qa details{border-bottom:1px solid var(--rule)}.nl-qa summary{cursor:pointer;font-family:var(--display);font-weight:600;color:var(--ink);padding:.85rem 0 .85rem 1.6rem;list-style:none;position:relative}.nl-qa summary::-webkit-details-marker{display:none}.nl-qa summary:before{content:"+";position:absolute;left:.1rem;color:var(--led);font-weight:700;font-size:1.1rem}.nl-qa details[open] summary:before{content:"–"}.nl-qa p{color:var(--ink-2);margin:0 0 .9rem;padding-left:1.6rem;font-size:1.02rem}.nl-vs{width:100%;border-collapse:collapse;margin:0 0 1rem;font-size:1rem}.nl-vs th,.nl-vs td{text-align:left;padding:.75rem 1rem .75rem 0;border-bottom:1px solid var(--rule);vertical-align:top}.nl-vs thead th{font-family:var(--display);color:var(--ink);border-bottom:2px solid var(--ink);font-size:1.05rem}.nl-vs tbody th{font-family:var(--display);font-weight:600;color:var(--ink-3);font-size:.82rem;width:8rem}.mono{font-variant-numeric:tabular-nums}.nl-byline{display:flex;flex-wrap:wrap;gap:.2rem 1.4rem;font-family:var(--display);font-size:.84rem;color:var(--ink-3);margin:1rem 0 0}.nl-byline a{color:var(--link)}.nl-byline__when{font-variant-numeric:tabular-nums}code{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.86em;background:var(--panel-2);padding:.1rem .35rem}.nl-foot{margin-top:3.5rem;border-top:2px solid var(--ink)}.nl-foot__grid{display:flex;flex-wrap:wrap;gap:1.6rem;justify-content:space-between;padding:2.4rem 0 1.4rem}.nl-foot__about{font-family:var(--serif);max-width:42ch;color:var(--ink-2);font-size:1rem;margin-top:.8rem}.nl-foot__links{display:flex;flex-wrap:wrap;gap:.4rem 1.3rem;align-content:flex-start;font-family:var(--display);font-weight:600;font-size:.9rem}.nl-foot__links a{color:var(--ink-2)}.nl-foot__fine{font-family:var(--display);padding-bottom:2.2rem;color:var(--ink-3);font-size:.78rem}@media (max-width: 640px){body{font-size:1.06rem}.nl-split{grid-template-columns:1fr;gap:1.4rem}.nl-sheet>div{grid-template-columns:1fr;gap:.1rem}.nl-row__meta,.nl-ix__count{display:none}.nl-menu a{padding:.35rem .5rem}}@media (prefers-reduced-motion: reduce){*{transition:none!important;scroll-behavior:auto!important}}
