:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#172636;background:#fff;font-size:16px;--ink:#172636;--muted:#637285;--line:#e0e6ed;--blue:#2359d5;--panel:#f5f7fa}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,select{cursor:pointer}button{border:1px solid var(--line);background:white;color:var(--ink);border-radius:7px;padding:8px 11px;font-size:.875rem;font-weight:550;transition:background .15s}button:hover{background:#edf2fb}button:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #85aafd;outline-offset:2px}button.primary{background:var(--blue);border-color:var(--blue);color:white}button.primary:hover{background:#1944aa}header{height:72px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:30px;padding:0 24px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink);font-weight:700;letter-spacing:-.6px;font-size:1.25rem}.brand-icon{display:block;flex:0 0 40px;width:40px;height:40px;object-fit:contain;background:#0d1c32;border-radius:9px;box-shadow:0 0 0 1px #839bb330}.header-label{font-size:.75rem;letter-spacing:1.4px;color:var(--muted)}nav{margin-left:auto;display:flex;gap:8px}main{display:grid;grid-template-columns:390px minmax(0,1fr);height:calc(100dvh - 72px);min-height:500px}.worksheet{display:flex;flex-direction:column;min-height:0;border-right:1px solid var(--line);background:#fcfdff}.worksheet-head{display:flex;align-items:center;justify-content:space-between;padding:27px 22px 22px}.eyebrow{font-size:.75rem;font-weight:650;color:var(--muted);letter-spacing:1.6px}h1{font-size:1.25rem;letter-spacing:-.4px;font-weight:600;margin:8px 0 0}.count{font-size:.875rem;color:var(--muted);padding:5px 9px;border:1px solid var(--line);border-radius:6px}.tools{display:flex;gap:7px;padding:0 16px 18px}.tools button,.tools select{font-size:.875rem;padding:8px}.tools select{max-width:120px;min-width:0}select{border:1px solid var(--line);border-radius:6px;background:white;padding:7px 9px;color:var(--ink);font-size:.875rem}.expressions{flex:1;overflow:auto}.expression{position:relative;border-top:1px solid var(--line);padding:16px 15px 15px 43px;background:white}.expression:focus-within{background:#f7faff;box-shadow:inset 3px 0 var(--blue)}.row-top{display:flex;gap:5px}.color-toggle{position:absolute;left:15px;top:22px;width:15px;height:15px;padding:0;border-radius:50%;border:2px solid var(--row-color);background:var(--row-color)}.color-toggle.off{background:transparent;opacity:.45}.row-number{position:absolute;left:18px;top:45px;font-size:.75rem;color:#8491a0}.expression textarea{width:100%;resize:vertical;min-height:36px;max-height:160px;border:none;background:transparent;outline:none;font-family:"SFMono-Regular",Consolas,monospace;font-size:1rem;line-height:1.5;padding:2px 0;overflow:hidden;color:#15283e}.remove{border:none;color:#7a8795;font-size:1.125rem;background:transparent;padding:0 5px;align-self:flex-start}.result{font-size:.875rem;color:var(--muted);margin-top:5px;overflow:auto;max-height:270px}.result.error{color:#b52d3c;line-height:1.5}.result-value{font-family:Consolas,monospace;color:var(--ink);font-size:.95rem}.result-tag{font-size:.75rem;color:var(--muted);margin-bottom:7px}.matrix-result{display:inline-grid;border-left:2px solid var(--row-color);border-right:2px solid var(--row-color);border-radius:3px;padding:6px;gap:5px 12px;min-width:90px}.matrix-result span{text-align:right;font-family:Consolas,monospace;font-size:.875rem;white-space:nowrap;color:#253951}.matrix-summary{display:flex;gap:12px;font-size:.75rem;margin-top:10px;flex-wrap:wrap}.matrix-buttons{display:flex;gap:6px;margin-top:10px}.matrix-buttons button{font-size:.75rem;padding:4px 7px}.slider-line{display:flex;align-items:center;gap:8px;margin-top:10px}.slider-line input[type=range]{width:100%;accent-color:var(--row-color);min-width:40px}.slider-bound{font-size:.75rem;width:50px;border:1px solid var(--line);border-radius:4px;padding:3px}.worksheet-footer{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:13px 16px;font-size:.75rem;color:var(--muted);gap:10px;background:var(--panel)}.workspace{display:flex;position:relative;flex-direction:column;min-width:0;min-height:0}.plot-toolbar{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:1px solid var(--line);gap:12px}.tabs{display:flex;gap:3px;background:#edf1f6;padding:3px;border-radius:8px}.tabs button{border:none;background:transparent;color:var(--muted)}.tabs button[aria-selected=true]{background:white;color:var(--blue);box-shadow:0 1px 4px #192b4b15}.plot-actions{display:flex;gap:7px;align-items:center}#matrixSelect{max-width:150px}#plot{flex:1;min-height:280px;width:100%;overflow:hidden}.plot-caption{padding:11px 20px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:12px;font-size:.75rem;color:var(--muted)}#plotEmpty{position:absolute;top:45%;left:15%;right:15%;text-align:center;background:white;padding:24px;color:var(--muted);border:1px solid var(--line);border-radius:10px}dialog{width:min(680px,calc(100vw - 30px));max-height:85dvh;padding:0;border:1px solid var(--line);border-radius:12px;box-shadow:0 20px 80px #071b4040;color:var(--ink)}dialog::backdrop{background:#10223d66}.dialog-head{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;border-bottom:1px solid var(--line)}h2{margin:0;font-size:1.25rem}.dialog-head button{border:none;font-size:1.5rem;padding:0 5px}.help-body,#matrixForm{padding:8px 24px 24px;line-height:1.6}.help-body table{border-collapse:collapse;width:100%;font-size:.875rem}.help-body th,.help-body td{border-bottom:1px solid var(--line);padding:12px 0;vertical-align:top;text-align:left}.help-body th{width:30%;padding-right:12px}code{font-family:Consolas,monospace;color:#2355a5;background:#eef3fa;border-radius:3px;padding:1px 3px}.help-body p,.muted{font-size:.875rem;color:var(--muted)}.matrix-options{display:flex;align-items:end;gap:12px;margin-top:15px}.matrix-options label{font-size:.875rem;display:flex;flex-direction:column;gap:5px}.matrix-options input{width:85px;padding:7px;border:1px solid var(--line);border-radius:5px}#matrixGrid{display:grid;gap:8px;overflow:auto;padding:4px 2px;max-height:340px}#matrixGrid input{min-width:70px;width:100%;padding:9px 6px;border:1px solid #cbd5e2;border-radius:4px;text-align:center;font-family:Consolas,monospace}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}#matrixError{font-size:.875rem;color:#b52d3c}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#172c43;color:white;border-radius:8px;padding:13px 20px;box-shadow:0 4px 20px #0003;max-width:90%;font-size:.875rem;z-index:10}[hidden]{display:none!important}@media(min-width:1600px){main{grid-template-columns:440px 1fr}}@media(max-width:1000px){.header-label{display:none}main{grid-template-columns:340px 1fr}.plot-toolbar{flex-wrap:wrap;padding:10px}.plot-caption{padding:10px}#boundsLabel{display:none}.tools{gap:5px;padding-left:10px;padding-right:10px}.plot-actions{flex-wrap:wrap}}@media(max-width:700px){header{height:auto;min-height:65px;padding:12px;gap:10px;flex-wrap:wrap}.brand{font-size:1.05rem}.brand-icon{flex-basis:34px;width:34px;height:34px;border-radius:8px}nav{gap:4px}nav button{font-size:.75rem;padding:7px}main{height:auto;min-height:0;display:flex;flex-direction:column-reverse}.workspace{height:52dvh;min-height:380px}.worksheet{border-right:0;border-top:1px solid var(--line);min-height:350px}.worksheet-head{padding:18px}.expressions{max-height:65dvh}.tools{padding:0 18px 15px}.tools select{max-width:160px}.plot-toolbar{gap:7px}.plot-actions button{font-size:.75rem}.plot-actions{gap:4px}.tabs button{font-size:.8rem}.matrix-options{flex-wrap:wrap}.plot-caption{font-size:.75rem}}

