/* The stock-price curve is the focal point; supporting calculations stay compact. */
.curve-controls{display:grid;grid-template-columns:1.1fr 1.5fr 1fr;gap:14px;margin:24px 0 8px}
.curve-controls label{font-size:13px}.curve-controls select,.stock-entry input,.stock-entry button{height:44px}
.stock-control{min-width:0}.stock-control>label{margin-bottom:6px}.stock-entry{display:flex;gap:6px}.stock-entry input{min-width:0}.stock-entry button{padding:0 12px}
.tool-note{font-size:12px;margin-bottom:18px}
.curve-layout{display:grid;grid-template-columns:minmax(0,1fr) 282px;border:1px solid var(--line);border-radius:7px;overflow:hidden}
.curve-plot{padding:20px;min-width:0}.plot-heading{display:flex;justify-content:space-between;align-items:start;gap:16px}
.plot-heading h2,.order-preview h2{font:25px/1.2 Georgia,serif;margin:0 0 5px}.plot-heading p{font-size:13px}
.curve-legend{display:flex;gap:16px;font-size:12px;white-space:nowrap;padding-top:5px}.curve-legend span:before{content:'';display:inline-block;width:20px;margin-right:6px;vertical-align:middle;border-top:3px solid #83cddd}.curve-legend .bid-key:before{border-color:#d7b268;border-top-style:dashed}
.curve-range{display:flex;gap:6px;flex-wrap:wrap;margin-top:18px}.curve-range button{min-height:36px;padding:6px 11px;font-size:12px}.curve-range button[aria-pressed=true]{border-color:var(--gold);color:var(--gold)}#export-curve{margin-left:auto;background:transparent;border-color:transparent;color:var(--muted)}#export-curve:hover{color:var(--ink);border-color:var(--line)}
#curve{margin:12px 0 4px;min-width:0}#curve:focus-visible{outline:2px solid var(--gold);outline-offset:3px}#curve svg{display:block;width:100%;height:auto}#curve text{fill:var(--muted);font-size:12px;font-family:inherit}.curve-caption{font-size:12px;line-height:1.55;max-width:85ch;margin:2px 0 0}
.curve-bounds{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;border-top:1px solid var(--line);padding-top:14px;margin:14px 0 0}.curve-bounds dt{color:var(--muted);font-size:12px}.curve-bounds dd{margin:5px 0 0;font-size:13px;line-height:1.5;font-variant-numeric:tabular-nums}
.order-preview{padding:20px;background:var(--panel);border-left:1px solid var(--line)}.order-preview h2{font-size:23px;margin-bottom:16px}.order-side{display:flex;gap:7px;margin-bottom:16px}.order-side button{flex:1}.order-side button[aria-pressed=true]{background:var(--gold);color:var(--space);border-color:var(--gold);font-weight:650}.order-preview>label{margin-bottom:6px}.order-preview input[type=range]{padding:0;accent-color:var(--gold);height:26px;margin-top:7px}
#order-values{margin:12px 0 18px}#order-values>div{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:9px 0;border-bottom:1px solid var(--line)}#order-values dt{font-size:12px;color:var(--muted)}#order-values dd{margin:0;font-size:14px;font-variant-numeric:tabular-nums;font-weight:600}#order-values>div:first-child{padding-top:0}#order-values>div:first-child dd{color:var(--gold);font-size:21px}
.ship-fit summary{cursor:pointer;color:var(--ink);font-size:13px;min-height:44px}.ship-fit summary span{display:block;color:var(--muted);font-size:12px;margin:4px 0 0 16px}.ship-fit summary span[data-over=true],#hold-fit[data-over=true]{color:#edbcaa}.ship-fit label{margin-top:12px;font-size:12px}.ship-fit select{margin-top:0}#fill-hold{width:100%;margin-top:10px}#hold-fit{font-size:12px;line-height:1.6;margin-top:10px}.order-note{font-size:12px;line-height:1.55;margin-top:16px}
.curve-method{max-width:90ch;margin-top:20px}.curve-method summary{color:var(--gold);cursor:pointer;min-height:36px}.curve-method p{font-size:13px;line-height:1.65;margin:10px 0}.curve-method a{display:inline-block;color:var(--gold);font-size:13px;margin:4px 20px 0 0}#curve-status{font-size:12px;margin-top:18px}
.curve-link{color:var(--gold);font-size:11px;display:inline-block;margin-top:5px}a.curve-item{color:inherit;text-decoration:none;border-bottom:1px dotted var(--gold)}a.curve-item:hover{color:var(--gold)}
@media(max-width:1000px){.curve-layout{grid-template-columns:minmax(0,1fr) 250px}.curve-controls{grid-template-columns:1fr 1.3fr}.stock-control{grid-column:1/-1}.stock-entry{max-width:400px}.curve-plot,.order-preview{padding:16px}.plot-heading{flex-direction:column;gap:8px}.curve-range{gap:3px}.curve-range button{padding:6px 8px}}
@media(max-width:760px){.curve-layout{grid-template-columns:1fr}.order-preview{border-left:0;border-top:1px solid var(--line)}.plot-heading{flex-direction:row}.curve-range{gap:6px}.curve-bounds{gap:12px}.order-preview{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.order-preview h2,.order-note{grid-column:1/-1}.order-side{grid-column:1;grid-row:2}.order-preview>label{grid-column:1;grid-row:3}.order-preview>input{grid-column:1}.order-preview>input[type=number]{grid-row:4}.order-preview>input[type=range]{grid-row:5}#order-values{grid-column:2;grid-row:2/span 5;margin-top:0}.ship-fit{grid-column:1;margin:16px 0}.order-note{margin-top:4px}}
@media(max-width:480px){.curve-controls{grid-template-columns:1fr;gap:12px;margin-top:18px}.stock-entry{max-width:none}.plot-heading{flex-direction:column;gap:8px}.curve-plot,.order-preview{padding:14px}.curve-range button{font-size:12px;padding:6px 8px;min-height:40px}#export-curve{margin-left:0}.curve-bounds{grid-template-columns:1fr;gap:8px}.curve-bounds>div{display:flex;justify-content:space-between;align-items:baseline;gap:10px}.curve-bounds dd{margin:0}.order-preview{display:block}.order-preview>label{margin-top:12px}#order-values{margin-top:14px}.ship-fit{margin-top:16px}.page-heading{gap:12px}.tool-note{line-height:1.55}}

/* The entire physical stock range is the centered S; no separate range switch. */
.plot-tools{display:flex;align-items:center;gap:16px;flex-wrap:wrap;justify-content:flex-end}.plot-tools #export-curve{margin:0;min-height:36px;padding:6px 8px;font-size:12px}.plot-tools .curve-legend{padding:0}.plot-heading{align-items:center}#curve{margin-top:20px}
@media(max-width:1000px){.plot-tools{justify-content:flex-start;gap:10px}.plot-heading{align-items:flex-start}}
@media(max-width:480px){.plot-tools{width:100%;justify-content:space-between}.plot-tools #export-curve{min-height:40px}}
