.nd-tool{--nd-warn:#ef4444;--nd-stable:#f59e0b}.nd-headline{border-left:4px solid var(--accent);background:var(--bg-surface);gap:4px;margin:12px 0;padding:18px 20px;display:grid}.nd-headline span{color:var(--text-dim);letter-spacing:.09em;text-transform:uppercase;font-size:.78rem;font-weight:800}.nd-headline strong{max-width:760px;color:var(--text);font-size:clamp(1.15rem,3.4vw,1.7rem);line-height:1.22}.nd-framing{border:1px solid var(--border);background:var(--bg-surface);margin:14px 0;padding:16px}.nd-framing-title{color:var(--text);margin:0 0 10px;font-size:.95rem}.nd-framing-grid{grid-template-columns:repeat(auto-fit,minmax(min(180px,100%),1fr));gap:12px;display:grid}.nd-framing-grid>div{gap:4px;display:grid}.nd-framing-grid span{color:var(--text-dim);font-size:.82rem}.nd-framing-grid strong{color:var(--text);font-variant-numeric:tabular-nums;font-size:1.35rem}.nd-framing-note{color:var(--text-dim);margin:10px 0 0;font-size:.86rem}.nd-controls{margin:14px 0}.nd-control-grid{grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:12px 20px;display:grid}.nd-control-grid label{color:var(--text);grid-template-columns:1fr auto;align-items:center;gap:4px 10px;font-size:.88rem;font-weight:600;display:grid}.nd-control-grid input[type=range]{width:100%;accent-color:var(--accent);grid-column:1/-1}.nd-control-grid output{color:var(--accent);font-variant-numeric:tabular-nums;font-size:.95rem;font-weight:700}.nd-number-grid{grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:12px;margin-top:12px;display:grid}.nd-number-grid label{color:var(--text);gap:5px;font-size:.86rem;font-weight:600;display:grid}.nd-number-grid input{width:100%}.nd-results{background:var(--border);grid-template-columns:repeat(auto-fit,minmax(min(170px,100%),1fr));gap:1px;padding:0;display:grid;overflow:hidden}.nd-results>div{background:var(--bg-surface);gap:4px;padding:13px;display:grid}.nd-results span{color:var(--text-dim);font-size:.8rem}.nd-results strong{color:var(--text);font-variant-numeric:tabular-nums;font-size:1.12rem}.nd-results strong span{color:inherit;font-size:inherit}.nd-assumption{border-left:3px solid var(--text-dim);color:var(--text-dim);background:var(--bg-surface);margin:10px 0 16px;padding:10px 12px;font-size:.86rem}
