/* "Lagrange interpolation" app. Builds on heat.css (cards, buttons, metrics, course); ids start with i-. */
.interp .h-eq{min-height:0}
.interp .h-mm{font-size:.85em;letter-spacing:0;font-weight:400;color:var(--fg)}
.i-stagewrap{margin:1.2rem 1.4rem .6rem}
.i-stagewrap canvas{width:100%;aspect-ratio:1.7;display:block;background:var(--bg);border:1px solid var(--line);border-radius:6px}
.i-chart{margin:.6rem 1.4rem 0}
.i-chart canvas{width:100%;height:250px;display:block;background:var(--bg);border:1px solid var(--line);border-radius:6px}
.i-keys{display:flex;flex-wrap:wrap;gap:.2rem .9rem}
.i-keyrow{margin:.8rem 1.4rem 0;font-size:.74rem;color:var(--muted)}
.i-keyrow:empty{display:none}
.i-key{display:inline-flex;align-items:center;font-size:.74rem;white-space:nowrap}
.i-key:before{content:'';display:inline-block;width:1rem;height:2px;margin-right:.4rem;background:var(--c)}
.i-key.i-dotkey:before{width:.6rem;height:.6rem;border-radius:50%}
.i-caption{margin:.3rem 1.4rem 0;font-size:.78rem;color:var(--muted);min-height:1.2rem}
.i-checks{display:flex;flex-wrap:wrap;gap:.3rem 1.1rem;margin:.6rem 1.4rem 1rem;font-size:.8rem;color:var(--muted)}
.i-note{margin:.5rem 1.4rem 1.2rem!important;font-size:.78rem;color:var(--muted)}
.i-metnote{margin:.6rem 1.4rem 1rem!important}
.i-selrow{display:flex;gap:1rem;flex-wrap:wrap;margin:.2rem 1.4rem 0}
.i-selrow .h-field{flex:1 1 12rem;margin-bottom:.4rem}
.i-selrow .h-field input,.i-selrow .h-field select{font-size:.85rem}
.i-out{font:.78rem var(--mono);color:var(--fg);float:right}
.interp .p-rng{width:100%;padding:0;margin-top:.35rem;accent-color:var(--accent);display:block}
.i-xcap{margin-top:.2rem!important}
.i-dataonly{display:none}
.i-isdata .i-dataonly{display:block}
.i-isdata .i-fnonly{display:none!important}
.i-glance .i-glgrid{display:grid;grid-template-columns:1fr 1fr;gap:0 1.2rem;padding-bottom:1rem}
.i-glance .i-glgrid>div{min-width:0}.i-glance .h-eq,.i-glance mjx-container[display=true]{overflow-x:auto;max-width:100%}.i-glance .i-glgrid.one{grid-template-columns:minmax(0,1fr)}.i-glance .i-gl{margin:1rem 1.4rem 0;font-size:.82rem;color:var(--muted)}
.i-tablewrap{margin:.8rem 1.4rem;overflow:auto;border:1px solid var(--line);border-radius:8px;background:var(--bg);max-height:20rem}
.i-table{width:100%;border-collapse:collapse;font:.76rem var(--mono)}
.i-table th,.i-table td{padding:.35rem .6rem;text-align:right;border-bottom:1px solid var(--line);white-space:nowrap}
.i-table thead th{position:sticky;top:0;background:var(--bg);color:var(--muted);font-size:.68rem;z-index:1}
.i-table tbody th{text-align:left;color:var(--fg)}
.i-table td.i-top{color:var(--accent);font-weight:700}
.i-etable td,.i-etable th{text-align:left}
.i-nform{margin:.4rem 1.4rem 1rem!important;font:.76rem/1.7 var(--mono);color:var(--muted);overflow-wrap:anywhere}
.i-nform:empty{display:none}
.h-ans table{border-collapse:collapse;margin:.8rem 0;font-size:.82rem;width:100%}
.h-ans table th,.h-ans table td{border-bottom:1px solid var(--line);padding:.35rem .5rem;text-align:left;vertical-align:top}
.h-ans table th{color:var(--fg)}
.h-ans code{font-size:.85em;background:var(--chip);padding:.05rem .3rem;border-radius:3px}
.h-ans .i-tbl{overflow-x:auto}
@media (max-width:900px){.i-glance .i-glgrid{grid-template-columns:1fr}}
@media (max-width:600px){.i-stagewrap{margin:1rem}.i-chart,.i-selrow,.i-tablewrap,.i-note,.i-checks,.i-caption{margin-left:1rem;margin-right:1rem}}

