.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}}