.nn{--ink:var(--noir-ink);--night:var(--noir-night);--steel:var(--noir-steel);--slate:var(--noir-slate);--fog:var(--noir-fog);--paper:var(--noir-paper);--light:var(--noir-light);--red:var(--noir-red);--sheet:#e4e8ee;--sheet-line:#c9d1dc;--pen:#141c2e;--pen-soft:#55617a;--cold-ink:#2f4f80;--folder:var(--noir-manila);--folder-dark:var(--noir-manila-dark);--folder-edge:var(--noir-manila-edge);--tw:var(--font-typewriter), "Courier New", monospace;--px:var(--font-pixel), "Courier New", monospace}.nn .tw{font-family:var(--tw);font-size-adjust:.56}.nn .px{font-family:var(--px)}.nn .pixelated{image-rendering:pixelated;image-rendering:crisp-edges}.nn button:focus-visible,.nn input:focus-visible{outline:2px solid var(--light);outline-offset:2px}.nn .btn{font-family:var(--px);background:var(--paper);color:var(--ink);letter-spacing:.12em;text-transform:uppercase;box-shadow:0 4px 0 var(--slate);border:0;padding:14px 28px}.nn .btn:active{box-shadow:none;transform:translateY(4px)}.nn .btn.sm{box-shadow:0 3px 0 var(--slate);padding:10px 14px;font-size:12px}.nn .btn:disabled{opacity:.6}.nn .ghost{border:2px solid var(--slate);color:var(--paper);font-family:var(--px);letter-spacing:.1em;background:#0a0e1ab3;padding:4px 9px;font-size:10px}.nn-rain{width:100%;height:100%;image-rendering:pixelated;opacity:.3;pointer-events:none;z-index:0;position:fixed;inset:0}.nn.phone{z-index:1;width:100%;max-width:28rem;height:100dvh;min-height:0;color:var(--paper);background:#0a0e1af0;flex-direction:column;margin:0 auto;display:flex;position:relative;overflow:hidden}@media (min-width:480px){.nn.phone{border-inline:2px solid var(--steel)}}.nn.phone.done{overflow-y:auto}.nn .stage{z-index:3;flex:none;align-self:center;width:256px;max-width:calc(100% - 32px);margin-top:auto;position:relative}.nn .stage canvas{aspect-ratio:128/88;border:2px solid var(--slate);width:100%;box-shadow:0 0 0 2px var(--ink);object-fit:cover;object-position:50% 70%;display:block}.nn.phone.done .stage{margin-top:max(16px, env(safe-area-inset-top))}.nn.case .stage{align-self:stretch;width:100%;max-width:none;margin-top:0}.nn.case .stage canvas{box-shadow:none;border-width:0 0 2px;max-height:36dvh}.nn .titlebits{text-align:center;justify-items:center;gap:20px;padding:22px 16px 0;display:grid}.nn .titlebits h1{font-family:var(--px);letter-spacing:.12em;color:var(--paper);margin:0;font-size:34px;font-weight:400}.nn .titlebits h1 span{animation:.9s step-end both nn-sign-on;display:inline-block}.nn .titlebits .when{color:var(--fog);margin:0}.nn .legal-foot{padding:14px 14px max(14px, env(safe-area-inset-bottom));margin-top:auto}.nn .topbar{z-index:4;top:max(8px, env(safe-area-inset-top));pointer-events:none;justify-content:space-between;align-items:center;display:flex;position:absolute;left:10px;right:10px}.nn .topbar>*{pointer-events:auto}.nn .topbar .name{font-family:var(--px);letter-spacing:.15em;color:var(--light);text-shadow:0 1px 0 var(--ink);font-size:12px}.nn .topbar .badge{background:var(--red);color:var(--light);letter-spacing:.05em;margin-left:6px;padding:1px 4px;font-size:9px}.nn .topbar .acts{gap:6px;display:flex}.nn .desk{background:var(--night) repeating-linear-gradient(176deg, transparent 0 9px, #23304a8c 9px 10px);flex:1;min-height:0;padding:14px 12px 18px;overflow:hidden auto}.nn .folder{background:var(--folder);border:2px solid var(--folder-edge);perspective:900px;margin-top:14px;padding:10px 8px 12px;position:relative;box-shadow:4px 5px #00000073}.nn .folder.hidden{visibility:hidden}.nn .folder .tab{background:var(--folder);border:2px solid var(--folder-edge);width:44%;height:16px;font-family:var(--px);letter-spacing:.12em;color:var(--folder-edge);white-space:nowrap;border-bottom:0;padding:0 10px;font-size:9px;line-height:14px;position:absolute;top:-16px;left:-2px;overflow:hidden}.nn .folder.slap{animation:.52s cubic-bezier(.3,1.4,.5,1) both nn-slap}.nn .folder.pull{animation:.7s steps(10,end) forwards nn-pull}.nn .cover{z-index:6;background:var(--folder);border:2px solid var(--folder-edge);transform-origin:0;box-shadow:inset -6px 0 0 var(--folder-dark);backface-visibility:hidden;align-content:start;place-items:center;padding-top:34px;display:grid;position:absolute;inset:-2px}.nn .cover:before{content:"";border:2px dashed var(--folder-dark);position:absolute;inset:10px}.nn .cover .plate{background:var(--sheet);color:var(--pen);border:2px solid var(--folder-edge);text-align:center;padding:10px 16px;position:relative;transform:rotate(-1deg)}.nn .cover .plate b{font-family:var(--px);letter-spacing:.14em;font-size:14px;font-weight:400;display:block}.nn .cover .plate span{font-family:var(--tw);font-size:20px}.nn .cover.opening{animation:.62s steps(8,end) forwards nn-cover-open}.nn .cover.closing{animation:.62s steps(8,end) both nn-cover-close}.nn .sheet{background:var(--sheet);color:var(--pen);box-shadow:2px 2px 0 var(--folder-dark);background-image:repeating-linear-gradient(transparent 0 22px, var(--sheet-line) 22px 23px);background-position:0 6px;align-content:start;gap:12px;min-height:420px;padding:12px 14px 16px;display:grid;position:relative}.nn .sheet .head{border-bottom:2px solid var(--pen);justify-content:space-between;align-items:baseline;padding-bottom:4px;display:flex}.nn .sheet .head b{font-family:var(--px);letter-spacing:.12em;font-size:12px;font-weight:400}.nn .sheet .head span{font-family:var(--tw);color:var(--pen-soft);font-size:18px}.nn .sheet h3{font-family:var(--px);letter-spacing:.16em;color:var(--pen-soft);text-transform:uppercase;margin:0;font-size:10px;font-weight:400}.nn .label{font-family:var(--px);letter-spacing:.15em;text-transform:uppercase;color:var(--pen-soft);font-size:9px}.nn .gauge{gap:4px;display:grid}.nn .gauge .top{justify-content:space-between;align-items:baseline;display:flex}.nn .gauge .val{font-family:var(--tw);font-size-adjust:.56;font-size:20px;line-height:1}.nn .cells{grid-template-columns:repeat(12,1fr);gap:2px;display:grid}.nn .cells i{height:11px;box-shadow:inset 0 0 0 2px var(--pen-soft);background:0 0;transition:background-color .15s;display:block}.nn .cells i.on{background:var(--pen-soft)}.nn .cells i.red{background:var(--red);box-shadow:inset 0 0 0 2px #9e2029}.nn .cells i.ember{animation:1.6s steps(2,end) infinite nn-ember}.nn .hot{color:var(--red)}.nn .warm{color:var(--pen)}.nn .cold{color:var(--cold-ink)}.nn .clues{gap:9px;margin:0;padding:0;list-style:none;display:grid}.nn .clues li{font-family:var(--tw);font-size-adjust:.56;grid-template-columns:24px minmax(0,1fr);font-size:17px;line-height:1.2;display:grid;position:relative}.nn .clues li .n{color:var(--pen-soft)}.nn .clues .bars{gap:5px;padding-top:3px;display:grid}.nn .clues .bars i{background:var(--ink);height:12px;display:block}.nn .clues .txt{position:relative}.nn .redact{background:var(--ink);background-image:repeating-linear-gradient(90deg,#0000 0 7px,#3a4d6b59 7px 8px);position:absolute;inset:-1px -2px}.nn .redact.go{animation:1s steps(12,end) both nn-unredact}.nn .glass{z-index:2;pointer-events:none;width:48px;height:48px;margin-top:-26px;animation:1s steps(12,end) both nn-glass;position:absolute;top:50%;left:-10px}.nn .leads{gap:2px;margin:0;padding:0;list-style:none;display:grid}.nn .leads li{font-family:var(--tw);font-size-adjust:.56;grid-template-columns:16px minmax(0,1fr) auto auto;align-items:center;gap:8px;font-size:17px;line-height:1.25;display:grid}.nn .leads li .dot{background:var(--pen);justify-self:center;width:6px;height:6px}.nn .leads li.fresh{animation:.26s steps(4,end) both nn-row-in}.nn .leads .word{overflow-wrap:anywhere;justify-self:start;padding:0 2px;position:relative}.nn .leads .word:after{content:"";background:var(--pen);transform-origin:0;height:2px;position:absolute;top:52%;left:-3px;right:-3px;transform:scaleX(0)}.nn .leads .word.struck:after{transform:scaleX(1)}.nn .leads .word.strike:after{animation:.26s steps(5,end) both nn-strike}.nn .leads .word.circled:before{content:"";border:2px solid var(--red);border-radius:50%;position:absolute;inset:-4px -8px}.nn .leads .word.circling:before{animation:.36s steps(6,end) both nn-circle}.nn .leads .rank{color:var(--pen-soft);font-variant-numeric:tabular-nums}.nn .leads .lab{text-align:right;min-width:70px}.nn .leads .lab.wait{visibility:hidden}.nn .leads .lab.stamp-in{animation:.24s steps(3,end) both nn-label-stamp}.nn .leads .lab.flash{animation:.24s steps(3,end) both nn-label-stamp,.7s steps(4,end) both nn-hot-ink}.nn .leads li.empty{color:var(--pen-soft);white-space:nowrap;display:block}.nn .closefile{border:2px solid var(--pen-soft);color:var(--pen);font-family:var(--px);letter-spacing:.1em;background:0 0;justify-self:center;padding:6px 12px;font-size:10px}.nn .impression{z-index:4;pointer-events:none;font-family:var(--px);letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;opacity:.95;text-shadow:0 0 1px;border:5px double;padding:6px 16px;font-size:28px;position:absolute;top:130px;left:50%;transform:translate(-50%)rotate(-9deg)}.nn .impression.pending{visibility:hidden}.nn .impression.inked{animation:.22s steps(2,end) both nn-ink}.nn .rubber{z-index:8;pointer-events:none;width:120px;height:160px;margin-left:-60px;position:absolute;left:50%}.nn .results{z-index:4;background:var(--sheet);color:var(--pen);border:2px solid var(--folder-edge);text-align:center;background-image:repeating-linear-gradient(transparent 0 22px, var(--sheet-line) 22px 23px);--noir-paper:#141c2e;--noir-fog:#55617a;--noir-steel:#c9d1dc;--noir-night:#ffffff59;--noir-ink:#e4e8ee;background-position:0 8px;gap:10px;margin:16px 14px 0;padding:14px 16px 16px;animation:.46s steps(8,end) both nn-rise;display:grid;position:relative;transform:rotate(-.6deg);box-shadow:4px 5px #00000073}.nn .results .stampmini{font-family:var(--px);letter-spacing:.14em;text-transform:uppercase;border:3px double;justify-self:center;padding:2px 10px;font-size:14px;transform:rotate(-6deg)}.nn .results h2{font-family:var(--tw);font-size-adjust:.56;margin:0;font-size:28px;font-weight:400}.nn .results .ans{font-family:var(--tw);font-size-adjust:.56;margin:0;font-size:20px}.nn .results .reopen{color:var(--pen-soft);text-underline-offset:4px;background:0 0;border:0;font-size:13px;text-decoration:underline}.nn .after-slip{padding:18px 14px max(18px, env(safe-area-inset-bottom))}.nn .dock{z-index:5;padding:10px 14px max(14px, env(safe-area-inset-bottom));border-top:2px solid var(--steel);background:var(--ink);flex:none;grid-template-columns:minmax(0,1fr);gap:8px;display:grid}.nn .warnline{font-family:var(--tw);font-size-adjust:.56;text-align:center;color:var(--paper);border:2px solid var(--red);background:#d8343f26;margin:0;padding:3px 10px;font-size:21px;animation:2.4s step-end infinite nn-flicker}.nn .status{justify-content:space-between;align-items:center;gap:8px;min-height:20px;font-size:13px;display:flex}.nn .status .count{color:var(--fog);flex:none}.nn .dym{gap:8px;display:flex}.nn .dym button{flex:1;padding:8px}.nn .dym .no{border:2px solid var(--slate);color:var(--paper);background:0 0}.nn form.guess{gap:8px;display:flex}.nn form.guess input{background:var(--night);min-width:0;color:var(--paper);border:2px solid var(--slate);font-family:var(--tw);font-size-adjust:.56;border-radius:0;flex:1;padding:8px 12px;font-size:22px}.nn form.guess input::placeholder{color:#6e86a6cc}.nn form.guess input:focus{border-color:var(--paper);outline:none}.nn form.guess.shake{animation:.32s steps(6,end) nn-shake}.nn .stage canvas{transition:height .24s steps(4,end)}.nn.typing .stage canvas{aspect-ratio:auto;height:64px}.nn.typing .clues li.redacted,.nn.typing .topbar .name{display:none}.nn.jolt{animation:.26s steps(5,end) both nn-jolt}.nn .pop{animation:.3s steps(3,end) both nn-pop}@keyframes nn-sign-on{0%{opacity:0}30%{opacity:.8}35%{opacity:.1}55%{opacity:1}60%{opacity:.3}to{opacity:1}}@keyframes nn-slap{0%{opacity:0;transform:translateY(-60px)scale(1.18)rotate(-5deg)}60%{opacity:1;transform:translateY(4px)scale(.98)rotate(1deg)}to{opacity:1;transform:none}}@keyframes nn-cover-open{0%{transform:rotateY(0)}to{visibility:hidden;transform:rotateY(-178deg)}}@keyframes nn-cover-close{0%{transform:rotateY(-178deg)}to{transform:rotateY(0)}}@keyframes nn-pull{0%{transform:none}20%{transform:translate(-10px,4px)rotate(-1deg)}to{opacity:.9;transform:translate(130%,40px)rotate(12deg)}}@keyframes nn-rise{0%{opacity:0;transform:translateY(40px)rotate(2deg)}to{opacity:1;transform:rotate(-.6deg)}}@keyframes nn-jolt{0%,to{transform:none}20%{transform:translate(-3px,2px)}40%{transform:translate(3px,-1px)}60%{transform:translate(-2px,1px)}80%{transform:translate(1px)}}@keyframes nn-unredact{0%{clip-path:inset(0)}to{clip-path:inset(0 0 0 100%)}}@keyframes nn-glass{0%{opacity:0;left:-14px}8%{opacity:1}88%{opacity:1}to{opacity:0;left:calc(100% - 30px)}}@keyframes nn-row-in{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:none}}@keyframes nn-strike{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes nn-circle{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}@keyframes nn-label-stamp{0%{opacity:0;transform:scale(1.5)}to{opacity:1;transform:none}}@keyframes nn-hot-ink{0%,50%{background:var(--red);color:var(--sheet)}to{background:0 0}}@keyframes nn-ember{0%,to{background:var(--red)}50%{background:#a5262f}}@keyframes nn-pop{0%{transform:scale(1.25)}to{transform:none}}@keyframes nn-flicker{0%,18%,22%,60%,64%,to{opacity:1}20%,62%{opacity:.35}}@keyframes nn-shake{0%,to{transform:none}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}@keyframes nn-ink{0%{opacity:0;transform:translate(-50%)rotate(-9deg)scale(1.08)}to{opacity:.95;transform:translate(-50%)rotate(-9deg)}}@keyframes nn-fade-in{0%{opacity:0}to{opacity:1}}@keyframes nn-fade-out{0%{opacity:1}to{opacity:0;visibility:hidden}}@keyframes nn-fade-ink{0%{opacity:0}to{opacity:.95}}.nn.calm .titlebits h1 span{animation:.6s both nn-fade-in}.nn.calm .folder.slap{animation:.3s both nn-fade-in}.nn.calm .folder.pull{animation:.5s forwards nn-fade-out}.nn.calm .cover.opening{animation:.4s forwards nn-fade-out}.nn.calm .cover.closing{animation:.4s both nn-fade-in}.nn.calm .redact.go{animation:.6s both nn-fade-out}.nn.calm .leads li.fresh{animation:.3s both nn-fade-in}.nn.calm .leads .word.strike:after{animation:.3s both nn-fade-in;transform:scaleX(1)}.nn.calm .leads .word.circling:before,.nn.calm .leads .lab.stamp-in,.nn.calm .leads .lab.flash{animation:.3s both nn-fade-in}.nn.calm .impression.inked{animation:.4s both nn-fade-ink;transform:translate(-50%)rotate(-9deg)}.nn.calm .results{animation:.4s both nn-fade-in}.nn.calm .cells i.ember,.nn.calm .warnline,.nn.calm .pop,.nn.calm form.guess.shake,.nn.calm.jolt{animation:none}.nn.calm .stage canvas,.nn.calm .cells i{transition:none}.nn.calm .glass,.nn.calm .rubber{display:none}