.i-sub th,.i-sub td{color:var(--muted);font-style:italic}
.i-neg th,.i-neg td{color:var(--accent2)}
.i-ok{color:var(--accent);font-weight:700}
.q-formula{margin:.8rem 0;font:.85rem var(--mono);color:var(--fg);overflow-wrap:anywhere}
.i-etext{margin:.4rem 1.4rem 1.2rem}
.i-etext p{margin:.5rem 0;font-size:.88rem}
@media (max-width:600px){.i-etext{margin-left:1rem;margin-right:1rem}}

/* Lagrange's idea card, user-function box, python block */
.i-useronly{display:none}
.i-isuser .i-useronly{display:block}
.i-useronly input{font-family:var(--mono);font-size:.85rem}
.i-exprmsg{min-height:1.1rem;margin:.2rem 0 .4rem!important}
.i-exprmsg.bad{color:var(--accent)}
.i-twin{display:grid;grid-template-columns:1fr 1fr;gap:0 1.2rem}
.i-twin>div{min-width:0}
.i-sub4{margin:1.1rem 1.4rem 0;font-size:.9rem;font-family:var(--serif);font-weight:600}
.i-dtable td.i-diag,.i-dtable th.i-diag{color:var(--accent);font-weight:700}
.i-dtable td.i-zero{color:var(--muted);opacity:.55}
.i-dtable td.i-sum{border-left:1px solid var(--line);font-weight:700}
.i-ok2{font-size:.78rem}
.interp .ra-code,.newton .ra-code{margin:1.4rem 0 0}
@media (max-width:900px){.i-twin{grid-template-columns:1fr}}
@media (max-width:600px){.i-sub4{margin-left:1rem;margin-right:1rem}}
.i-exprmsg:empty{display:none}
.i-key mjx-container{margin-left:.3em}
.interp .h-course>div,.newton .h-course>div{min-width:0}
.interp .ra-code,.newton .ra-code{max-width:100%;box-sizing:border-box}
.interp .ra-code pre,.newton .ra-code pre{max-width:100%}
.i-nform mjx-container[display=true]{overflow-x:auto;overflow-y:hidden;max-width:100%;margin:.4rem 0!important}
.i-nform{margin-left:1.4rem!important;margin-right:1.4rem!important}
/* finite differences app */
.fd-cenonly,.fd-singleonly{display:none}
.fd-iscen .fd-cenonly{display:block}
.fd-nz-single .fd-singleonly{display:block}
.fd-diamond .i-table td,.fd-diamond .i-table th{padding:.18rem .5rem}
.fd-diamond tr.fd-half td,.fd-diamond tr.fd-half th{border-bottom-color:transparent}
.fd-diamond td.fd-hl{background:color-mix(in srgb,var(--accent) 22%,transparent);font-weight:700}
.fd-diamond td.fd-hl2{background:color-mix(in srgb,var(--accent2) 18%,transparent)}
.fd-ftable .i-table td{text-align:left}
.fd-ftable .i-table td:nth-child(2),.fd-ftable .i-table td:nth-child(4){text-align:center}
.fd-ftable mjx-container{margin:0!important}
.fd-chk{align-self:end;margin-bottom:.5rem}
.fdiff .i-caption{margin-left:1.4rem!important;margin-right:1.4rem!important}
@media (max-width:600px){.fdiff .i-caption{margin-left:1rem!important;margin-right:1rem!important}}
.fd-ftable .i-table th{text-align:left}
.fd-diamond{max-height:28rem}
