.nchart{margin:22px 0;padding:16px 16px 10px;border:1px solid var(--line,#e7e2d8);border-radius:14px;background:linear-gradient(180deg,#fff,var(--cream,#faf8f3));box-shadow:0 1px 2px rgba(26,23,20,.04)}.nchart-title{font-family:var(--serif,Georgia,serif);font-size:16px;font-weight:600;color:var(--ink,#1a1714);margin:0 0 6px}.nchart-plot{width:100%}.nchart-svg{width:100%;height:auto;display:block;overflow:visible}.nchart-axis{stroke:var(--line,#e7e2d8);stroke-width:1}.nchart-val{font-family:var(--mono,ui-monospace,monospace);font-weight:600;fill:var(--ink,#1a1714)}.nchart-cat,.nchart-val{font-size:9px;text-anchor:middle}.nchart-cat{font-family:var(--sans,system-ui,sans-serif);fill:var(--muted,#6b655c)}.nchart-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:8px;padding-top:8px;border-top:1px dashed var(--line,#e7e2d8)}.nchart-note{font-size:12px;color:var(--moss-dark,#2c4f3b);font-weight:600}.nchart-brand{font-size:11px;color:var(--muted,#9a948a);letter-spacing:.02em}.nchart-bar{transform-box:fill-box;transform-origin:bottom}.nchart-line{stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.nchart-dot{opacity:1}.nchart.play .nchart-bar{animation:nchart-grow .7s cubic-bezier(.22,1,.36,1) both;animation-delay:calc(var(--i, 0) * 90ms)}.nchart.play .nchart-line{stroke-dasharray:1;stroke-dashoffset:1;animation:nchart-draw 1s ease-out .1s both}.nchart.play .nchart-dot{animation:nchart-pop .4s ease-out both;animation-delay:calc(.3s + var(--i, 0) * .14s)}.nchart.play .nchart-cat,.nchart.play .nchart-val{animation:nchart-fade .5s ease-out both;animation-delay:calc(.2s + var(--i, 0) * 90ms)}@keyframes nchart-grow{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes nchart-draw{to{stroke-dashoffset:0}}@keyframes nchart-pop{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}@keyframes nchart-fade{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.nchart.play .nchart-bar,.nchart.play .nchart-cat,.nchart.play .nchart-dot,.nchart.play .nchart-line,.nchart.play .nchart-val{animation:none}.nchart.play .nchart-line{stroke-dashoffset:0}}.nchart-line2{stroke-width:2;stroke-dasharray:5 3}.nchart-legend{display:flex;flex-wrap:wrap;gap:16px;margin:2px 0 10px;font-size:12px;color:var(--ink-soft,#4a443d)}.nchart-legend span{display:inline-flex;align-items:center;gap:6px}.nchart-legend i{width:14px;height:3px;border-radius:2px;display:inline-block}.npie{display:flex;gap:20px;align-items:center;flex-wrap:wrap;justify-content:center}.npie-svg{width:168px;height:auto;flex:0 0 auto}.npie-slice{stroke:#fff;stroke-width:1.5;transform-origin:50% 50%}.nchart.play .npie-slice{opacity:0;animation:npie-in .5s ease forwards;animation-delay:calc(var(--i) * .07s)}@keyframes npie-in{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.npie-legend{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:7px;font-size:13px;min-width:150px;flex:1 1 150px}.npie-legend li{display:flex;align-items:center;gap:9px}.npie-dot{width:11px;height:11px;border-radius:3px;flex:0 0 auto}.npie-lab{color:var(--ink,#1a1714)}.npie-legend b{margin-left:auto;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--ink-soft,#4a443d);font-weight:600;white-space:nowrap}@media (prefers-reduced-motion:reduce){.nchart.play .npie-slice{animation:none;opacity:1}}