.ng{font-family:var(--body)}.ng-changed{display:inline-flex;align-items:center;gap:9px;font-family:var(--mono);font-size:10px;letter-spacing:.08em;color:#96660d;background:#e6a5311a;border:1px solid rgba(230,165,49,.45);border-radius:4px;padding:6px 12px;margin-bottom:22px}.ng-changed .d{width:7px;height:7px;border-radius:50%;background:var(--amber);flex:none;animation:ngPulse 2.2s ease-in-out infinite}@keyframes ngPulse{0%,to{opacity:1}50%{opacity:.35}}.ng-grid{display:grid;grid-template-columns:1.5fr .9fr;gap:clamp(20px,3vw,36px);align-items:stretch}@media(max-width:940px){.ng-grid{grid-template-columns:1fr}}.ng-diag{position:relative;min-height:480px;aspect-ratio:10/7;background:var(--card);border:1px solid var(--line-d);border-radius:var(--r-stage);box-shadow:var(--sh-sm);overflow:hidden}.ng-diag:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(rgba(10,26,48,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(10,26,48,.035) 1px,transparent 1px);background-size:36px 36px}.ng-diag svg{position:absolute;inset:0;width:100%;height:100%}.ng-diag line{stroke:#0a1a303d;stroke-width:1.3;vector-effect:non-scaling-stroke;transition:stroke .2s,stroke-width .2s}.ng-diag line.hot{stroke:var(--cyan);stroke-width:2.4}.ng-elabel{position:absolute;transform:translate(-50%,-50%);font-family:var(--mono);font-size:8.5px;letter-spacing:.03em;color:var(--muted);background:#ffffffd9;padding:1px 6px;border-radius:3px;white-space:nowrap;pointer-events:none;transition:color .2s;z-index:1}.ng-elabel.hot{color:#0b7ea6}.ng-nd{position:absolute;transform:translate(-50%,-50%);z-index:2;width:clamp(104px,24vw,148px);background:var(--card);border:1px solid var(--line-d);border-radius:var(--r-panel);box-shadow:var(--sh-sm);padding:10px 12px 11px;text-align:left;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.ng-nd:hover,.ng-nd:focus-visible{transform:translate(-50%,-50%) translateY(-2px);box-shadow:var(--sh-md);border-color:var(--cyan);outline:none}.ng-nd.sel{border-color:var(--cyan);box-shadow:0 0 0 1px var(--cyan),var(--sh-md)}.ng-nd .num{display:block;font-family:var(--display);font-weight:700;font-size:13px;letter-spacing:.01em;color:var(--text)}.ng-nd .ty{display:block;font-family:var(--mono);font-size:8.5px;letter-spacing:.14em;text-transform:uppercase;margin-top:3px}.ng-nd .nm{display:block;font-size:10px;line-height:1.4;color:var(--muted);margin-top:4px}.ng-nd .new{position:absolute;top:-9px;right:-7px;font-family:var(--mono);font-size:8.5px;font-weight:500;letter-spacing:.08em;background:var(--cyan);color:var(--ink);border-radius:3px;padding:2px 6px}.ng-nd.A .ty{color:var(--blue)}.ng-nd.B .ty{color:#0b7ea6}.ng-nd.C .ty{color:#96660d}.ng-nd.P .ty{color:#0d7a49}.ng-nd.core{border-color:#34d2f28c}.ng-panel{background:var(--ink);border-radius:var(--r-stage);padding:24px 24px 22px;color:#fff;display:flex;flex-direction:column;box-shadow:0 24px 60px -18px #02081480}.ng-sel{font-family:var(--display);font-weight:700;font-size:19px;letter-spacing:-.01em}.ng-sel .ty{font-family:var(--mono);font-weight:500;font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--cyan);border:1px solid rgba(52,210,242,.45);border-radius:3px;padding:3px 8px;margin-right:10px;vertical-align:2px}.ng-desc{font-size:13px;font-weight:300;line-height:1.65;color:#b9c8dd;margin:12px 0 18px}.ng-gives-h{font-family:var(--mono);font-size:9px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:#ffffff73;margin-bottom:9px}.ng-gives{display:flex;flex-direction:column;gap:6px;flex:1}.ng-gi{font-family:var(--mono);font-size:10.5px;line-height:1.5;color:#ffffffb8;background:#ffffff0d;border:1px solid var(--line);border-radius:4px;padding:8px 11px}.ng-gi .ar{color:var(--cyan);margin-right:8px}.ng-gi.none{color:#fff6}.ng-legend{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:20px;border-top:1px solid var(--line);padding-top:14px}.ng-legend .lg{display:inline-flex;align-items:center;gap:7px;font-family:var(--mono);font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:#ffffff8c}.ng-legend .lg i{width:7px;height:7px;border-radius:50%;flex:none}.ng-legend .lg.A i{background:var(--blue)}.ng-legend .lg.B i{background:var(--cyan)}.ng-legend .lg.C i{background:var(--amber)}.ng-legend .lg.P i{background:var(--ok)}.ng-log{margin-top:26px;background:var(--card);border:1px solid var(--line-d);border-radius:var(--r-stage);box-shadow:var(--sh-sm);padding:24px 26px}.ng-tag{font-family:var(--mono);font-size:9.5px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:#b02a20;background:#e8483a14;border:1px solid rgba(232,72,58,.35);border-radius:4px;padding:5px 10px}.ng-logh{font-size:clamp(1.15rem,2vw,1.45rem);font-weight:700;margin:14px 0 16px}.ng-rows .cr{display:grid;grid-template-columns:.95fr 1.15fr 1.4fr;gap:10px 18px;align-items:baseline;padding:11px 0;border-top:1px solid var(--line-d)}.ng-rows .cr .old{font-family:var(--mono);font-size:11px;color:var(--muted);text-decoration:line-through;text-decoration-color:#e8483a8c}.ng-rows .cr .new{font-family:var(--mono);font-size:11px;font-weight:500;color:#0d7a49}.ng-rows .cr .what{font-size:12.5px;line-height:1.55;color:var(--text-2)}@media(max-width:820px){.ng-rows .cr{grid-template-columns:1fr;gap:5px}}@media(prefers-reduced-motion:reduce){.ng-changed .d{animation:none}.ng-nd,.ng-diag line{transition:none}}
