/* The estimator course (/toolbox/estimator/) and its day view (/toolbox/estimate/).
   Flat and sharp, as the rest of the toolbox: borders over shadows, no rounded chips. */

/* The site defines no --link; the labs draw cursors, observations and likelihoods with it, so it is
   set here to the house vermillion (viz/style.py NEGATIVE, Okabe-Ito), scoped to these two pages. */
.est { --link: #D55E00; }
.est .lab { margin: .75rem 0 0; }
.est .lab h3 { font-size: var(--fs-sm, .95rem); margin: 1.1rem 0 .3rem; }
.est .controls { display: flex; flex-wrap: wrap; gap: .6rem 1.4rem; align-items: flex-end; margin: .5rem 0 .75rem; }
/* Block labels, not flex: a flex label would split "N<sub>t</sub>" into separate rows. */
.est .controls label { display: block; font-size: var(--fs-xs, .85rem); min-width: 14rem; flex: 1 1 14rem; }
.est .controls label.check { min-width: auto; flex: 0 1 auto; }
.est .controls select, .est .controls input[type="range"] { display: block; width: 100%; margin-top: .2rem; }
.est .controls label.check input { display: inline; width: auto; margin: 0 .3rem 0 0; }
/* Row headers carry math (μ, λ, σ): the table style's small capitals would turn μ into M. */
.est .data-table th { text-transform: none; letter-spacing: normal; font-family: inherit; font-size: var(--fs-xs, .85rem); }
.est .controls button, .est .lab button:not(.heat button) { font: inherit; font-size: var(--fs-xs, .85rem); padding: .3rem .7rem; border: 1px solid var(--ink-45); background: var(--paper); cursor: pointer; }
.est .controls button:hover { border-color: var(--ink); }
.est .key { display: flex; flex-wrap: wrap; gap: .4rem 1.2rem; font-size: var(--fs-xs, .85rem); margin: .3rem 0 .9rem; }
.est .key span { display: inline-block; }
.est .key i { display: inline-block; vertical-align: middle; margin-right: .4rem; width: 1.4rem; border-top: 2px solid var(--signal-ink); }
.est .key i.bar { border-top: 6px solid var(--signal-ink); opacity: .8; }
.est .key i.dash { border-top: 2px dashed var(--ink); }
.est .key i.dash.orange { border-top-color: #d55e00; }
.est .key i.dot { border-top: 2px dashed var(--link); }
.est .key i.link { border-top-color: var(--link); }
.est .key i.band { border-top: 8px solid color-mix(in srgb, var(--signal-ink) 25%, transparent); }
.est .key i.wide { border-top: 8px solid var(--paper-sunk); }
.est .key i.thick { border-top: 4px solid var(--ink-45); }
.est .key i.grey { border-top: 4px solid var(--ink-45); }
.est .hint { font-size: var(--fs-xs, .85rem); color: var(--ink-70); }
.est .equation { font-family: var(--font-mono); font-size: var(--fs-xs, .85rem); background: var(--paper-sunk); padding: .4rem .6rem; border-left: 2px solid var(--signal-ink); }
.est .split { display: grid; grid-template-columns: repeat(auto-fit, minmax(18rem, 1fr)); gap: 1rem 2rem; }
.est .data-table { margin: .4rem 0 1rem; }

/* The course text around the labs. */
.est-course .eq { font-family: var(--font-mono); font-size: .95rem; background: var(--paper-sunk); padding: .7rem .9rem; margin: .8rem 0; border-left: 3px solid var(--signal-ink); overflow-x: auto; line-height: 1.7; }
.est-course .eq small { color: var(--ink-70); font-size: .8rem; }
.est-course details.proof { border: 1px solid var(--rule); padding: .4rem .8rem; margin: .8rem 0; }
.est-course details.proof summary { cursor: pointer; font-weight: 600; }
.est-course details.proof[open] summary { margin-bottom: .5rem; }
.est-course details.proof ol, .est-course details.proof p { font-size: .95rem; }
.est-course .src { display: block; font-size: var(--fs-xs, .85rem); color: var(--ink-70); margin-top: .3rem; }
.est-course .model-sketch { max-width: 44rem; margin: 1rem 0; }
.est-course .model-sketch svg { width: 100%; height: auto; }
.est-course .model-sketch text { font: 13px var(--font-mono); fill: var(--ink); }
.est-course .frozen-stamp { font-family: var(--font-mono); font-size: var(--fs-xs, .85rem); border: 1px solid var(--rule); padding: .4rem .6rem; display: inline-block; }
