.ff-nb *,.ff-nb :before,.ff-nb :after{box-sizing:border-box;margin:0;padding:0}.ff-nb{background:var(--ff-paper);color:var(--ff-ink)}.ff-nb ul,.ff-nb ol{list-style:none}.ff-nb main{padding-bottom:clamp(72px,10vw,120px);display:block}.ff-nb h2.kicker{font-weight:400}.ff-nb .label-note{max-width:260px;color:var(--ff-muted);margin-top:10px;font-size:13px;line-height:1.6}.ff-nb .readlink{color:var(--ff-accent);border-bottom:1px solid var(--ff-accent-under);padding-bottom:3px;font-size:14px;transition:border-color .2s;display:inline-block}.ff-nb .readlink:hover{border-bottom-color:var(--ff-accent)}.ff-nb .body-text{max-width:56ch;font-family:var(--ff-serif);color:var(--ff-body);font-size:18px;line-height:1.6}.ff-nb .section-link{margin-top:20px}.ff-nb .nb-intro{padding-top:clamp(40px,7vw,76px)}.ff-nb .nb-intro .kicker{margin-bottom:24px}.ff-nb .nb-intro h1{font-family:var(--ff-serif);letter-spacing:-.02em;color:var(--ff-ink);font-size:clamp(34px,4.4vw,56px);font-weight:300;line-height:1.06}.ff-nb .standfirst{max-width:56ch;font-family:var(--ff-serif);color:var(--ff-body);margin-top:20px;font-size:clamp(17px,2.2vw,19px);line-height:1.62}.ff-nb .nb-ladder{max-width:900px;margin:44px 12px 0 0;padding-bottom:58px;position:relative}.ff-nb .nb-ladder-track{background:var(--ff-rule);height:1px;position:relative}.ff-nb .nb-ladder-fill{background:var(--ff-ink);height:2px;position:absolute;top:-.5px;left:0}.ff-nb .nb-ladder-steps{position:absolute;top:-5px;left:0;right:0}.ff-nb .nb-ladder-steps li{text-align:center;flex-direction:column;align-items:center;gap:8px;width:110px;display:flex;position:absolute;transform:translate(-50%)}.ff-nb .nb-ladder-steps li:first-child{text-align:left;align-items:flex-start;transform:none}.ff-nb .nb-ladder-steps li:last-child{text-align:right;align-items:flex-end;transform:translate(-100%)}.ff-nb .nb-ladder-dot{background:var(--ff-paper);border:1px solid var(--ff-faint);border-radius:50%;width:11px;height:11px}.ff-nb .is-reached .nb-ladder-dot{background:var(--ff-ink);border-color:var(--ff-ink)}.ff-nb .nb-ladder-name{font-family:var(--ff-sans);color:var(--ff-muted);font-size:12px;line-height:1.3}.ff-nb .is-reached .nb-ladder-name{color:var(--ff-ink)}.ff-nb .nb-ladder-at{font-family:var(--ff-sans);color:var(--ff-faint);font-variant-numeric:tabular-nums;font-size:11px}.ff-nb .nb-private{font-family:var(--ff-sans);color:var(--ff-muted);margin-top:8px;font-size:13px}.ff-nb .section{border-top:1px solid var(--ff-ink);margin-top:clamp(56px,8vw,96px);padding-top:48px}.ff-nb .cols{flex-wrap:wrap;align-items:flex-start;gap:28px 56px;display:flex}.ff-nb .col-label{flex:0 340px;min-width:0}.ff-nb .col-body{flex:420px;min-width:0;max-width:560px}.ff-nb .nb-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;display:grid}.ff-nb .nb-stats dt{font-family:var(--ff-sans);letter-spacing:.16em;text-transform:uppercase;color:var(--ff-muted);font-size:11px}.ff-nb .nb-stats dd{font-family:var(--ff-serif);color:var(--ff-ink);font-variant-numeric:tabular-nums;margin-top:6px;font-size:30px;line-height:1.1}.ff-nb .nb-stats dd span{color:var(--ff-muted);font-size:15px}.ff-nb .nb-stamp{border-top:1px solid var(--ff-rule);flex-wrap:wrap;align-items:flex-start;gap:20px 28px;padding:28px 0;display:flex}.ff-nb .nb-stamp:first-child{border-top:none;padding-top:0}.ff-nb .nb-stamp-plate{flex:0 160px;min-width:0;max-width:160px}.ff-nb .nb-stamp.is-new .nb-stamp-plate{opacity:.62}.ff-nb .nb-stamp-body{flex:240px;min-width:0}.ff-nb .nb-stamp h3{font-family:var(--ff-serif);color:var(--ff-ink);margin-top:12px;font-size:22px;font-weight:400;line-height:1.2}.ff-nb .nb-stamp-progress{align-items:center;gap:12px;max-width:300px;margin-top:12px;display:flex}.ff-nb .nb-bar{background:var(--ff-rule);flex:1;height:2px;position:relative}.ff-nb .nb-bar span{background:var(--ff-ink);position:absolute;top:0;bottom:0;left:0}.ff-nb .nb-bar-n{font-family:var(--ff-sans);color:var(--ff-muted);white-space:nowrap;font-size:13px}.ff-nb .nb-facts{font-family:var(--ff-sans);color:var(--ff-body);flex-direction:column;gap:2px;margin-top:10px;font-size:13px;line-height:1.6;display:flex}.ff-nb .nb-verdict{max-width:52ch;font-family:var(--ff-serif);color:var(--ff-body);margin-top:12px;font-size:16px;font-style:italic;line-height:1.55}.ff-nb .nb-stamp .readlink{margin-top:16px}.ff-nb .nb-shelf+.nb-shelf{margin-top:32px}.ff-nb .nb-shelf-h{border-bottom:1px solid var(--ff-rule);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px 16px;padding-bottom:10px;display:flex}.ff-nb .nb-shelf-t{font-family:var(--ff-serif);color:var(--ff-ink);font-size:18px}.ff-nb .nb-shelf-n{font-family:var(--ff-sans);color:var(--ff-muted);font-size:13px}.ff-nb .nb-medals{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:20px 12px;margin-top:18px;display:grid}.ff-nb .nb-medals li{text-align:center;flex-direction:column;align-items:center;gap:10px;display:flex}.ff-nb .nb-medal-name{font-family:var(--ff-sans);color:var(--ff-ink);font-size:12px;line-height:1.35}.ff-nb .nb-medals .is-locked .nb-medal-name{color:var(--ff-faint)}.ff-nb .nb-reset{border-top:1px solid var(--ff-rule);margin-top:40px;padding-top:16px}.ff-nb .nb-reset-btn,.ff-nb .nb-reset-no{min-height:44px;font-family:var(--ff-sans);color:var(--ff-muted);text-underline-offset:4px;cursor:pointer;background:0 0;border:0;font-size:14px;text-decoration:underline;transition:color .2s}.ff-nb .nb-reset-btn:hover,.ff-nb .nb-reset-no:hover{color:var(--ff-ink)}.ff-nb .nb-reset-ask{flex-wrap:wrap;align-items:center;gap:10px 18px;display:flex}.ff-nb .nb-reset-ask p{font-family:var(--ff-sans);color:var(--ff-body);flex-basis:100%;font-size:14px}.ff-nb .nb-reset-yes{border:1px solid var(--ff-ink);min-height:44px;color:var(--ff-ink);font-family:var(--ff-sans);cursor:pointer;background:0 0;border-radius:2px;padding:0 18px;font-size:14px;transition:background .2s,color .2s}.ff-nb .nb-reset-yes:hover{background:var(--ff-ink);color:var(--ff-paper)}@media (max-width:640px){.ff-nb .nb-intro{padding-top:36px}.ff-nb .section{margin-top:48px;padding-top:32px}.ff-nb .nb-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.ff-nb .nb-stamp-plate{flex-basis:100%;max-width:100%}.ff-nb .nb-ladder{padding-bottom:72px}.ff-nb .nb-ladder-steps li{width:58px}.ff-nb .nb-ladder-name{letter-spacing:-.01em;font-size:10.5px}}.ff-nb .nb-plat{gap:18px;list-style:none;display:grid}.ff-nb .nb-plat li{align-items:center;gap:14px;display:flex}.ff-nb .nb-plat li.is-locked{opacity:.55}.ff-nb .nb-plat-name{font-family:var(--pub-serif);color:var(--pub-ink);font-size:18px;line-height:1.3;display:block}.ff-nb .nb-plat-cond{font-family:var(--pub-sans);color:var(--pub-muted);margin-top:2px;font-size:13px;line-height:1.5;display:block}.ff-nb .nb-next{font-family:var(--pub-serif);color:var(--pub-body-ink);margin-top:24px;font-size:17px;line-height:1.6}.ff-nb .nb-code-label{font-family:var(--pub-sans);letter-spacing:.16em;text-transform:uppercase;color:var(--pub-muted);margin:18px 0 6px;font-size:11px;display:block}.ff-nb .nb-code{width:100%;max-width:560px;font-family:var(--pub-sans);color:var(--pub-ink);background:var(--pub-paper);border:1px solid var(--pub-field-border);word-break:break-all;resize:vertical;border-radius:2px;outline:none;padding:10px 12px;font-size:13px;line-height:1.5;display:block}.ff-nb .nb-code:focus{border-color:var(--pub-ink)}.ff-nb .nb-code-foot{font-family:var(--pub-sans);color:var(--pub-muted);margin-top:8px;font-size:13px;line-height:1.6}.ff-nb .nb-code-actions{flex-wrap:wrap;align-items:center;gap:12px 16px;margin-top:14px;display:flex}.ff-nb .nb-code-msg{font-family:var(--pub-sans);color:var(--pub-body-ink);font-size:13px}