.plot-toolbar{flex-wrap:wrap}.tabs{flex-wrap:wrap}.plot-actions{flex-wrap:wrap}.plot-caption{flex-wrap:wrap}#parameterControls{font-size:.875rem;display:flex;align-items:center;gap:6px}#parameterControls input{width:85px;min-width:0;padding:6px;border:1px solid var(--line);border-radius:5px}#componentSelect{max-width:140px}

.greek-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.greek-grid>div{display:flex;align-items:center;gap:5px;background:var(--panel);padding:7px;border-radius:6px}.greek-grid span{flex:1;font-size:.8rem}.greek-grid button{font-family:Georgia,serif;font-size:1.2rem;padding:5px 9px}.greek-variants{display:flex;gap:7px;flex-wrap:wrap}.greek-variants button{font-family:Georgia,serif;font-size:1.1rem}@media(max-width:600px){.greek-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.greek-grid>div{flex-wrap:wrap}.greek-grid span{flex-basis:100%}header nav{flex-wrap:wrap}}
.tools{flex-wrap:wrap}.notation-tools{display:flex;align-items:center;gap:8px;padding:6px 16px 12px;flex-wrap:wrap;font-size:.875rem}.notation-tools button{padding:5px 10px}.notation-tools>.muted{font-size:.75rem}.math-preview{font-family:Cambria,"Times New Roman",serif;font-size:1.15rem;line-height:1.9;overflow-wrap:anywhere;color:#244c81;padding:5px 0 8px;white-space:pre-wrap}.math-preview sup,.math-preview sub{font-size:.75em;line-height:0}.edit-function{font-size:.75rem;padding:4px 8px;margin:0 6px 8px 0;display:inline-block}.function-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:14px 0}.function-fields label,.body-label{font-size:.875rem;display:flex;flex-direction:column;gap:6px}.function-fields input,#functionBody{min-width:0;width:100%;border:1px solid var(--line);border-radius:6px;padding:9px;font-family:Consolas,monospace}#functionBody{resize:vertical;font-size:1rem}#functionForm .notation-tools{padding:12px 0 0}#functionPreview{padding:16px;background:var(--panel);border-radius:8px}#functionError{color:#b52d3c;font-size:.875rem}#surfaceBounds{position:relative;font-size:.875rem}#surfaceBounds summary{cursor:pointer;padding:8px;border:1px solid var(--line);border-radius:6px}#surfaceBoundsForm{position:absolute;right:0;top:45px;background:white;border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 25px #162d4320;padding:15px;z-index:5;width:240px;display:grid;grid-template-columns:1fr 1fr;gap:8px}#surfaceBoundsForm label{display:flex;flex-direction:column;gap:4px;font-size:.75rem}#surfaceBoundsForm input{width:100%;min-width:0;border:1px solid var(--line);padding:6px}#surfaceBoundsForm button{grid-column:span 2}@media(max-width:600px){.function-fields{grid-template-columns:1fr}.notation-tools{padding:8px 18px}}
#calculusExpression{min-width:0;width:100%;border:1px solid var(--line);border-radius:6px;padding:9px;font-family:Consolas,monospace;font-size:1rem;resize:vertical}#calculusPreview{padding:16px;background:var(--panel);border-radius:8px}#calculusError{color:#b52d3c;font-size:.875rem}.calculus-note{font-size:.75rem;line-height:1.5;color:#66758b;margin-top:8px}.function-fields select{min-width:0;width:100%}
/* Shared appearance tokens cover the workspace, editors, and plot canvas. */
:root{color-scheme:light;--surface:#ffffff;--page:#ffffff;--input-bg:#ffffff;--hover:#edf2fb;--active:#f7faff;--math:#244c81;--error:#b52d3c;--plot-grid:#e9edf3;--plot-axis:#8290a0;--focus:#2359d5}
:root[data-theme=dark]{color-scheme:dark;--surface:#172130;--page:#101722;--input-bg:#111b29;--ink:#e5edf8;--muted:#acbbce;--line:#344257;--blue:#3869d4;--panel:#202c3d;--hover:#293c55;--active:#1b2c43;--math:#a5c7ff;--error:#ff99a3;--plot-grid:#30425a;--plot-axis:#8398b4;--focus:#91b5ff}
html,body{background:var(--page);color:var(--ink)}header,.workspace{background:var(--surface)}button,select{background:var(--surface)}button:hover{background:var(--hover)}button.primary{background:var(--blue);color:#fff}button.primary:hover{background:#1944aa}input,textarea{background:var(--input-bg);color:var(--ink)}input::placeholder,textarea::placeholder{color:var(--muted);opacity:.8}.worksheet{background:var(--page)}.expression{background:var(--surface);padding-left:68px}.expression:focus-within{background:var(--active);box-shadow:inset 3px 0 var(--focus)}.expression textarea{color:var(--ink);background:transparent}.matrix-result span{color:var(--ink)}.row-number,.remove,.calculus-note{color:var(--muted)}.result.error,#matrixError,#functionError,#calculusError{color:var(--error)}.tabs{background:var(--panel)}.tabs button[aria-selected=true]{background:var(--surface);color:var(--math)}dialog,#plotEmpty,#surfaceBoundsForm{background:var(--surface);color:var(--ink)}dialog::backdrop{background:#06102099}code{background:var(--panel);color:var(--math)}.math-preview{color:var(--math)}.theme-control{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:.875rem}.theme-control select{padding:7px}nav{align-items:center}.color-toggle{left:40px}.row-number{left:43px}.drag-handle{position:absolute;left:5px;top:13px;min-height:40px;width:28px;padding:0;border:0;background:transparent;color:var(--muted);cursor:grab;font-size:1.2rem;letter-spacing:-3px;touch-action:none;user-select:none}.drag-handle:hover{background:var(--hover)}.drag-handle:active{cursor:grabbing}.dragging{opacity:.45}.expression.drop-before{box-shadow:inset 0 3px 0 var(--focus)}.expression.drop-after{box-shadow:inset 0 -3px 0 var(--focus)}.drag-ghost{position:fixed;pointer-events:none;z-index:1000;max-width:min(330px,70vw);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;padding:12px 16px;background:var(--surface);color:var(--ink);border:2px solid var(--focus);border-radius:8px;box-shadow:0 8px 25px #0005;font-family:Consolas,monospace;font-size:.875rem}.reordering,.reordering *{cursor:grabbing!important;user-select:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:1200px){.header-label{display:none}header{gap:16px;padding-inline:16px}}@media(max-width:850px){header{height:auto;min-height:72px;flex-wrap:wrap;padding-block:10px}nav{flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){button{transition:none}}
.quantum-stats{padding:12px 20px;background:var(--panel);border-top:1px solid var(--line);display:flex;gap:12px;justify-content:space-between;flex-wrap:wrap;font-size:.875rem;color:var(--muted);max-height:110px;overflow:auto}#qubitPreview{padding:16px;background:var(--panel);border-radius:8px}#qubitError{color:var(--error);font-size:.875rem}

/* Separate the equation width from the graph's minimum available space. */
.worksheet,.row-top,.expression textarea{min-width:0}.entry-picker{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin:10px 0;font-size:.8rem}.entry-picker select{max-width:100%}.body-label:has(#functionTemplate){margin-bottom:14px}
#paneDivider{background:var(--panel);cursor:col-resize;touch-action:none;position:relative;z-index:2;border-left:1px solid var(--line);border-right:1px solid var(--line)}
#paneDivider::after{content:'';position:absolute;top:calc(50% - 24px);height:48px;left:2px;width:2px;border-radius:2px;background:var(--muted)}
#paneDivider:hover,#paneDivider:focus-visible{background:var(--hover);outline:2px solid var(--focus);outline-offset:-2px}.resizing-pane,.resizing-pane *{cursor:col-resize!important;user-select:none!important}
@media(min-width:701px){main{grid-template-columns:var(--equation-pane-width,390px) 8px minmax(0,1fr)}}
@media(max-width:700px){#paneDivider{display:none}}

.argument-list{grid-column:span 2}.slice-controls{margin:8px 0 12px;padding:8px;border:1px solid var(--line);border-radius:6px;color:var(--ink)}.slice-controls summary{cursor:pointer;overflow-wrap:anywhere;line-height:1.5}.slice-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px;max-height:260px;overflow:auto}.slice-fields label{display:flex;flex-direction:column;gap:4px;font-size:.75rem}.slice-fields input,.slice-fields select{min-width:0;width:100%;padding:6px;border:1px solid var(--line);border-radius:4px}.slice-controls .muted{font-size:.75rem}.slice-controls p{margin-bottom:0}@media(max-width:600px){.argument-list{grid-column:auto}}

.calculus-variable-list{grid-column:span 2;border:1px solid var(--line);border-radius:6px;padding:10px;min-width:0;font-size:.875rem}.calculus-variable-list>div{display:flex;gap:10px;flex-wrap:wrap;max-height:140px;overflow:auto}.calculus-variable-list label{display:flex;align-items:center;gap:5px;overflow-wrap:anywhere}.calculus-variable-list input{width:auto;accent-color:var(--blue)}.calculus-options{margin:12px 0;padding:10px;border:1px solid var(--line);border-radius:6px}.calculus-options summary{cursor:pointer}.calculus-computed{padding:12px;background:var(--panel);border:1px solid var(--line);border-radius:6px;font-size:.8rem;overflow:auto}.calculus-computed pre{margin:0 0 8px;font-size:.9rem;color:var(--ink)}#calculusForm .dialog-actions{flex-wrap:wrap}#calculusPointHelp{overflow-wrap:anywhere}@media(max-width:600px){.calculus-variable-list{grid-column:auto}}

.datasets-panel{margin:0 12px 12px;border:1px solid var(--line);border-radius:7px;background:var(--panel);flex-shrink:0}.datasets-panel>summary{padding:10px;cursor:pointer;font-size:.875rem}#datasetsList{max-height:32dvh;overflow:auto}.dataset-card{padding:12px;border-top:1px solid var(--line);font-size:.8rem}.dataset-card>strong{display:block;overflow-wrap:anywhere}.dataset-actions{display:flex;gap:5px;margin:8px 0}.dataset-card button,.dataset-card select{font-size:.75rem;padding:5px;max-width:100%}.dataset-column{display:flex;align-items:center;gap:5px;margin:5px 0}.dataset-column button{overflow-wrap:anywhere;text-align:left}.dataset-card .muted{font-size:.75rem}.dataset-table{overflow:auto;max-height:250px;margin:12px 0}.dataset-table table{border-collapse:collapse;font-size:.8rem;width:100%}.dataset-table td,.dataset-table th{padding:7px;border:1px solid var(--line);white-space:pre-wrap;min-width:70px}.dataset-columns{max-height:230px;overflow:auto}.dataset-import-column{display:grid;grid-template-columns:auto minmax(80px,1fr) 1fr;align-items:center;gap:8px;font-size:.75rem;margin:7px 0}.dataset-import-column input[type=text],#datasetName{min-width:0;width:100%;padding:7px;border:1px solid var(--line);border-radius:5px}.dataset-check{justify-content:center}.dataset-check input{width:auto;align-self:start}.dataset-y{min-width:0;border:1px solid var(--line);border-radius:5px;font-size:.8rem}.dataset-y>div{max-height:140px;overflow:auto}.dataset-y label{display:flex;gap:6px;align-items:center}#datasetText{width:100%;font-family:Consolas,monospace;border:1px solid var(--line);border-radius:5px;padding:8px;resize:vertical}#datasetImportError{color:var(--error)}#datasetForm input[type=checkbox]{accent-color:var(--blue)}#datasetForm .dialog-actions{flex-wrap:wrap}

.math-preview{font-family:"Cambria Math",Cambria,"STIX Two Math","Times New Roman",serif;font-size:1.3rem;line-height:1.5;padding:12px 0;overflow-x:auto;overflow-y:hidden;white-space:normal}.math-preview math{font-family:"Cambria Math","STIX Two Math",math;font-size:1em;text-align:left;display:block;width:max-content;min-width:0;margin:0;padding:5px 2px}.math-preview.math-fallback{font-size:1rem;white-space:pre-wrap;overflow-wrap:anywhere}.math-preview math mi{color:inherit}.expression .math-preview{min-height:44px}.function-calculus-options{border:1px solid var(--line);border-radius:6px;padding:10px;margin-top:12px}.function-calculus-options summary{cursor:pointer;font-size:.875rem}#functionPreview,#calculusPreview{padding:16px}.math-preview:focus-visible{outline:2px solid var(--focus)}

#linearMatrix{width:100%;min-width:0;border:1px solid var(--line);border-radius:6px;padding:9px;background:var(--input-bg);color:var(--ink);font-family:Consolas,monospace;resize:vertical}.linear-value{padding:10px 0;overflow:auto;border-bottom:1px solid var(--line)}.linear-value h3{font-size:.9rem;margin:0 0 8px}.linear-value table{border-collapse:collapse;max-width:100%;font-family:Consolas,monospace;font-size:.8rem}.linear-value td{border:1px solid var(--line);padding:7px;white-space:nowrap}.linear-value button{margin-top:8px;font-size:.75rem}#linearError{color:var(--error)}

/* Named graph creator and collection */
#graphDialog{width:min(760px,95vw)}#graphForm textarea{width:100%;resize:vertical;font-family:Consolas,monospace;padding:10px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--ink)}#graphForm input,#graphForm select{max-width:100%}#graphColor{min-width:55px;height:38px;padding:3px}#graphFields{display:grid;gap:12px;margin:16px 0}#graphFields .body-label{margin:0}#graphRangeFields,#graphYRangeFields{margin:12px 0}#graphsList{max-height:280px;overflow:auto}.saved-graph{padding:10px 0;border-bottom:1px solid var(--line);border-left:3px solid var(--graph-color);margin:10px 0;padding-left:10px}.saved-graph-actions{display:flex;align-items:center;gap:6px}.saved-graph-actions button{padding:5px 8px}.saved-graph-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;text-align:left;font-weight:650}.saved-graph p{margin:6px 0;overflow-wrap:anywhere}.saved-graph .error{font-size:.85rem}#graphSelection{max-width:200px}.plot-toolbar .tabs{flex-wrap:wrap}#graphForm [hidden]{display:none!important}
#probabilityDialog{width:min(850px,95vw)}#probabilityPlot{height:300px;min-width:0}#probabilitySource{width:100%;padding:10px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--ink);font-family:Consolas,monospace;resize:vertical}#probabilityParameters{margin-top:15px}#probabilitySummary p{overflow-wrap:anywhere}.probability-answer{font-size:1.2rem!important;font-weight:650;color:var(--ink)!important}
#waveletDialog{width:min(1180px,97vw)}#waveletDialog .function-fields{margin:12px 0}#waveletDialog input:not([type=checkbox]),#waveletDialog select{min-width:0;max-width:100%}#waveletPaste{width:100%;padding:10px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--ink);resize:vertical;font-family:Consolas,monospace}.wavelet-options{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:18px 0}.wavelet-options fieldset{min-width:0;border:1px solid var(--line);border-radius:8px;padding:12px}.wavelet-options legend{font-weight:600}.wavelet-check{display:flex!important;flex-direction:row!important;align-items:center;gap:8px}.wavelet-check input{width:auto}.wavelet-plot{height:340px;min-width:0}.wavelet-small-plot{height:240px;min-width:0}.wavelet-result-head{display:flex;align-items:center;justify-content:space-between;gap:12px}#waveletBandTable{max-height:240px;overflow:auto}#waveletSummary{padding:10px 16px;margin-top:16px;background:var(--surface);border:1px solid var(--line);border-radius:8px}#waveletSummary p{margin:7px 0;overflow-wrap:anywhere}@media(max-width:750px){.wavelet-options{grid-template-columns:1fr}.wavelet-plot{height:290px}}
#residentDialog{width:min(740px,95vw)}#residentFunctions h3{text-transform:uppercase;letter-spacing:.04em;font-size:.9rem;color:var(--muted);margin:24px 0 10px}.resident-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.resident-grid button{min-height:62px;font-family:"Cambria Math",Cambria,serif;font-size:1.3rem;background:var(--surface);color:var(--ink);border:1px solid var(--line);white-space:normal;overflow-wrap:anywhere;padding:10px}.resident-grid button:hover{border-color:#2864d7;color:#2864d7}.resident-grid button:focus-visible{outline:2px solid #2864d7;outline-offset:2px}#residentSearch{width:100%}@media(max-width:450px){.resident-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.plot-name-field{display:flex;align-items:center;gap:8px;font-size:.8rem;color:var(--muted);margin:10px 0}.plot-name-field input{width:100%;min-width:0;border:1px solid var(--line);border-radius:5px;background:var(--surface);color:var(--ink);padding:6px}#graphRenameDialog{width:min(450px,95vw)}#graphRenameName{width:100%}.saved-graph-actions{flex-wrap:wrap}

.note-cell{border-left:3px solid var(--muted);background:var(--panel)}.note-cell:focus-within{background:var(--active)}.note-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:7px;color:var(--muted);font-size:.8rem;font-weight:600}.expression textarea.note-input{font-family:inherit;font-size:.95rem;min-height:84px;max-height:300px;overflow:auto;white-space:pre-wrap;line-height:1.6}.note-cell .row-number{top:20px}
.preview-loading::after{content:'Updating preview…';display:block;margin-top:5px;color:var(--muted);font:12px/1.4 Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}.preview-loading math{opacity:.65}.calculation-pending::after{content:'Calculating…';display:block;margin-top:6px;color:var(--muted);font-size:.75rem}.calculation-pending>.result{opacity:.6}#plotLoading{position:absolute;right:16px;bottom:48px;z-index:3;max-width:calc(100% - 32px);padding:8px 12px;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--muted);font-size:.8rem;box-shadow:0 2px 8px #0001;pointer-events:none}#stopComputeBtn{padding:3px 8px;font-size:.75rem;white-space:nowrap}.worksheet-footer{align-items:center}

.python-cell .python-input{grid-column:3 / -1;font:14px/1.5 ui-monospace,monospace;white-space:pre;tab-size:4;min-height:180px;resize:vertical}.python-cell .note-heading{grid-column:3 / -1}.python-cell .result{grid-column:3 / -1}

#randomDialog form{padding:24px;max-width:640px}.python-cell .muted{font-size:12px;line-height:1.5}.python-cell:focus-within{background:var(--active)}

#energyDialog{width:min(1100px,96vw);max-width:1100px}.energy-plots{display:grid;grid-template-columns:1fr 1fr;gap:12px}.energy-plots>div,#energyLossPlot{min-height:280px}#energySamples{max-height:160px;overflow:auto}#energySummary{padding:12px 0}@media(max-width:700px){.energy-plots{grid-template-columns:1fr}}

#saveWorksheetDialog{width:min(480px,95vw)}#saveWorksheetName{width:100%;min-width:0;padding:10px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--ink)}#saveWorksheetHint{overflow-wrap:anywhere}

#trajectoryDialog{width:min(1100px,96vw)}#trajectoryDialog input:not([type=range]),#trajectoryDialog textarea{min-width:0;width:100%;padding:9px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--ink)}#trajectoryDialog textarea{resize:vertical;font-family:Consolas,monospace}#trajectoryPlot{min-height:450px}.trajectory-playback{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:14px 0}#trajectoryScrub{flex:1;min-width:140px}#trajectoryDialog [hidden]{display:none!important}

#surfaceDisplayDialog{width:min(840px,94vw)}
.surface-axis{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:12px;border:1px solid var(--line);border-radius:10px;margin-bottom:16px;padding:12px}
.surface-axis label,.surface-display-grid label{display:flex;flex-direction:column;gap:6px;font-size:13px}
.surface-axis input,.surface-axis select,.surface-display-grid input,.surface-display-grid select{width:100%;min-width:0}
.surface-display-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.surface-checks{display:flex;flex-wrap:wrap;gap:16px;margin-top:20px}.surface-checks label{display:flex;align-items:center;gap:6px}
#computeMode{font-size:11px;max-width:240px;white-space:normal}
@media(max-width:650px){.surface-axis,.surface-display-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
