.cnv-host{position:relative;display:flex;flex-direction:column;min-height:0;height:100%;width:100%}.cnv-toolbar-slot{flex:0 0 auto;position:relative;z-index:4}.cnv-canvas{display:flex;flex-direction:column;flex:1 1;min-height:0;box-sizing:border-box}.cnv-split.cnv-split-horizontal{flex-direction:row}.cnv-split.cnv-split-vertical{flex-direction:column}.cnv-split.cnv-split-horizontal>.cnv-pane+.cnv-pane{border-left:1px solid var(--grey-2)}.cnv-split.cnv-split-vertical>.cnv-pane+.cnv-pane{border-top:1px solid var(--grey-2)}.cnv-pane{display:flex;flex-direction:column;flex:1 1;min-width:0;min-height:0}.cnv-pane-unknown{padding:1rem;font-style:italic;opacity:.7}.cnv-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.25rem .5rem;border-bottom:1px solid var(--grey-2);background-color:var(--bg-secondary-glass);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.cnv-toolbar>*{opacity:.45;transition:opacity .16s ease}.cnv-host:focus-within .cnv-toolbar>*,.cnv-host:hover .cnv-toolbar>*{opacity:1}.cnv-toolbar-system,.cnv-toolbar-type{display:flex;align-items:center;gap:.25rem}.cnv-tb-label{display:inline-flex;align-items:center;gap:.35em;font-family:var(--font-family-mono);font-size:.76rem;font-weight:500;color:var(--grey-10);padding:0 .3rem;white-space:nowrap}.cnv-tb-sep{width:1px;align-self:stretch;margin:.25rem;background:var(--grey-3)}.cnv-tb-steppos{font-size:.8em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;opacity:.8;padding:0 .2rem}.cnv-pane-surface{flex:1 1;min-height:0;overflow:hidden;display:flex}.cnv-pane-surface>*{flex:1 1;min-width:0;min-height:0}.cnv-pane-footer{position:relative;display:flex;align-items:stretch;width:100%;flex:0 0 auto;border-top:1px solid var(--grey-2);box-sizing:border-box;padding:0;max-height:50%;min-height:0;overflow:hidden}.cnv-footer-resizer{position:absolute;top:calc(var(--cnv-unit) * -.35);left:0;right:0;height:calc(var(--cnv-unit) * .7);display:flex;align-items:center;justify-content:center;z-index:2;cursor:row-resize;touch-action:none}.cnv-footer-resizer:focus-visible{outline:none}.cnv-footer-grip{width:calc(var(--cnv-unit) * 2.6);height:3px;border-radius:999px;background-color:var(--grey-6);opacity:0;transition:opacity .15s ease-out,background-color .15s ease-out}.cnv-footer-resizer:focus-visible .cnv-footer-grip,.cnv-footer-resizer:hover .cnv-footer-grip{opacity:1}.cnv-footer-resizer-dragging .cnv-footer-grip{opacity:1;background-color:var(--grey-8)}.cnv-pane-footer:has(.cnv-footer-body:empty){display:none}.cnv-footer-body{flex:1 1;min-width:0;min-height:0;height:100%;overflow:hidden;--cnv-field-h:calc(var(--cnv-unit) * 2.12);--cnv-fb-maths:var(--cnv-unit);--cnv-fb-text:calc(var(--cnv-unit) * 0.82)}.cnv-blank,.cnv-footer-body{display:flex;flex-direction:column}.cnv-blank{gap:calc(var(--cnv-unit) * .55);padding:calc(var(--cnv-unit) * 1.3) calc(var(--cnv-unit) * 2.1) calc(var(--cnv-unit) * 1.8);box-sizing:border-box}.cnv-cue{transition:opacity var(--cnv-cue-ms) var(--cnv-cue-ease)}.cnv-cue-settled{transition:none}.cnv-cue-shown{opacity:1}.cnv-cue-hidden{opacity:0;pointer-events:none}.cnv-fb{display:flex;flex-wrap:nowrap;align-items:center;gap:calc(var(--cnv-unit) * .5);min-height:calc(var(--cnv-unit) * 1.8);width:100%;box-sizing:border-box;flex:0 0 auto;border-bottom:1px solid transparent;transition:border-color .18s ease;padding:calc(var(--cnv-unit) * .25) calc(var(--cnv-unit) * .95);background:var(--bg-primary)}.cnv-fb-divided{border-bottom-color:var(--grey-2)}.cnv-fb-spacer{flex:1 1 auto}.cnv-fb-panel{width:100%;flex:0 1 auto;min-height:0;overflow-x:hidden;overflow-y:auto;transition:height .22s ease,opacity .18s ease}.cnv-footer-resizing .cnv-fb-panel{transition:none}.cnv-fb-panel-open{opacity:1}.cnv-fb-panel-closed{opacity:0}.cnv-fb-panel-inner{display:flex;flex-direction:column;width:100%;box-sizing:border-box;padding:0 calc(var(--cnv-unit) * .95)}@media (prefers-reduced-motion:reduce){.cnv-fb-panel{transition:none}}.cnv-fb-list{display:flex;flex-direction:column;width:100%}.cnv-fb-item{box-sizing:border-box;border-bottom:1px solid var(--grey-2);margin:0 calc(var(--cnv-unit) * -.95);padding:0 calc(var(--cnv-unit) * .95)}.cnv-fb-list>.cnv-fb-item:last-child{border-bottom:none}.cnv-fb-list:not(:last-child)>.cnv-fb-item:last-child{border-bottom:1px solid var(--grey-2)}.cnv-fb-item-muted{opacity:.55}.cnv-fb-item-main{display:flex;align-items:center;gap:calc(var(--cnv-unit) * .5);padding:calc(var(--cnv-unit) * .3) 0}.cnv-fb-static{display:inline-flex;align-items:center;min-height:var(--cnv-field-h);padding:0 calc(var(--cnv-unit) * .2);font-family:var(--font-family-academic);font-size:var(--cnv-fb-maths);color:var(--grey-10);white-space:nowrap}.cnv-fb-item-lead,.cnv-fb-locked{display:inline-flex;flex:0 0 auto}.cnv-fb-locked{align-items:center;justify-content:center;width:calc(var(--cnv-unit) * 1.3);color:var(--grey-7)}.cnv-fb-locked svg{width:calc(var(--cnv-unit) * .95);height:calc(var(--cnv-unit) * .95)}.cnv-fb-item-grip{display:inline-flex;flex:0 0 auto;margin-right:calc(var(--cnv-unit) * -.4)}.cnv-fb-grip{display:inline-flex;align-items:center;justify-content:center;width:calc(var(--cnv-unit) * .9);height:calc(var(--cnv-unit) * 1.6);padding:0;border:none;background:transparent;color:var(--grey-5);cursor:-webkit-grab;cursor:grab;opacity:0;touch-action:none;transition:opacity .15s ease,color .15s ease}.cnv-fb-grip svg{width:calc(var(--cnv-unit) * .6);height:calc(var(--cnv-unit) * .95)}.cnv-fb-grip:focus-visible,.cnv-fb-item:hover .cnv-fb-grip{opacity:1}.cnv-fb-grip:hover{color:var(--grey-8)}.cnv-fb-item-dragging{position:relative;z-index:2;background:var(--bg-secondary);box-shadow:0 calc(var(--cnv-unit) * .12) calc(var(--cnv-unit) * .5) rgb(0 0 0/.08);cursor:-webkit-grabbing;cursor:grabbing}.cnv-fb-item-dragging .cnv-fb-grip{opacity:1;color:var(--grey-9);cursor:-webkit-grabbing;cursor:grabbing}.cnv-fb-item-body{display:inline-flex;align-items:center;flex-wrap:wrap;gap:calc(var(--cnv-unit) * .35);flex:1 1 auto;min-width:0}.cnv-fb-item-actions{display:inline-flex;align-items:center;gap:calc(var(--cnv-unit) * .15);flex:0 0 auto}.cnv-fb-item-detail{display:flex;flex-wrap:wrap;align-items:center;gap:calc(var(--cnv-unit) * .9);padding:0 0 calc(var(--cnv-unit) * .5) calc(var(--cnv-unit) * 2.2)}.cnv-fb-marker{display:inline-flex;align-items:center;justify-content:center;width:calc(var(--cnv-unit) * 1.75);height:calc(var(--cnv-unit) * 1.75);border:none;border-radius:calc(var(--cnv-unit) * .4);padding:0}.cnv-fb-marker svg{width:calc(var(--cnv-unit) * 1.15);height:calc(var(--cnv-unit) * 1.15)}.cnv-fb-marker-button{cursor:pointer;transition:background-color .15s ease}.cnv-fb-marker-button:hover{filter:brightness(.97)}.cnv-fb-marker-button:focus-visible{outline:none;box-shadow:0 0 0 calc(var(--cnv-unit) * .18) var(--accent-3)}.cnv-fb-turn svg{transition:transform .2s ease}.cnv-fb-turn-on svg{transform:rotate(180deg)}.cnv-fb-row-action{display:inline-flex;opacity:0;transition:opacity .15s ease}.cnv-fb-item:hover .cnv-fb-row-action,.cnv-fb-row-action-on,.cnv-fb-row-action:focus-within{opacity:1}.cnv-fb-expr{display:flex;align-items:center;flex:1 1 auto;min-width:0;flex-wrap:nowrap;gap:calc(var(--cnv-unit) * .3);font-family:var(--font-family-academic);font-size:var(--cnv-fb-maths);color:var(--grey-10)}.cnv-fb-symbol{display:inline-flex;align-items:center;height:var(--cnv-field-h);color:var(--grey-9);-webkit-user-select:none;-moz-user-select:none;user-select:none}.cnv-fb-expr .katex{line-height:normal}.cnv-fb-value{font-size:var(--cnv-fb-maths);font-family:var(--font-family-academic);display:inline-flex;flex:1 1 auto;min-width:0;max-width:calc(var(--cnv-unit) * 22)}.cnv-fb-value-short{flex:0 1 calc(var(--cnv-unit) * 5);width:auto;min-width:0}.cnv-fb-math{display:inline-flex;align-items:center;flex:1 1 auto;min-width:0;max-width:calc(var(--cnv-unit) * 20);height:var(--cnv-field-h);padding:0 calc(var(--cnv-unit) * .45);border:1px solid transparent;border-radius:calc(var(--cnv-unit) * .2);color:var(--grey-10);font-size:var(--cnv-fb-maths);cursor:text;overflow-x:auto;transition:background-color .15s ease,border-color .15s ease}.cnv-fb-math:hover{background:var(--grey-1)}.cnv-fb-math:focus-visible{outline:none;border-color:var(--grey-9)}.cnv-fb-math-invalid{border-color:var(--red-6)}.cnv-fb-math-editing{padding:0;border-color:transparent;background:transparent;overflow:visible}.cnv-fb-math-placeholder{color:var(--grey-6);font-family:var(--font-family-academic)}.cnv-fb-math-raw{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:var(--cnv-fb-text);color:var(--grey-7)}.cnv-fb-field{display:inline-flex;align-items:center;min-height:var(--cnv-field-h);gap:calc(var(--cnv-unit) * .4);flex:0 1 auto;min-width:0}.cnv-fb-label,.cnv-fb-note{font-size:var(--cnv-fb-text);color:var(--grey-9);white-space:nowrap}.cnv-fb-readout{font-size:var(--cnv-fb-maths);font-family:var(--font-family-academic);color:var(--grey-10);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.cnv-fb-readout-muted{color:var(--grey-8)}.cnv-fb-readout .katex-display{margin:0}.cnv-fb-error{font-size:var(--cnv-fb-text);color:var(--red-9)}.cnv-footer-body .katex{font-size:1em}.cnv-fb-field-input.cnv-fb-math-input,.cnv-fb-field-input.cnv-fb-value{font-family:var(--font-family-academic);font-size:var(--cnv-fb-maths)}.cnv-fb-field-input{box-sizing:border-box;height:var(--cnv-field-h);padding:0 calc(var(--cnv-unit) * .7);border:1px solid var(--grey-4);border-radius:calc(var(--cnv-unit) * .3);background:var(--bg-secondary);color:var(--bg-secondary-foreground);font-family:var(--font-family);font-size:var(--cnv-fb-text);line-height:calc(var(--cnv-unit) * 1.18);transition:border-color .15s ease-out,box-shadow .15s ease-out}.cnv-fb-field-input::placeholder{color:var(--grey-7)}.cnv-fb-field-input:focus{outline:none;border-color:var(--accent-6);box-shadow:0 0 0 calc(var(--cnv-unit) * .18) var(--accent-3)}.cnv-fb-invalid{border-color:var(--red-6)}.cnv-fb-select{cursor:pointer;height:calc(var(--cnv-unit) * 1.85);padding:0 calc(var(--cnv-unit) * .5);border-color:var(--grey-3);border-radius:calc(var(--cnv-unit) * .3)}.cnv-fb-select:hover{background:var(--grey-1);border-color:var(--grey-4)}.cnv-fb-editable{display:inline-flex;align-items:center;min-height:var(--cnv-field-h);padding:0 calc(var(--cnv-unit) * .35);border-radius:calc(var(--cnv-unit) * .25);cursor:text;transition:background-color .15s ease}.cnv-fb-editable:hover{background:var(--grey-1)}.cnv-fb-editable:focus-visible{outline:none;box-shadow:0 0 0 calc(var(--cnv-unit) * .18) var(--accent-3)}.cnv-fb-editable-open{padding:0;background:transparent}.cnv-fb-editable-input{width:calc(var(--cnv-unit) * 4.4);height:var(--cnv-field-h);border:1px solid var(--grey-4);border-radius:calc(var(--cnv-unit) * .3);background:var(--bg-secondary);padding:0 calc(var(--cnv-unit) * .4)}.cnv-fb-editable-input:focus{outline:none;border-color:var(--accent-6);box-shadow:0 0 0 calc(var(--cnv-unit) * .18) var(--accent-3)}.cnv-fb-number{box-sizing:border-box;display:inline-flex;align-items:stretch;overflow:hidden;width:calc(var(--cnv-unit) * 5.2);height:var(--cnv-field-h);border:1px solid var(--grey-4);border-radius:calc(var(--cnv-unit) * .3);background:var(--bg-secondary);transition:border-color .15s ease-out,box-shadow .15s ease-out}.cnv-fb-number:focus-within{border-color:var(--accent-6);box-shadow:0 0 0 calc(var(--cnv-unit) * .18) var(--accent-3)}.cnv-fb-number-invalid{border-color:var(--red-6)}.cnv-fb-number-input{flex:1 1;min-width:0;padding:0 0 0 calc(var(--cnv-unit) * .5);border:none;background:transparent;color:var(--bg-secondary-foreground);font-family:var(--font-family);font-size:var(--cnv-fb-text);line-height:calc(var(--cnv-unit) * 1.18)}.cnv-fb-number-input:focus{outline:none}.cnv-fb-number-input::-webkit-inner-spin-button,.cnv-fb-number-input::-webkit-outer-spin-button{-webkit-appearance:none;appearance:none;margin:0}.cnv-fb-number-input[type=number]{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.cnv-fb-steppers{display:flex;flex-direction:column;flex-shrink:0;width:calc(var(--cnv-unit) * 1.15);border-left:1px solid var(--grey-4)}.cnv-fb-stepper{display:flex;align-items:center;justify-content:center;flex:1 1;margin:0;padding:0;border:none;background:transparent;color:var(--grey-8);cursor:pointer;transition:background-color .15s ease-out,color .15s ease-out}.cnv-fb-stepper+.cnv-fb-stepper{border-top:1px solid var(--grey-4)}.cnv-fb-stepper:hover{background:var(--grey-1);color:var(--grey-10)}.cnv-fb-stepper svg{width:calc(var(--cnv-unit) * .72);height:calc(var(--cnv-unit) * .72)}.cnv-fb-check{position:relative;display:inline-flex;align-items:center;gap:calc(var(--cnv-unit) * .4)}.cnv-fb-check input{position:absolute;margin:0;opacity:0;cursor:pointer}.cnv-fb-check input,.cnv-fb-check-box{width:calc(var(--cnv-unit) * .95);height:calc(var(--cnv-unit) * .95)}.cnv-fb-check-box{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--grey-5);border-radius:calc(var(--cnv-unit) * .24);background:var(--bg-secondary);color:transparent;transition:border-color .12s ease,background-color .12s ease,box-shadow .12s ease}.cnv-fb-check-box svg{width:calc(var(--cnv-unit) * .62);height:calc(var(--cnv-unit) * .47)}.cnv-fb-check input:checked+.cnv-fb-check-box{border-color:var(--accent-6);background:var(--accent-6);color:var(--white)}.cnv-fb-check input:focus-visible+.cnv-fb-check-box{box-shadow:0 0 0 calc(var(--cnv-unit) * .18) var(--accent-3)}.cnv-fb-colours{gap:calc(var(--cnv-unit) * .25)}.cnv-fb-colours,.cnv-fb-swatch{display:inline-flex;align-items:center}.cnv-fb-swatch{justify-content:center;width:calc(var(--cnv-unit) * 1.2);height:calc(var(--cnv-unit) * 1.2);padding:0;border:1px solid var(--grey-3);border-radius:calc(var(--cnv-unit) * .28);color:transparent;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease}.cnv-fb-swatch svg{width:calc(var(--cnv-unit) * .66);height:calc(var(--cnv-unit) * .5)}.cnv-fb-swatch:hover{transform:translateY(calc(var(--cnv-unit) * -.08))}.cnv-fb-swatch:focus-visible{outline:none;box-shadow:0 0 0 calc(var(--cnv-unit) * .18) var(--accent-3)}.cnv-fb-swatch-on{color:var(--grey-10);box-shadow:0 0 0 calc(var(--cnv-unit) * .1) var(--bg-secondary),0 0 0 calc(var(--cnv-unit) * .22) var(--grey-10)}.cnv-fb-button{display:inline-flex;align-items:center;justify-content:center;gap:calc(var(--cnv-unit) * .28);height:calc(var(--cnv-unit) * 1.55);padding:0 calc(var(--cnv-unit) * .5);border:none;border-radius:calc(var(--cnv-unit) * .3);background:var(--cnv-fb-button-bg,var(--grey-1));color:var(--cnv-fb-button-fg,var(--grey-10));font-family:var(--font-family);font-size:var(--cnv-fb-text);line-height:1;cursor:pointer;transition:background-color .15s ease-out,border-color .15s ease-out,color .15s ease-out,opacity .15s ease-out}.cnv-fb-button:hover:not(:disabled){background:var(--cnv-fb-button-hover,var(--grey-2))}.cnv-fb-button:active:not(:disabled){filter:brightness(.96)}.cnv-fb-button:focus-visible{outline:none;box-shadow:0 0 0 calc(var(--cnv-unit) * .18) var(--accent-3)}.cnv-fb-button:disabled{color:var(--grey-6);cursor:default}.cnv-fb-button-on{background:var(--grey-2)}.cnv-fb-button-lead{display:inline-flex;align-items:center;color:var(--grey-9)}.cnv-fb-button-lead svg{width:calc(var(--cnv-unit) * .95);height:calc(var(--cnv-unit) * 1.05)}.cnv-fb-button-icon{width:calc(var(--cnv-unit) * 1.6);height:calc(var(--cnv-unit) * 1.6);padding:0;background:transparent;color:var(--grey-8)}.cnv-fb-button-icon:hover:not(:disabled){background:var(--grey-1);color:var(--grey-10)}.cnv-fb-glyph{width:calc(var(--cnv-unit) * .95);height:calc(var(--cnv-unit) * .95);flex:0 0 auto}.cnv-fb-scroller{position:relative}.cnv-fb-scroller,.cnv-fb-scroller-viewport{box-sizing:border-box;width:100%;min-width:0}.cnv-fb-scroller-viewport{display:flex;align-items:center;padding:calc(var(--cnv-unit) * .08) calc(var(--cnv-unit) * .1);overflow-x:auto;scroll-behavior:smooth;scrollbar-width:none}.cnv-fb-scroller-viewport::-webkit-scrollbar{display:none}.cnv-fb-scroller-track{display:flex;align-items:center;flex-wrap:nowrap;width:max-content;gap:calc(var(--cnv-unit) * .3)}.cnv-fb-arrows{position:absolute;top:0;bottom:0;display:flex;align-items:center;justify-content:center;z-index:1;box-sizing:border-box;padding:0 calc(var(--cnv-unit) * .2);background:var(--bg-secondary);opacity:0;pointer-events:none;transition:opacity .2s ease-in-out}.cnv-fb-arrows-on{opacity:1;pointer-events:auto}.cnv-fb-arrows-left{left:0;border-right:1px solid var(--grey-3)}.cnv-fb-arrows-right{right:0;border-left:1px solid var(--grey-3)}.cnv-fb-slider{display:flex;align-items:center;flex:1 1 calc(var(--cnv-unit) * 8);min-width:calc(var(--cnv-unit) * 5);max-width:calc(var(--cnv-unit) * 18);height:var(--cnv-field-h);padding:0 calc(var(--cnv-unit) * .4);cursor:pointer;touch-action:none}.cnv-fb-slider:focus-visible{outline:none}.cnv-fb-slider-track{position:relative;width:100%;height:calc(var(--cnv-unit) * .22);border-radius:999px;background:var(--grey-3)}.cnv-fb-slider-fill{position:absolute;inset:0 auto 0 0;border-radius:999px;background:var(--accent-6)}.cnv-fb-slider-origin{width:calc(var(--cnv-unit) * .14);height:calc(var(--cnv-unit) * .5);border-radius:999px;background:var(--grey-5)}.cnv-fb-slider-origin,.cnv-fb-slider-thumb{position:absolute;top:50%;transform:translate(-50%,-50%)}.cnv-fb-slider-thumb{width:calc(var(--cnv-unit) * .82);height:calc(var(--cnv-unit) * .82);border-radius:50%;background:var(--bg-secondary);box-shadow:0 0 0 2px var(--accent-6);transition:box-shadow .15s ease,transform .12s ease}.cnv-fb-slider:hover .cnv-fb-slider-thumb{transform:translate(-50%,-50%) scale(1.1)}.cnv-fb-slider:focus-visible .cnv-fb-slider-thumb{box-shadow:0 0 0 2px var(--accent-6),0 0 0 calc(var(--cnv-unit) * .28) var(--accent-3)}.cnl-paragraph{margin:0;font-family:var(--font-family-academic);font-size:var(--cnv-unit);line-height:1.5;color:var(--grey-10)}.cnl-cell code,.cnl-list code,.cnl-paragraph code{font-size:calc(var(--cnv-unit) * .93);background:var(--bg-primary);border:1px solid var(--grey-4);border-radius:3px;padding:.1em .25em}.cnl-cell .katex,.cnl-list .katex,.cnl-paragraph .katex{font-size:calc(var(--cnv-unit) * 1.1)}.cnl-heading{margin:0;font-family:var(--font-family-academic);font-weight:600;line-height:1.25;color:var(--grey-10)}.cnl-h1{font-size:calc(var(--cnv-unit) * 1.875);text-align:center}.cnl-h1,.cnl-h2{margin-bottom:calc(var(--cnv-unit) * .6)}.cnl-h2{font-size:calc(var(--cnv-unit) * 1.5)}.cnl-h3{font-size:calc(var(--cnv-unit) * 1.375)}.cnl-h4,.cnl-list{font-size:var(--cnv-unit)}.cnl-list{box-sizing:border-box;margin:0 calc(var(--cnv-unit) * .6) calc(var(--cnv-unit) * .6) calc(var(--cnv-unit) * 2.35);padding-left:0;font-family:var(--font-family-academic);line-height:1.5;color:var(--grey-10);list-style:none}.cnl-list strong{font-weight:600}.cnl-list-item{position:relative;list-style-type:disc;margin:0 0 calc(var(--cnv-unit) * .3) 0;padding-left:calc(var(--cnv-unit) * .6)}.cnl-divider{border:none;border-top:1px solid var(--grey-4);margin:calc(var(--cnv-unit) * .5) 0}.cnl-equation{box-sizing:border-box;margin:auto;padding:calc(var(--cnv-unit) * .88) 0;font-size:calc(var(--cnv-unit) * .9);text-align:center}.cnl-equation .katex-display{margin:0;text-align:center}.cnl-equation-fallback{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:var(--grey-8)}.cnl-colour-red{color:var(--red-9)}.cnl-colour-orange{color:var(--orange-9)}.cnl-colour-yellow{color:var(--yellow-9)}.cnl-colour-green{color:var(--green-9)}.cnl-colour-teal{color:var(--teal-9)}.cnl-colour-blue{color:var(--blue-9)}.cnl-colour-purple{color:var(--purple-9)}.cnl-colour-pink{color:var(--pink-9)}.cnl-colour-grey{color:var(--grey-9)}.cnl-colour-neutral{color:var(--grey-10)}.cnl-colour-white{color:white}.cnl-colour-black{color:black}.cnl-image{margin:0;display:flex;flex-direction:column;align-items:center;gap:.4rem}.cnl-image-img{max-width:100%;height:auto;border-radius:6px}.cnl-image-caption{font-size:calc(var(--cnv-unit) * .85);opacity:.75}.cnl-table-wrapper{box-sizing:border-box;width:100%;max-width:calc(var(--cnv-unit) * 41);margin:auto;padding:calc(var(--cnv-unit) * .6) 0}.cnl-table-caption{margin-bottom:calc(var(--cnv-unit) * .35);font-family:var(--font-family-academic);font-size:calc(var(--cnv-unit) * 1.1);font-weight:600;line-height:1.25;text-align:center}.cnl-table-scroll{overflow-x:auto;scrollbar-gutter:stable}.cnl-table{margin:0 auto;border-collapse:collapse;border-spacing:0;table-layout:auto;min-width:calc(var(--cnv-unit) * 23.5)}.cnl-row{border-bottom:1px solid var(--grey-3)}.cnl-row:last-child{border-bottom:none}.cnl-cell{padding:calc(var(--cnv-unit) * .6) calc(var(--cnv-unit) * .7);font-family:var(--font-family-academic);font-size:var(--cnv-unit);line-height:1.5;color:var(--grey-10);text-align:left;vertical-align:middle;white-space:normal;overflow-wrap:break-word;min-width:calc(var(--cnv-unit) * 5.9)}th.cnl-cell{font-weight:600}.cnl-head-row{border-bottom:2px solid var(--grey-4)}.cnl-head-col{border-right:2px solid var(--grey-4)}.cnl-foot-row{border-top:2px solid var(--grey-4);font-weight:500}.cnl-foot-col{border-left:2px solid var(--grey-4);font-weight:500}.cnl-cell-inner{display:block;position:relative;z-index:2}.cnl-cell-hl{background:var(--cnl-hl-fill)}.cnl-hl-top{border-top:2px solid var(--cnl-hl-border)}.cnl-hl-bottom{border-bottom:2px solid var(--cnl-hl-border)}.cnl-hl-left{border-left:2px solid var(--cnl-hl-border)}.cnl-hl-right{border-right:2px solid var(--cnl-hl-border)}.cnl-table-wrapper[data-highlight=red]{--cnl-hl-fill:var(--red-2);--cnl-hl-border:var(--red-9)}.cnl-table-wrapper[data-highlight=orange]{--cnl-hl-fill:var(--orange-2);--cnl-hl-border:var(--orange-9)}.cnl-table-wrapper[data-highlight=yellow]{--cnl-hl-fill:var(--yellow-2);--cnl-hl-border:var(--yellow-9)}.cnl-table-wrapper[data-highlight=green]{--cnl-hl-fill:var(--green-2);--cnl-hl-border:var(--green-9)}.cnl-table-wrapper[data-highlight=teal]{--cnl-hl-fill:var(--teal-2);--cnl-hl-border:var(--teal-9)}.cnl-table-wrapper[data-highlight=blue]{--cnl-hl-fill:var(--blue-2);--cnl-hl-border:var(--blue-9)}.cnl-table-wrapper[data-highlight=purple]{--cnl-hl-fill:var(--purple-2);--cnl-hl-border:var(--purple-9)}.cnl-table-wrapper[data-highlight=pink]{--cnl-hl-fill:var(--pink-2);--cnl-hl-border:var(--pink-9)}.cnl-table-wrapper[data-highlight=grey]{--cnl-hl-fill:var(--grey-2);--cnl-hl-border:var(--grey-9)}.cnl-unported{font-style:italic;opacity:.6;font-size:.9em}.cnl-graph{position:relative;width:100%;height:100%;padding:calc(var(--cnv-unit) * .5);box-sizing:border-box;cursor:crosshair}.cnl-graph-panzoom{cursor:-webkit-grab;cursor:grab;touch-action:none}.cnl-graph-panzoom:active{cursor:-webkit-grabbing;cursor:grabbing}.cnl-graph-svg{width:100%;height:100%;display:block;overflow:visible}.cnl-graph-arrow,.cnl-graph-axis,.cnl-graph-grid,.cnl-graph-grid-minor,.cnl-graph-tick,.cnl-graph-tick-label{pointer-events:none}.cnl-graph-grid line{stroke:var(--grey-4);stroke-width:1px}.cnl-graph-grid-minor line{stroke:var(--grey-2);stroke-width:1px}.cnl-graph-dot{fill:var(--grey-5)}.cnl-graph-dot-minor{fill:var(--grey-3)}.cnl-graph-named-rule line{stroke:var(--grey-6);stroke-width:1px;pointer-events:none}.cnl-graph-axis line{stroke:var(--grey-9);stroke-width:1px}.cnl-graph-arrow{fill:var(--grey-9);stroke:none}.cnl-graph-tick{stroke:var(--grey-9);stroke-width:1px}.cnl-graph-tick-label{fill:var(--grey-9);font-size:calc(var(--cnv-unit) * .8)}.cnl-graph-axis-name,.cnl-graph-label,.cnl-graph-text,.cnl-graph-tick-label{-moz-user-select:none;user-select:none;-webkit-user-select:none}.cnl-graph-label,.cnl-graph-text{font-family:var(--font-family-academic)}.cnl-graph-label{line-height:1.15;white-space:nowrap;pointer-events:none;color:var(--grey-10);text-shadow:0 0 5px var(--bg-secondary),0 0 5px var(--bg-secondary),0 0 5px var(--bg-secondary),0 0 10px var(--bg-secondary)}.cnl-graph-label .katex{font-size:1em}.cnl-graph-label-code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.92em}.cnl-graph-label-highlight{background:var(--yellow-3);color:inherit}.cnl-graph-axis-name{color:var(--grey-10);fill:var(--grey-10);font-family:var(--font-family-academic);font-weight:450;white-space:nowrap}.cnl-graph-halo{paint-order:stroke fill;stroke:var(--bg-secondary);stroke-width:calc(var(--cnv-unit) * .34);stroke-linejoin:round}.cnl-graph-zoom-box{pointer-events:none;shape-rendering:geometricPrecision}.cnl-graph-cue{transition:opacity var(--cnl-cue-ms) var(--cnl-cue-ease)}.cnl-graph-cue-hidden{opacity:0;pointer-events:none}.cnl-graph-cue-draw{transition:none}.cnl-graph-cue-draw.cnl-graph-cue-hidden{opacity:1;transition:none}.cnl-graph-cue-draw.cnl-graph-cue-hidden :is(path,line,polygon)[pathLength]{stroke-dasharray:1;animation:cnl-draw-out var(--cnl-cue-ms) var(--cnl-cue-ease) both}.cnl-graph-cue-draw.cnl-graph-cue-hidden :is(circle,rect,text,foreignObject,path:not([pathLength]),polygon:not([pathLength])){animation:cnl-fade-out calc(var(--cnl-cue-ms) * .6) ease both}.cnl-graph-cue-settled.cnl-graph-cue-draw.cnl-graph-cue-hidden{opacity:0}.cnl-graph-cue-settled.cnl-graph-cue-draw.cnl-graph-cue-hidden :is(circle,rect,text,foreignObject,path:not([pathLength]),polygon:not([pathLength])),.cnl-graph-cue-settled.cnl-graph-cue-draw.cnl-graph-cue-hidden :is(path,line,polygon)[pathLength]{animation:none}.cnl-graph-cue-draw.cnl-graph-cue-shown :is(path,line,polygon)[pathLength]{stroke-dasharray:1;animation:cnl-draw-in var(--cnl-cue-ms) var(--cnl-cue-ease) both}.cnl-graph-cue-draw.cnl-graph-cue-shown :is(circle,rect,text,foreignObject,polygon:not([pathLength])){animation:cnl-fade-in .4s ease both;animation-delay:calc(var(--cnl-cue-ms) * .47)}.cnl-graph-cue-draw.cnl-graph-cue-shown .cnl-graph-curve :is(polygon,circle),.cnl-graph-cue-draw.cnl-graph-cue-shown .cnl-graph-step :is(polygon,circle){animation:none}.cnl-graph-cue-settled{transition:none}.cnl-graph-cue-settled.cnl-graph-cue-draw.cnl-graph-cue-shown :is(circle,rect,text,foreignObject,polygon:not([pathLength])),.cnl-graph-cue-settled.cnl-graph-cue-draw.cnl-graph-cue-shown :is(path,line,polygon)[pathLength]{animation:none}@keyframes cnl-draw-in{0%{stroke-dashoffset:1}to{stroke-dashoffset:0}}@keyframes cnl-draw-out{0%{stroke-dashoffset:0}to{stroke-dashoffset:1}}@keyframes cnl-fade-out{0%{opacity:1}to{opacity:0}}@keyframes cnl-fade-in{0%{opacity:0}to{opacity:1}}.cnl-graph-cursor{position:absolute;left:calc(var(--cnv-unit) * .6);bottom:calc(var(--cnv-unit) * .6);z-index:1;display:inline-flex;align-items:center;padding:calc(var(--cnv-unit) * .15) calc(var(--cnv-unit) * .4);border:1px solid var(--grey-2);border-radius:calc(var(--cnv-unit) * .25);background:var(--bg-primary);font-size:calc(var(--cnv-unit) * .82);color:var(--grey-8);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;pointer-events:none}.cnl-graph-cursor .katex-display{margin:0;text-align:left}.cnl-graph-footer{width:100%;min-height:0;height:100%}.cnl-graph-editor,.cnl-graph-footer{display:flex;flex-direction:column}.cnl-graph-adds{flex:1 1 auto;min-width:0}.cnl-graph-adds .cnv-fb-arrows{background:var(--bg-primary)}.cnl-graph-param-label{color:var(--grey-8);white-space:nowrap}.cnl-code{display:flex;flex-direction:column;width:100%;height:100%;min-height:0;--code-editor-font-size:calc(var(--cnv-unit) * 0.82);--code-editor-line-height:calc(var(--cnv-unit) * 1.24)}.cnl-code-footer .cnl-code-caret{font-family:var(--font-family-mono);font-size:calc(var(--cnv-unit) * .72);color:var(--grey-8);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;min-width:calc(var(--cnv-unit) * 6.5);text-align:right;white-space:nowrap}.cnl-code-editor{position:relative;flex:1 1;min-height:0;display:flex}.cnl-code-editor>*{flex:1 1;min-width:0}.cnl-code-flash.cnl-code-flash{--line-mark-bg:var(--yellow-2);--line-mark-fg:var(--yellow-9);--line-mark-rule:var(--yellow-6);--line-mark-bg-active:var(--yellow-3)}.cnl-code-typing.cnl-code-typing{--line-mark-bg:var(--blue-1);--line-mark-fg:var(--blue-9);--line-mark-rule:var(--blue-6);--line-mark-bg-active:var(--blue-2)}.cnv-host{--cnv-unit:17px}.cnv-host.cnv-presenting{--cnv-unit:22px}:root{--ine-unit:16px;--ine-space-1:4px;--ine-space-2:8px;--ine-space-3:12px;--ine-space-4:16px;--ine-space-5:24px;--ine-space-6:32px;--ine-radius-sm:4px;--ine-radius-md:8px;--ine-radius-lg:12px;--ine-grey-1:rgb(242,242,242);--ine-grey-2:rgb(235,235,235);--ine-grey-3:rgb(214,214,214);--ine-grey-5:rgb(150,150,150);--ine-grey-7:rgb(90,90,90);--ine-grey-9:rgb(40,40,40);--ine-grey-10:rgb(20,20,20);--ine-accent:rgb(255,138,76);--ine-accent-contrast:#ffffff;--ine-bg-primary:#ffffff;--ine-bg-secondary:var(--ine-grey-1);--ine-text-primary:var(--ine-grey-10);--ine-text-secondary:var(--ine-grey-7);--ine-border:var(--ine-grey-3);--ine-font-sans:"Source Sans 3",system-ui,-apple-system,sans-serif;--ine-font-serif:"Source Serif 4",Georgia,serif;--ine-font-mono:"JetBrains Mono",ui-monospace,"SF Mono",monospace;--ine-text-sm:0.875rem;--ine-text-md:1rem;--ine-text-lg:1.25rem}.ine-stack{display:flex;min-width:0}.ine-stack--v{flex-direction:column}.ine-stack--h{flex-direction:row}.ine-stack--gap-1{gap:var(--ine-space-1)}.ine-stack--gap-2{gap:var(--ine-space-2)}.ine-stack--gap-3{gap:var(--ine-space-3)}.ine-stack--gap-4{gap:var(--ine-space-4)}.ine-stack--center{align-items:center;justify-content:center}.ine-stack--align-center{align-items:center}.ine-stack--justify-between{justify-content:space-between}.ine-button{display:inline-flex;align-items:center;gap:var(--ine-space-2);font-family:var(--ine-font-sans);font-size:var(--ine-text-sm);line-height:1;padding:var(--ine-space-2) var(--ine-space-3);border-radius:var(--ine-radius-sm);border:1px solid transparent;background:transparent;color:var(--ine-text-primary);cursor:pointer;transition:background-color .12s ease,border-color .12s ease,color .12s ease}.ine-button:hover:not(:disabled){background:var(--ine-bg-secondary)}.ine-button:disabled{opacity:.45;cursor:default}.ine-button--primary{background:var(--ine-accent);color:var(--ine-accent-contrast)}.ine-button--primary:hover:not(:disabled){filter:brightness(.95)}.ine-button--ghost{background:transparent}.ine-button--icon{padding:var(--ine-space-2)}.ine-button--active{background:var(--ine-bg-secondary);border-color:var(--ine-border)}.ine-icon{display:inline-flex;align-items:center;justify-content:center;width:1em;height:1em;line-height:1}.ine-icon svg{width:100%;height:100%;display:block}.ine-text{font-family:var(--ine-font-sans);color:var(--ine-text-primary);margin:0}.ine-text--secondary{color:var(--ine-text-secondary)}.ine-text--sm{font-size:var(--ine-text-sm)}.ine-text--md{font-size:var(--ine-text-md)}.ine-text--lg{font-size:var(--ine-text-lg)}.ine-text--mono{font-family:var(--ine-font-mono)}.ine-text--serif{font-family:var(--ine-font-serif)}.ine-interactable{outline:none;border-radius:4px;transition:outline-color .15s ease}.ine-interactable:focus-visible{outline:2px solid var(--ine-focus-color,rgba(99,179,237,.8));outline-offset:2px}.ine-interactable:hover{background-color:var(--ine-hover-bg,transparent)}.ine-hovered{background-color:var(--ine-hover-bg,rgba(255,255,255,.04))}.ine-selected{outline:2px solid var(--ine-select-color,rgba(99,179,237,.8));outline-offset:2px}@keyframes ine-cue-in{0%{opacity:0}to{opacity:1}}@keyframes ine-cue-out{0%{opacity:1}to{opacity:0}}@keyframes ine-cue-draw-in{0%{stroke-dashoffset:var(--path-length,1000)}to{stroke-dashoffset:0}}@keyframes ine-cue-draw-out{0%{stroke-dashoffset:0}to{stroke-dashoffset:var(--path-length,1000)}}@keyframes ine-cue-text-draw-in{0%{-webkit-clip-path:inset(0 100% 0 0);clip-path:inset(0 100% 0 0)}to{-webkit-clip-path:inset(0 0 0 0);clip-path:inset(0 0 0 0)}}.ine-cue-in{opacity:0;animation:ine-cue-in forwards;animation-duration:var(--cue-duration,1s);animation-delay:var(--cue-delay,0s);animation-timing-function:var(--cue-easing,linear);will-change:opacity}.ine-cue-out{animation:ine-cue-out forwards;animation-duration:var(--cue-duration,1s);animation-delay:var(--cue-delay,0s);animation-timing-function:var(--cue-easing,linear);will-change:opacity}.ine-cue-sequential{opacity:0;animation-name:ine-cue-in,ine-cue-out;animation-duration:var(--cue-in-duration,1s),var(--cue-out-duration,1s);animation-timing-function:var(--cue-easing,linear),var(--cue-easing,linear);animation-delay:var(--cue-in-delay,0s),var(--cue-out-delay,2s);animation-fill-mode:both,forwards;animation-play-state:running,running;will-change:opacity;transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden}.ine-cue-draw-in{stroke-dashoffset:var(--path-length,1000);animation:ine-cue-draw-in forwards;animation-duration:var(--cue-duration,1s);animation-delay:var(--cue-delay,0s);animation-timing-function:var(--cue-easing,linear)}.ine-cue-draw-in,.ine-cue-draw-out{stroke-dasharray:var(--path-length,1000);will-change:stroke-dashoffset}.ine-cue-draw-out{stroke-dashoffset:0;animation:ine-cue-draw-out forwards;animation-duration:var(--cue-duration,1s);animation-delay:var(--cue-delay,0s);animation-timing-function:var(--cue-easing,linear)}.ine-cue-draw-sequential{stroke-dasharray:var(--path-length,1000);stroke-dashoffset:var(--path-length,1000);animation-name:ine-cue-draw-in,ine-cue-draw-out;animation-duration:var(--cue-in-duration,1s),var(--cue-out-duration,1s);animation-timing-function:var(--cue-easing,linear),var(--cue-easing,linear);animation-delay:var(--cue-in-delay,0s),var(--cue-out-delay,2s);animation-fill-mode:both,forwards;animation-play-state:running,running;will-change:stroke-dashoffset;transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden}.ine-cue-text-draw-in{-webkit-clip-path:inset(0 100% 0 0);clip-path:inset(0 100% 0 0);animation:ine-cue-text-draw-in forwards;animation-duration:var(--cue-duration,1s);animation-delay:var(--cue-delay,0s);animation-timing-function:var(--cue-easing,linear)}.ine-cue-text-draw-out{animation:ine-cue-out forwards;animation-duration:var(--cue-duration,1s);animation-delay:var(--cue-delay,0s);animation-timing-function:var(--cue-easing,linear)}.ine-cue-text-draw-sequential{-webkit-clip-path:inset(0 100% 0 0);clip-path:inset(0 100% 0 0);animation-name:ine-cue-text-draw-in,ine-cue-out;animation-duration:var(--cue-in-duration,1s),var(--cue-out-duration,1s);animation-timing-function:var(--cue-easing,linear),var(--cue-easing,linear);animation-delay:var(--cue-in-delay,0s),var(--cue-out-delay,2s);animation-fill-mode:both,forwards;animation-play-state:running,running}.ine-rt-bold,.ine-rt-bold--narrative{font-weight:700}.ine-rt-bold--board{font-weight:600}.ine-rt-italic{font-style:italic}.ine-rt-code{font-family:var(--font-family-mono,var(--ine-font-mono));color:var(--grey-10,var(--ine-text-primary));background-color:var(--bg-secondary,var(--ine-bg-secondary));border:1px solid var(--grey-4,var(--ine-border));padding:2px 4px;border-radius:3px}.ine-rt-code--board{background-color:var(--bg-primary,var(--ine-bg-primary))}.ine-rt-highlight{border-radius:3px;padding:0 3px}.ine-rt-highlight--red{background-color:var(--red-3);color:var(--red-10)}.ine-rt-highlight--orange{background-color:var(--orange-3);color:var(--orange-10)}.ine-rt-highlight--yellow{background-color:var(--yellow-3);color:var(--yellow-10)}.ine-rt-highlight--green{background-color:var(--green-3);color:var(--green-10)}.ine-rt-highlight--teal{background-color:var(--teal-3);color:var(--teal-10)}.ine-rt-highlight--blue{background-color:var(--blue-3);color:var(--blue-10)}.ine-rt-highlight--purple{background-color:var(--purple-3);color:var(--purple-10)}.ine-rt-highlight--pink{background-color:var(--pink-3);color:var(--pink-10)}.ine-rt-highlight--grey{background-color:var(--grey-3);color:var(--grey-10)}.ine-rt-highlight--neutral{background-color:var(--grey-10);color:var(--grey-1)}.ine-rt-highlight--white{background-color:white;color:black}.ine-rt-highlight--black{background-color:black;color:white}.ine-rt-footnote{cursor:help}.ine-rt-footnote-text{text-decoration:underline;-webkit-text-decoration-style:dotted;text-decoration-style:dotted;-webkit-text-decoration-color:var(--grey-8,var(--ine-grey-7));text-decoration-color:var(--grey-8,var(--ine-grey-7));text-underline-offset:2px}.ine-rt-footnote-sup{color:var(--grey-9,var(--ine-grey-9))}.ine-rt-link{color:var(--accent-9,var(--ine-accent));text-decoration:underline;text-underline-offset:2px;cursor:pointer;transition:color .3s ease}.ine-rt-link:hover{color:var(--accent-10,var(--ine-accent))}.ine-rt-link--board{color:var(--accent-8,var(--ine-accent))}.ine-rt-internote-ref{display:inline;padding:1px 5px;background:var(--bg-secondary,var(--ine-bg-secondary));border:1px solid var(--grey-3,var(--ine-border));border-radius:4px;text-decoration:none;color:inherit;cursor:pointer;transition:border-color .3s ease,background .3s ease;vertical-align:baseline;box-decoration-break:clone;-webkit-box-decoration-break:clone}.ine-rt-internote-ref:hover{background:var(--grey-2);border-color:var(--grey-4)}.ine-rt-internote-ref-id{font-size:.9em;font-weight:500;color:var(--grey-10,var(--ine-text-primary));font-family:var(--font-family-academic,var(--ine-font-serif))}.ine-rt-latex{display:inline-flex;align-items:center}.ine-rt-latex--narrative{font-size:.8em}.ine-rt-latex-error{display:inline;color:var(--grey-7,var(--ine-text-secondary));font-family:var(--font-family-mono,var(--ine-font-mono));font-size:.9em;padding:2px 4px;background-color:var(--grey-2,var(--ine-bg-secondary));border:1px solid var(--grey-4,var(--ine-border));border-radius:3px}.ine-rt-icon{display:inline;width:1em;height:1em;vertical-align:-.15em;flex-shrink:0}.ine-rt-icon--red{color:var(--red-9)}.ine-rt-icon--orange{color:var(--orange-9)}.ine-rt-icon--yellow{color:var(--yellow-9)}.ine-rt-icon--green{color:var(--green-9)}.ine-rt-icon--teal{color:var(--teal-9)}.ine-rt-icon--blue{color:var(--blue-9)}.ine-rt-icon--purple{color:var(--purple-9)}.ine-rt-icon--pink{color:var(--pink-9)}.ine-rt-icon--grey{color:var(--grey-9)}.ine-rt-icon--neutral{color:var(--grey-10)}.ine-rt-icon--white{color:white}.ine-rt-icon--black{color:black}.ine-rt-colour--red{color:var(--red-9)}.ine-rt-colour--orange{color:var(--orange-9)}.ine-rt-colour--yellow{color:var(--yellow-9)}.ine-rt-colour--green{color:var(--green-9)}.ine-rt-colour--teal{color:var(--teal-9)}.ine-rt-colour--blue{color:var(--blue-9)}.ine-rt-colour--purple{color:var(--purple-9)}.ine-rt-colour--pink{color:var(--pink-9)}.ine-rt-colour--grey{color:var(--grey-9)}