/* Step 03 — scoped page presentation only; no global Warlock changes. */
.nb-generator-page .nb-generator-section{padding:clamp(18px,3vw,46px)}
.nb-generator-page .nb-generator-choice-grid{display:grid;grid-template-columns:minmax(0,38.2114fr) minmax(0,61.7886fr);gap:clamp(12px,2vw,25px);align-items:start}
.nb-generator-page .nb-generator-choice-grid>*,.nb-generator-page .nb-generator-charts>*{min-width:0}
.nb-generator-page .nb-generator-specs{display:grid;grid-template-columns:minmax(110px,43%) minmax(0,57%);gap:0;margin:1rem 0;border-top:1px solid var(--r-rule)}
.nb-generator-page .nb-generator-specs dt,.nb-generator-page .nb-generator-specs dd{margin:0;padding:9px 4px;border-bottom:1px solid var(--r-rule);font-size:.82rem;line-height:1.4;overflow-wrap:anywhere}
.nb-generator-page .nb-generator-specs dt{font-weight:700}
.nb-generator-page .nb-generator-specs dd{text-align:right}
.nb-generator-page .nb-generator-select-note{padding:10px 12px;border-left:3px solid var(--r-ink);background:var(--r-wash);margin:12px 0;font-size:.85rem;line-height:1.5}
.nb-generator-page .nb-generator-pdf{display:block;margin:13px 0 5px;padding:11px;border:1px solid var(--r-rule);border-radius:5px;font-weight:700;font-size:.85rem}
.nb-generator-page .nb-generator-saved{font-size:.78rem;opacity:.8;margin-top:12px}
.nb-generator-page .nb-generator-drawing-panel{background:var(--r-wash)}
.nb-generator-page .nb-generator-drawing-panel h3{font:500 1.6rem Georgia,serif;margin:.45rem 0 .8rem}
.nb-generator-page #generatorDrawing{display:block;width:100%;height:auto;max-height:570px;object-fit:contain;background:#fff;border:1px solid #bbb;border-radius:6px}
.nb-generator-page .nb-generator-graph-summary{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:13px;padding:12px;border:1px solid var(--r-rule);border-radius:7px;background:var(--r-wash)}
.nb-generator-page .nb-generator-graph-summary label{font-weight:700;font-size:.83rem}
.nb-generator-page .nb-generator-graph-tag{font-size:.82rem;font-weight:700;flex:1 1 210px}
.nb-generator-page #graphRpm{flex:1 1 200px;min-width:140px;accent-color:var(--r-ink)}
.nb-generator-page .nb-generator-live-values{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:12px 0}
.nb-generator-page .nb-generator-live-values span{display:flex;flex-direction:column;gap:4px;background:var(--r-wash);border:1px solid var(--r-rule);border-radius:7px;padding:10px;min-width:0}
.nb-generator-page .nb-generator-live-values small{font-size:.73rem;line-height:1.35}.nb-generator-page .nb-generator-live-values strong{font:500 clamp(1.1rem,2vw,1.65rem) Georgia,serif}
.nb-generator-page .nb-generator-evidence-warning{border-left:3px solid var(--r-ink);background:var(--r-wash);padding:13px;font-size:.88rem;line-height:1.55;margin:13px 0}
.nb-generator-page .nb-generator-charts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.nb-generator-page .nb-generator-charts .plot{height:clamp(290px,30vw,400px);background:var(--canvas-background,var(--page-background-color))}
.nb-generator-page .nb-generator-charts h3{font:500 clamp(1.15rem,1.9vw,1.5rem) Georgia,serif;margin:5px 0 15px}
.nb-generator-page .nb-generator-details{border:1px solid var(--r-rule);border-radius:7px;padding:13px 18px;margin-top:18px;background:var(--r-wash);font-size:.85rem;line-height:1.55;overflow-wrap:anywhere}
.nb-generator-page .nb-generator-details summary{font-weight:700;cursor:pointer}
.nb-generator-page .nb-generator-details p{margin:13px 0 0}
.nb-generator-page .nb-generator-specs dd small{display:block;font-size:.72rem;line-height:1.35;opacity:.74;margin-top:2px}
.nb-generator-page .nb-generator-price-note{margin:8px 0 16px;font-size:.77rem;line-height:1.45;opacity:.86}
.nb-generator-page .nb-performance-intro-summary h2{font:500 clamp(1.3rem,2.5vw,2.1rem) Georgia,serif;margin:8px 0}
.nb-generator-page .nb-generator-intro .nb-lead-col{min-height:clamp(470px,42vw,710px)}
@media(max-width:900px){.nb-generator-page .nb-generator-charts{grid-template-columns:minmax(0,1fr)}}
@media(max-width:700px){.nb-generator-page .nb-generator-choice-grid{grid-template-columns:minmax(0,1fr)}.nb-generator-page .nb-generator-live-values{grid-template-columns:repeat(2,minmax(0,1fr))}.nb-generator-page .nb-generator-charts .plot{height:370px}.nb-generator-page .nb-generator-graph-summary{gap:10px}.nb-generator-page .nb-generator-graph-summary input{width:100%}}
@media(max-width:420px){.nb-generator-page .nb-generator-live-values{gap:7px}.nb-generator-page .nb-generator-live-values span{padding:9px}.nb-generator-page .nb-generator-charts .plot{height:350px}}

/* Brick 21: one compact CSV toolbar with explicit browser save. */
.nb-generator-page .nb-my-generator-actions{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 6px}
.nb-generator-page .nb-my-generator-action{appearance:none;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--r-rule);border-radius:5px;background:var(--r-wash);color:var(--r-ink);padding:8px 12px;font:700 .8rem/1.35 Arial,sans-serif;text-decoration:none;cursor:pointer}
.nb-generator-page .nb-my-generator-action:disabled{opacity:.48;cursor:not-allowed}
.nb-generator-page .nb-my-generator-action:hover,.nb-generator-page .nb-my-generator-action:focus-visible{outline:2px solid var(--r-ink);outline-offset:2px}
.nb-generator-page .nb-my-generator-import-status{font-size:.76rem;line-height:1.45;overflow-wrap:anywhere;margin:4px 0 14px;opacity:.85}
.nb-generator-page .nb-my-generator-import-status.is-error{color:#a63824;font-weight:700}
.nb-generator-page .nb-my-generator-table{overflow-x:auto;margin-top:12px}
.nb-generator-page .nb-my-generator-table table{border-collapse:collapse;width:100%;min-width:560px;font-size:.78rem}
.nb-generator-page .nb-my-generator-table th,.nb-generator-page .nb-my-generator-table td{border-bottom:1px solid var(--r-rule);padding:8px;text-align:right}
.nb-generator-page .nb-my-generator-table th:first-child,.nb-generator-page .nb-my-generator-table td:first-child{text-align:left}
.nb-generator-page #myGeneratorMeasurements[hidden],.nb-generator-page #generatorWindingGroup[hidden],.nb-generator-page [hidden]{display:none!important}
.nb-generator-page .nb-generator-charts .plot>p{padding:16px;font-size:.85rem}
