:root{--fermat-color-brand-50:#e6fbf7;--fermat-color-brand-100:#b8f2e8;--fermat-color-brand-300:#3dd6c2;--fermat-color-brand-500:#00a99d;--fermat-color-brand-600:#007f76;--fermat-color-brand-700:#00665f;--fermat-color-brand-800:#004f4b;--fermat-color-brand-900:#073b39;--fermat-color-green-50:#effce9;--fermat-color-green-200:#baf09e;--fermat-color-green-400:#66d33f;--fermat-color-green-600:#2f9e23;--fermat-color-green-800:#1d681a;--fermat-color-yellow-400:#ffd633;--fermat-color-orange-500:#f47a1f;--fermat-color-purple-500:#7b4dcc;--fermat-color-neutral-0:#fff;--fermat-color-neutral-50:#f7f9f8;--fermat-color-neutral-100:#edf1ef;--fermat-color-neutral-200:#d8dfdc;--fermat-color-neutral-300:#b8c3bf;--fermat-color-neutral-500:#63716d;--fermat-color-neutral-700:#34423e;--fermat-color-neutral-900:#132522;--fermat-color-info-50:#edf8ff;--fermat-color-info-200:#b9e3fb;--fermat-color-info-700:#146a96;--fermat-color-hint-50:#f4effc;--fermat-color-hint-200:#d9c8f3;--fermat-color-hint-700:#6338a3;--fermat-color-success-50:var(--fermat-color-green-50);--fermat-color-success-200:var(--fermat-color-green-200);--fermat-color-success-700:#23751d;--fermat-color-warning-50:#fff9df;--fermat-color-warning-200:#ffe78a;--fermat-color-warning-700:#785900;--fermat-color-danger-50:#fff0f2;--fermat-color-danger-200:#ffc4cc;--fermat-color-danger-600:#c92f49;--fermat-color-danger-700:#9e2037;--fermat-color-danger-800:#79192c;--fermat-radius-sm:.125rem;--fermat-radius-md:.25rem;--fermat-focus-outline:3px solid var(--fermat-color-brand-300);--fermat-font-sans:"Outfit Variable", Outfit, ui-sans-serif, system-ui, sans-serif;--fermat-font-math:"CMU Serif", "KaTeX_Main", "Computer Modern Serif", "Latin Modern Roman", serif;--fermat-font-mono:"Space Mono", ui-monospace, monospace}.fermat-button{--fermat-button-height:2.75rem;--fermat-button-background:var(--fermat-color-brand-600);--fermat-button-border:var(--fermat-color-brand-700);--fermat-button-edge:var(--fermat-color-brand-800);--fermat-button-hover:var(--fermat-color-brand-700);height:var(--fermat-button-height);box-sizing:border-box;border:1px solid var(--fermat-button-border);border-bottom:4px solid var(--fermat-button-edge);border-radius:var(--fermat-radius-md);font-family:var(--fermat-font-sans);white-space:nowrap;cursor:pointer;background:var(--fermat-button-background);color:#fff;justify-content:center;align-items:center;gap:.5rem;font-weight:650;line-height:1;transition:background-color .12s,border-color 70ms;display:inline-flex}.fermat-button:hover:not(:disabled){background:var(--fermat-button-hover)}.fermat-button:active:not(:disabled){height:calc(var(--fermat-button-height) - 3px);border-bottom-width:1px;margin-top:3px}.fermat-button:focus-visible{outline:var(--fermat-focus-outline);outline-offset:2px}.fermat-button:disabled{cursor:not-allowed;opacity:.55}.fermat-button--primary{color:#fff}.fermat-button--secondary{--fermat-button-background:var(--fermat-color-neutral-100);--fermat-button-border:var(--fermat-color-neutral-300);--fermat-button-edge:var(--fermat-color-neutral-500);--fermat-button-hover:var(--fermat-color-neutral-200);color:var(--fermat-color-neutral-900)}.fermat-button--tertiary{--fermat-button-background:white;--fermat-button-border:var(--fermat-color-brand-500);--fermat-button-edge:var(--fermat-color-brand-700);--fermat-button-hover:var(--fermat-color-brand-50);color:var(--fermat-color-brand-700)}.fermat-button--ghost{--fermat-button-background:transparent;--fermat-button-border:transparent;--fermat-button-edge:var(--fermat-color-neutral-300);--fermat-button-hover:var(--fermat-color-neutral-100);color:var(--fermat-color-neutral-700)}.fermat-button--danger{--fermat-button-background:var(--fermat-color-danger-600);--fermat-button-border:var(--fermat-color-danger-700);--fermat-button-edge:var(--fermat-color-danger-800);--fermat-button-hover:var(--fermat-color-danger-700);color:#fff}.fermat-button--small{--fermat-button-height:2.25rem;padding:.5rem .75rem;font-size:.875rem}.fermat-button--medium{padding:.75rem 1rem;font-size:.9375rem}.fermat-button--large{--fermat-button-height:3.25rem;padding:.875rem 1.25rem;font-size:1rem}.fermat-button--full-width{width:100%}.fermat-button__icon{align-items:center;font-size:1.1em;display:inline-flex}.fermat-animated-icon{width:var(--fermat-icon-size);height:var(--fermat-icon-size);flex:none;justify-content:center;align-items:center;line-height:1;display:inline-flex}.fermat-animated-icon>svg{width:100%;height:100%;display:block;overflow:visible}.fermat-button__spinner{border:2px solid;border-right-color:#0000;border-radius:999px;width:1em;height:1em;animation:.7s linear infinite fermat-spin}@keyframes fermat-spin{to{transform:rotate(360deg)}}.fermat-card{box-sizing:border-box;border:1px solid var(--fermat-color-neutral-300);border-radius:var(--fermat-radius-md);background:var(--fermat-color-neutral-0);color:var(--fermat-color-neutral-900);font-family:var(--fermat-font-sans);padding:1.5rem}.fermat-progress{color:var(--fermat-color-neutral-700);font-family:var(--fermat-font-sans)}.fermat-progress__meta{justify-content:space-between;gap:1rem;margin-bottom:.4rem;font-size:.875rem;font-weight:650;display:flex}.fermat-progress__track{border:1px solid var(--fermat-color-neutral-300);border-radius:var(--fermat-radius-sm);background:var(--fermat-color-neutral-100);height:.625rem;overflow:hidden}.fermat-progress__value{border-right:2px solid var(--fermat-color-brand-800);background:var(--fermat-color-brand-500);height:100%;transition:width .18s}.fermat-tutor-message{border:1px solid var(--fermat-color-brand-300);border-left:4px solid var(--fermat-color-brand-600);border-radius:var(--fermat-radius-md);background:var(--fermat-color-brand-50);color:var(--fermat-color-brand-900);font-family:var(--fermat-font-sans);padding:.8rem 1rem;line-height:1.5}.fermat-tutor-message__speaker{color:var(--fermat-color-brand-700);margin-bottom:.25rem;display:block}@media (prefers-reduced-motion:reduce){.fermat-button{transition:none}.fermat-button__spinner,.fermat-spinner__indicator{animation-duration:1.4s}.fermat-skeleton,.fermat-dialog__overlay,.fermat-dialog,.fermat-dropdown,.fermat-tooltip{animation:none}}.fermat-text{color:var(--fermat-color-neutral-900);font-family:var(--fermat-font-sans);margin:0}.fermat-text--body{font-size:1rem;line-height:1.6}.fermat-text--lead{letter-spacing:-.01em;font-size:1.25rem;line-height:1.55}.fermat-text--label{font-size:.875rem;line-height:1.4}.fermat-text--caption{font-size:.75rem;line-height:1.4}.fermat-text--default,.fermat-math--default{color:var(--fermat-color-neutral-900)}.fermat-text--muted,.fermat-math--muted{color:var(--fermat-color-neutral-500)}.fermat-text--brand,.fermat-math--brand{color:var(--fermat-color-brand-600)}.fermat-text--success{color:var(--fermat-color-success-700)}.fermat-text--danger,.fermat-math--danger{color:var(--fermat-color-danger-700)}.fermat-text--regular{font-weight:400}.fermat-text--medium{font-weight:500}.fermat-text--semibold{font-weight:600}.fermat-text--bold{font-weight:700}.fermat-text--left{text-align:left}.fermat-text--center{text-align:center}.fermat-text--right{text-align:right}.fermat-text--truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.fermat-math{font-family:var(--fermat-font-math);font-size:1em}.fermat-math--small{font-size:.875em}.fermat-math--medium{font-size:1em}.fermat-math--large{font-size:1.5em}.fermat-math--display{padding:.75rem 0;overflow:auto hidden}.fermat-visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fermat-icon-button{--fermat-icon-button-height:2.75rem;--fermat-icon-button-background:transparent;--fermat-icon-button-border:transparent;--fermat-icon-button-edge:var(--fermat-color-neutral-300);--fermat-icon-button-hover:var(--fermat-color-neutral-100);box-sizing:border-box;border:1px solid var(--fermat-icon-button-border);border-bottom:4px solid var(--fermat-icon-button-edge);border-radius:var(--fermat-radius-md);font:inherit;cursor:pointer;background:var(--fermat-icon-button-background);flex:none;justify-content:center;align-items:center;line-height:1;transition:background-color .12s,border-color 70ms;display:inline-flex}.fermat-icon-button:hover:not(:disabled){background:var(--fermat-icon-button-hover)}.fermat-icon-button:active:not(:disabled){height:calc(var(--fermat-icon-button-height) - 3px);border-bottom-width:1px;margin-top:3px}.fermat-icon-button:focus-visible{outline:var(--fermat-focus-outline);outline-offset:2px}.fermat-icon-button:disabled{cursor:not-allowed;opacity:.55}.fermat-icon-button--primary{--fermat-icon-button-background:var(--fermat-color-brand-600);--fermat-icon-button-border:var(--fermat-color-brand-700);--fermat-icon-button-edge:var(--fermat-color-brand-800);--fermat-icon-button-hover:var(--fermat-color-brand-700);color:#fff}.fermat-icon-button--secondary{--fermat-icon-button-background:var(--fermat-color-neutral-100);--fermat-icon-button-border:var(--fermat-color-neutral-300);--fermat-icon-button-edge:var(--fermat-color-neutral-500);--fermat-icon-button-hover:var(--fermat-color-neutral-200);color:var(--fermat-color-neutral-900)}.fermat-icon-button--tertiary{--fermat-icon-button-background:white;--fermat-icon-button-border:var(--fermat-color-brand-500);--fermat-icon-button-edge:var(--fermat-color-brand-700);--fermat-icon-button-hover:var(--fermat-color-brand-50);color:var(--fermat-color-brand-700)}.fermat-icon-button--ghost{color:var(--fermat-color-neutral-700)}.fermat-icon-button--danger{--fermat-icon-button-background:var(--fermat-color-danger-600);--fermat-icon-button-border:var(--fermat-color-danger-700);--fermat-icon-button-edge:var(--fermat-color-danger-800);--fermat-icon-button-hover:var(--fermat-color-danger-700);color:#fff}.fermat-icon-button--small{--fermat-icon-button-height:2.25rem;width:2.25rem;height:var(--fermat-icon-button-height);font-size:.875rem}.fermat-icon-button--medium{width:2.75rem;height:var(--fermat-icon-button-height);font-size:1rem}.fermat-icon-button--large{--fermat-icon-button-height:3.25rem;width:3.25rem;height:var(--fermat-icon-button-height);font-size:1.125rem}.fermat-icon-button__icon{justify-content:center;align-items:center;display:inline-flex}.fermat-badge{border-radius:var(--fermat-radius-sm);width:fit-content;font-family:var(--fermat-font-sans);white-space:nowrap;border:1px solid #0000;align-items:center;font-weight:650;line-height:1;display:inline-flex}.fermat-badge--small{padding:.2rem .45rem;font-size:.6875rem}.fermat-badge--medium{padding:.3rem .6rem;font-size:.75rem}.fermat-badge--neutral{border-color:var(--fermat-color-neutral-200);background:var(--fermat-color-neutral-100);color:var(--fermat-color-neutral-700)}.fermat-badge--brand{border-color:var(--fermat-color-brand-300);background:var(--fermat-color-brand-50);color:var(--fermat-color-brand-700)}.fermat-badge--success{border-color:var(--fermat-color-success-200);background:var(--fermat-color-success-50);color:var(--fermat-color-success-700)}.fermat-badge--warning{border-color:var(--fermat-color-warning-200);background:var(--fermat-color-warning-50);color:var(--fermat-color-warning-700)}.fermat-badge--danger{background:var(--fermat-color-danger-50);color:var(--fermat-color-danger-700);border-color:#fecaca}.fermat-callout{border:1px solid var(--fermat-callout-border);border-radius:var(--fermat-radius-md);background:var(--fermat-callout-background);color:var(--fermat-callout-color);font-family:var(--fermat-font-sans);align-items:flex-start;gap:.75rem;padding:1rem;display:flex}.fermat-callout--info{--fermat-callout-background:var(--fermat-color-info-50);--fermat-callout-border:var(--fermat-color-info-200);--fermat-callout-color:var(--fermat-color-info-700)}.fermat-callout--hint{--fermat-callout-background:var(--fermat-color-hint-50);--fermat-callout-border:var(--fermat-color-hint-200);--fermat-callout-color:var(--fermat-color-hint-700)}.fermat-callout--success{--fermat-callout-background:var(--fermat-color-success-50);--fermat-callout-border:var(--fermat-color-success-200);--fermat-callout-color:var(--fermat-color-success-700)}.fermat-callout--warning{--fermat-callout-background:var(--fermat-color-warning-50);--fermat-callout-border:var(--fermat-color-warning-200);--fermat-callout-color:var(--fermat-color-warning-700)}.fermat-callout--danger{--fermat-callout-background:var(--fermat-color-danger-50);--fermat-callout-border:#fecaca;--fermat-callout-color:var(--fermat-color-danger-700)}.fermat-callout__icon{flex:none;place-items:center;width:1.5rem;height:1.5rem;font-size:1rem;font-weight:800;display:inline-grid}.fermat-callout__content{min-width:0}.fermat-callout__title{margin-bottom:.2rem;font-size:.9375rem;font-weight:700;line-height:1.4}.fermat-callout__body{font-size:.9375rem;line-height:1.55}.fermat-field{width:100%;font-family:var(--fermat-font-sans);gap:.4rem;display:grid}.fermat-field__label{color:var(--fermat-color-neutral-900);font-size:.875rem;font-weight:650;line-height:1.4}.fermat-field__control{box-sizing:border-box;border:1px solid var(--fermat-color-neutral-300);border-radius:var(--fermat-radius-sm);width:100%;min-height:2.75rem;color:var(--fermat-color-neutral-900);font-family:var(--fermat-font-sans);background:#fff;padding:.7rem .8rem;font-size:1rem;line-height:1.4;transition:border-color .14s}.fermat-field__control::placeholder{color:var(--fermat-color-neutral-500)}.fermat-field__control:hover:not(:disabled){border-color:var(--fermat-color-neutral-500)}.fermat-field__control:focus{border-color:var(--fermat-color-brand-600);outline:var(--fermat-focus-outline);outline-offset:1px}.fermat-field__control:disabled{background:var(--fermat-color-neutral-100);cursor:not-allowed;opacity:.7}.fermat-field__control--invalid{border-color:var(--fermat-color-danger-600)}.fermat-field__control--small{min-height:2.25rem;padding:.5rem .7rem;font-size:.875rem}.fermat-field__control--large{min-height:3.25rem;padding:.85rem 1rem}.fermat-field__hint{color:var(--fermat-color-neutral-500);font-size:.8125rem;line-height:1.4}.fermat-field__error{color:var(--fermat-color-danger-700);font-size:.8125rem;font-weight:550;line-height:1.4}.fermat-textarea{min-height:6.5rem}.fermat-textarea--resize-none{resize:none}.fermat-textarea--resize-vertical{resize:vertical}.fermat-textarea--resize-both{resize:both}.fermat-select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--fermat-color-neutral-500) 50%), linear-gradient(135deg, var(--fermat-color-neutral-500) 50%, transparent 50%);background-position:calc(100% - 1rem) calc(50% - 2px),calc(100% - .7rem) calc(50% - 2px);background-repeat:no-repeat;background-size:.35rem .35rem,.35rem .35rem;padding-right:2.5rem}.fermat-check-field{font-family:var(--fermat-font-sans);gap:.35rem;display:grid}.fermat-check-field__label{width:fit-content;color:var(--fermat-color-neutral-900);cursor:pointer;align-items:flex-start;gap:.65rem;display:flex}.fermat-checkbox{width:1.125rem;height:1.125rem;accent-color:var(--fermat-color-brand-600);margin:.12rem 0 0}.fermat-checkbox:focus-visible{outline:var(--fermat-focus-outline);outline-offset:2px}.fermat-checkbox:disabled,.fermat-checkbox:disabled+span{cursor:not-allowed;opacity:.6}.fermat-check-field__title{font-size:.9375rem;font-weight:600;line-height:1.4;display:block}.fermat-check-field__description{color:var(--fermat-color-neutral-500);margin-top:.15rem;font-size:.8125rem;line-height:1.45;display:block}.fermat-check-field__error{margin-left:1.775rem}.fermat-choice-group{min-width:0;font-family:var(--fermat-font-sans);border:0;margin:0;padding:0}.fermat-choice-group__legend{color:var(--fermat-color-neutral-900);margin-bottom:.4rem;padding:0;font-size:1rem;font-weight:700;line-height:1.4}.fermat-choice-group__options{gap:.75rem;margin-top:.75rem;display:grid}.fermat-choice-group__options--2{grid-template-columns:repeat(2,minmax(0,1fr))}.fermat-choice{--fermat-choice-edge:var(--fermat-color-neutral-500);--fermat-choice-height:3.5rem;min-height:var(--fermat-choice-height);box-sizing:border-box;border:1px solid var(--fermat-color-neutral-300);border-bottom:4px solid var(--fermat-choice-edge);border-radius:var(--fermat-radius-md);color:var(--fermat-color-neutral-900);cursor:pointer;background:#fff;align-items:center;gap:.75rem;padding:.75rem;transition:border-color 70ms,background-color .12s;display:flex;position:relative}.fermat-choice:hover:not(.fermat-choice--disabled){border-color:var(--fermat-color-neutral-300);background:var(--fermat-color-neutral-50)}.fermat-choice:active:not(.fermat-choice--disabled){min-height:calc(var(--fermat-choice-height) - 3px);border-bottom-width:1px;margin-top:3px}.fermat-choice:has(.fermat-choice__input:focus-visible){border-color:var(--fermat-color-brand-600);outline:var(--fermat-focus-outline);outline-offset:2px}.fermat-choice--selected{--fermat-choice-edge:var(--fermat-color-brand-800);border-color:var(--fermat-color-brand-600);background:var(--fermat-color-brand-50)}.fermat-choice--disabled{cursor:not-allowed;opacity:.55}.fermat-choice__input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.fermat-choice__marker{border-radius:var(--fermat-radius-sm);background:var(--fermat-color-neutral-100);width:2rem;height:2rem;color:var(--fermat-color-neutral-700);flex:none;place-items:center;font-size:.8125rem;font-weight:750;display:inline-grid}.fermat-choice--selected .fermat-choice__marker{background:var(--fermat-color-brand-600);color:#fff}.fermat-choice__content{min-width:0}.fermat-choice__label{font-size:.9375rem;font-weight:600;line-height:1.4;display:block}.fermat-choice__description{color:var(--fermat-color-neutral-500);margin-top:.15rem;font-size:.8125rem;line-height:1.4;display:block}.fermat-question{border:1px solid var(--fermat-color-neutral-300);border-radius:var(--fermat-radius-md);color:var(--fermat-color-neutral-900);font-family:var(--fermat-font-sans);background:#fff;gap:1.5rem;padding:1.5rem;display:grid}.fermat-question__header{gap:.45rem;display:grid}.fermat-question__eyebrow{color:var(--fermat-color-brand-600);letter-spacing:.09em;text-transform:uppercase;font-size:.75rem;font-weight:750}.fermat-question__prompt{letter-spacing:-.02em;margin:0;font-size:clamp(1.35rem,3vw,1.75rem);line-height:1.25}.fermat-question__description{color:var(--fermat-color-neutral-500);font-size:.9375rem;line-height:1.55}.fermat-question__figure{border-radius:var(--fermat-radius-md);background:var(--fermat-color-neutral-50);place-items:center;min-height:8rem;margin:0;padding:1rem;display:grid;overflow:auto}.fermat-question__answer,.fermat-question__feedback{min-width:0}.fermat-question__actions{flex-wrap:wrap;justify-content:flex-end;gap:.75rem;padding-top:.25rem;display:flex}.fermat-radio-group{min-width:0;font-family:var(--fermat-font-sans);border:0;margin:0;padding:0}.fermat-radio-group__legend{margin-bottom:.4rem;padding:0}.fermat-radio-group__options{gap:.75rem 1.25rem;margin-top:.75rem;display:flex}.fermat-radio-group__options--vertical{flex-direction:column}.fermat-radio-group__options--horizontal{flex-flow:wrap}.fermat-radio{width:fit-content;color:var(--fermat-color-neutral-900);cursor:pointer;align-items:flex-start;gap:.6rem;display:inline-flex}.fermat-radio:has(.fermat-radio__input:disabled){cursor:not-allowed;opacity:.55}.fermat-radio__input{width:1.125rem;height:1.125rem;accent-color:var(--fermat-color-brand-600);flex:none;margin:.12rem 0 0}.fermat-radio__input:focus-visible{outline:var(--fermat-focus-outline);outline-offset:2px}.fermat-radio__label{font-size:.9375rem;font-weight:600;line-height:1.4;display:block}.fermat-radio__description{color:var(--fermat-color-neutral-500);margin-top:.15rem;font-size:.8125rem;line-height:1.4;display:block}.fermat-spinner{color:var(--fermat-color-brand-600);justify-content:center;align-items:center;display:inline-flex}.fermat-spinner__indicator{box-sizing:border-box;border:2px solid;border-right-color:#0000;border-radius:999px;width:100%;height:100%;animation:.7s linear infinite fermat-spin}.fermat-spinner--small{width:1rem;height:1rem}.fermat-spinner--medium{width:1.5rem;height:1.5rem}.fermat-spinner--large{width:2.25rem;height:2.25rem}.fermat-skeleton-group{gap:.5rem;width:100%;display:grid}.fermat-skeleton{background:linear-gradient(90deg, var(--fermat-color-neutral-100) 25%, var(--fermat-color-neutral-200) 50%, var(--fermat-color-neutral-100) 75%);background-size:200% 100%;border-radius:.35rem;max-width:100%;animation:1.4s ease-in-out infinite fermat-skeleton-pulse}.fermat-skeleton--text{width:100%;height:.9rem}.fermat-skeleton--rectangular{border-radius:var(--fermat-radius-md);width:100%;height:8rem}.fermat-skeleton--circular{border-radius:999px;width:2.75rem;height:2.75rem}@keyframes fermat-skeleton-pulse{0%{background-position:100% 0}to{background-position:-100% 0}}.fermat-empty-state{border:1px dashed var(--fermat-color-neutral-300);border-radius:var(--fermat-radius-md);background:var(--fermat-color-neutral-50);color:var(--fermat-color-neutral-900);text-align:center;font-family:var(--fermat-font-sans);justify-items:center;gap:.6rem;padding:3rem 1.5rem;display:grid}.fermat-empty-state--compact{padding:1.5rem 1rem}.fermat-empty-state__icon{border-radius:var(--fermat-radius-md);background:var(--fermat-color-brand-50);width:3rem;height:3rem;color:var(--fermat-color-brand-600);place-items:center;margin-bottom:.25rem;font-size:1.4rem;display:grid}.fermat-empty-state__title{font-size:1.0625rem;font-weight:700;line-height:1.35}.fermat-empty-state__description{max-width:30rem;color:var(--fermat-color-neutral-500);font-size:.9375rem;line-height:1.55}.fermat-empty-state__actions{flex-wrap:wrap;justify-content:center;gap:.75rem;margin-top:.5rem;display:flex}.fermat-stack{flex-direction:column;display:flex}.fermat-inline{display:flex}.fermat-inline--wrap{flex-wrap:wrap}.fermat-grid{display:grid}.fermat-gap--0{gap:0}.fermat-gap--1{gap:.25rem}.fermat-gap--2{gap:.5rem}.fermat-gap--3{gap:.75rem}.fermat-gap--4{gap:1rem}.fermat-gap--6{gap:1.5rem}.fermat-gap--8{gap:2rem}.fermat-align--start{align-items:flex-start}.fermat-align--center{align-items:center}.fermat-align--end{align-items:flex-end}.fermat-align--stretch{align-items:stretch}.fermat-justify--start{justify-content:flex-start}.fermat-justify--center{justify-content:center}.fermat-justify--end{justify-content:flex-end}.fermat-justify--between{justify-content:space-between}.fermat-dialog__overlay{z-index:1000;background:#0f172a94;animation:.16s ease-out fermat-overlay-in;position:fixed;inset:0}.fermat-dialog{z-index:1001;border:1px solid var(--fermat-color-neutral-200);border-radius:var(--fermat-radius-md);width:calc(100vw - 2rem);max-height:calc(100vh - 2rem);color:var(--fermat-color-neutral-900);font-family:var(--fermat-font-sans);background:#fff;padding:0;animation:.18s ease-out fermat-dialog-in;display:grid;position:fixed;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%)}.fermat-dialog:focus{outline:none}.fermat-dialog--small{max-width:26rem}.fermat-dialog--medium{max-width:34rem}.fermat-dialog--large{max-width:48rem}.fermat-dialog__header{border-bottom:1px solid var(--fermat-color-neutral-200);justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.25rem 1.5rem;display:flex}.fermat-dialog__title{letter-spacing:-.015em;margin:0;font-size:1.25rem;font-weight:750;line-height:1.3}.fermat-dialog__description{color:var(--fermat-color-neutral-500);margin:.35rem 0 0;font-size:.9rem;line-height:1.5}.fermat-dialog__close{border:1px solid #0000;border-bottom:3px solid var(--fermat-color-neutral-300);border-radius:var(--fermat-radius-sm);width:2.25rem;height:2.25rem;color:var(--fermat-color-neutral-500);font:inherit;cursor:pointer;background:0 0;flex:none;place-items:center;font-size:1.5rem;line-height:1;display:inline-grid}.fermat-dialog__close:hover{background:var(--fermat-color-neutral-100);color:var(--fermat-color-neutral-900)}.fermat-dialog__close:active{border-bottom-width:1px;height:calc(2.25rem - 2px);margin-top:2px}.fermat-dialog__close:focus-visible{outline:var(--fermat-focus-outline);outline-offset:2px}.fermat-dialog__body{min-height:0;padding:1.5rem;overflow-y:auto}.fermat-dialog__footer{border-top:1px solid var(--fermat-color-neutral-200);background:var(--fermat-color-neutral-50);flex-wrap:wrap;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;display:flex}@keyframes fermat-overlay-in{0%{opacity:0}}@keyframes fermat-dialog-in{0%{opacity:0;transform:translate(-50%,calc(8px - 50%))scale(.98)}}.fermat-tooltip{z-index:1100;background:var(--fermat-color-neutral-900);color:#fff;max-width:18rem;font-family:var(--fermat-font-sans);-webkit-user-select:none;user-select:none;border-radius:.4rem;padding:.4rem .6rem;font-size:.75rem;font-weight:550;line-height:1.35;animation:.12s ease-out fermat-tooltip-in}.fermat-tooltip__arrow{fill:var(--fermat-color-neutral-900)}@keyframes fermat-tooltip-in{0%{opacity:0;transform:scale(.96)}}.fermat-dropdown{z-index:1050;border:1px solid var(--fermat-color-neutral-200);border-radius:var(--fermat-radius-md);min-width:13rem;color:var(--fermat-color-neutral-900);font-family:var(--fermat-font-sans);background:#fff;padding:.35rem;animation:.14s ease-out fermat-dropdown-in}.fermat-dropdown__item{cursor:default;-webkit-user-select:none;user-select:none;border-radius:.4rem;outline:none;align-items:center;gap:.6rem;min-height:2.25rem;padding:.45rem .6rem;font-size:.875rem;line-height:1.3;display:flex;position:relative}.fermat-dropdown__item[data-highlighted]{background:var(--fermat-color-brand-50);color:var(--fermat-color-brand-700);outline:1px solid var(--fermat-color-brand-300)}.fermat-dropdown__item[data-disabled]{opacity:.45;pointer-events:none}.fermat-dropdown__icon{width:1rem;color:var(--fermat-color-neutral-500);justify-content:center;display:inline-flex}.fermat-dropdown__shortcut{color:var(--fermat-color-neutral-500);margin-left:auto;padding-left:1rem;font-size:.72rem}.fermat-dropdown__label{color:var(--fermat-color-neutral-500);letter-spacing:.07em;text-transform:uppercase;padding:.45rem .6rem .3rem;font-size:.7rem;font-weight:750}.fermat-dropdown__separator{background:var(--fermat-color-neutral-200);height:1px;margin:.3rem}.fermat-dropdown__checkbox{padding-left:2rem}.fermat-dropdown__indicator{display:inline-flex;position:absolute;left:.65rem}.fermat-dropdown__arrow{fill:#fff;stroke:var(--fermat-color-neutral-200);stroke-width:1px}@keyframes fermat-dropdown-in{0%{opacity:0;transform:translateY(-3px)scale(.98)}}.fermat-code-question{font-family:var(--fermat-font-sans);gap:1rem;display:grid}.fermat-code-question__figure{border:1px solid var(--fermat-color-neutral-700);border-radius:var(--fermat-radius-md);background:var(--fermat-color-neutral-900);color:var(--fermat-color-neutral-100);margin:0;overflow:hidden}.fermat-code-question__caption{border-bottom:1px solid var(--fermat-color-neutral-700);color:var(--fermat-color-neutral-300);font-family:var(--fermat-font-sans);letter-spacing:.08em;text-transform:uppercase;padding:.5rem .75rem;font-size:.72rem;font-weight:700}.fermat-code-question__code{min-height:6rem;max-height:24rem;font:.875rem/1.65 var(--fermat-font-mono);white-space:pre-wrap;margin:0;padding:1rem;overflow:auto}.fermat-code-question__answer{font-family:var(--fermat-font-mono)}.fermat-rating-scale,.fermat-reorder,.fermat-matching,.fermat-diagram-label{min-width:0;font-family:var(--fermat-font-sans);border:0;margin:0;padding:0}.fermat-rating-scale__options{grid-template-columns:repeat(auto-fit,minmax(3rem,1fr));gap:.6rem;margin-top:.75rem;display:grid}.fermat-rating-scale__option{cursor:pointer;min-width:0;position:relative}.fermat-rating-scale__input{opacity:0;width:1px;height:1px;position:absolute}.fermat-rating-scale__value{--fermat-rating-edge:var(--fermat-color-neutral-500);--fermat-rating-height:3rem;min-height:var(--fermat-rating-height);border:1px solid var(--fermat-color-neutral-300);border-bottom:4px solid var(--fermat-rating-edge);border-radius:var(--fermat-radius-md);color:var(--fermat-color-neutral-700);background:#fff;place-items:center;font-weight:750;transition:border-color .12s,background-color .12s,color .12s;display:grid}.fermat-rating-scale__option:hover .fermat-rating-scale__value{border-color:var(--fermat-color-brand-600)}.fermat-rating-scale__option:active .fermat-rating-scale__value{min-height:calc(var(--fermat-rating-height) - 3px);border-bottom-width:1px;margin-top:3px}.fermat-rating-scale__input:focus-visible+.fermat-rating-scale__value{outline:var(--fermat-focus-outline);outline-offset:2px}.fermat-rating-scale__input:checked+.fermat-rating-scale__value{--fermat-rating-edge:var(--fermat-color-brand-800);border-color:var(--fermat-color-brand-700);background:var(--fermat-color-brand-600);color:#fff}.fermat-rating-scale__input:disabled+.fermat-rating-scale__value{cursor:not-allowed;opacity:.55}.fermat-rating-scale__labels{color:var(--fermat-color-neutral-500);justify-content:space-between;gap:1rem;margin-top:.5rem;font-size:.75rem;line-height:1.4;display:flex}.fermat-rating-scale__labels>:last-child{text-align:right}.fermat-reorder__list{gap:.6rem;margin:.75rem 0 0;padding:0;list-style:none;display:grid}.fermat-reorder__item{border:1px solid var(--fermat-color-neutral-200);border-radius:var(--fermat-radius-md);background:#fff;align-items:center;gap:.75rem;min-width:0;padding:.6rem;display:flex}.fermat-reorder__item[draggable=true]{cursor:grab}.fermat-reorder__item--dragging{opacity:.45}.fermat-reorder__position{border-radius:var(--fermat-radius-sm);background:var(--fermat-color-neutral-100);width:2rem;height:2rem;color:var(--fermat-color-neutral-500);flex:none;place-items:center;font-size:.8rem;font-weight:750;display:grid}.fermat-reorder__content{min-width:0;color:var(--fermat-color-neutral-900);flex:1;font-size:.9375rem;line-height:1.45}.fermat-reorder__actions{flex:none;gap:.2rem;display:inline-flex}.fermat-matching__rows{gap:.75rem;margin-top:.75rem;display:grid}.fermat-matching__row{border:1px solid var(--fermat-color-neutral-200);border-radius:var(--fermat-radius-md);background:var(--fermat-color-neutral-50);grid-template-columns:minmax(0,1fr) auto minmax(12rem,1fr);align-items:center;gap:.75rem;padding:.75rem;display:grid}.fermat-matching__prompt{min-width:0;color:var(--fermat-color-neutral-900);align-items:center;gap:.65rem;font-size:.9375rem;line-height:1.45;display:flex}.fermat-matching__marker{border-radius:var(--fermat-radius-sm);background:var(--fermat-color-brand-600);color:#fff;flex:none;place-items:center;width:1.75rem;height:1.75rem;font-size:.75rem;font-weight:750;display:grid}.fermat-matching__connector{color:var(--fermat-color-neutral-500)}.fermat-diagram-label__canvas{border:1px solid var(--fermat-color-neutral-200);border-radius:var(--fermat-radius-md);background:var(--fermat-color-neutral-50);min-height:20rem;margin-top:.75rem;position:relative;overflow:hidden}.fermat-diagram-label__image{object-fit:contain;width:100%;height:100%;display:block}.fermat-diagram-label__control{align-items:center;gap:.3rem;width:min(10rem,24%);display:flex;position:absolute;transform:translate(-50%,-50%)}.fermat-diagram-label__pin{border-radius:var(--fermat-radius-sm);background:var(--fermat-color-brand-600);color:#fff;border:2px solid #fff;flex:none;place-items:center;width:1.7rem;height:1.7rem;font-size:.72rem;font-weight:800;display:grid}.fermat-diagram-label__control .fermat-field__control{background:#fffffff0;min-width:0}.fermat-diagram-label__summary{display:none}.fermat-table-wrap{border:1px solid var(--fermat-color-neutral-200);border-radius:var(--fermat-radius-md);background:#fff;width:100%;overflow-x:auto}.fermat-table{border-collapse:collapse;width:100%;color:var(--fermat-color-neutral-900);font-family:var(--fermat-font-sans);font-size:.875rem}.fermat-table__caption{text-align:left;background:#fff;padding:.85rem 1rem;font-size:.9375rem;font-weight:750}.fermat-table th{border-bottom:1px solid var(--fermat-color-neutral-200);background:var(--fermat-color-neutral-50);color:var(--fermat-color-neutral-700);letter-spacing:.035em;text-align:left;text-transform:uppercase;padding:.65rem .85rem;font-size:.75rem;font-weight:750}.fermat-table td{border-bottom:1px solid var(--fermat-color-neutral-100);vertical-align:top;padding:.75rem .85rem;line-height:1.45}.fermat-table tbody tr:last-child td{border-bottom:0}.fermat-table tbody tr:nth-child(2n){background:var(--fermat-color-neutral-50)}.fermat-table__cell--left{text-align:left}.fermat-table__cell--center{text-align:center}.fermat-table__cell--right{text-align:right}.fermat-table__sort{width:100%;color:inherit;font:inherit;letter-spacing:inherit;text-align:inherit;text-transform:inherit;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:.5rem;padding:0;display:flex}.fermat-table__sort:focus-visible{border-radius:var(--fermat-radius-sm);outline:var(--fermat-focus-outline);outline-offset:2px}.fermat-table__empty{color:var(--fermat-color-neutral-500);text-align:center;padding:2rem!important}.fermat-editable-table{font-family:var(--fermat-font-sans);gap:.75rem;display:grid}.fermat-editable-table__table th,.fermat-editable-table__table td{min-width:10rem;padding:.4rem}.fermat-editable-table__header{align-items:center;gap:.25rem;display:flex}.fermat-editable-table__header .fermat-field{flex:1;min-width:7rem}.fermat-editable-table__action-column{width:3rem;text-align:center!important;min-width:3rem!important}.fermat-editable-table__actions{flex-wrap:wrap;gap:.5rem;display:flex}@media (max-width:600px){.fermat-choice-group__options--2{grid-template-columns:1fr}.fermat-question{padding:1.1rem}.fermat-question__actions>*{flex:1}.fermat-matching__row{grid-template-columns:1fr}.fermat-matching__connector{display:none}.fermat-diagram-label__canvas{background:0 0;border:0;gap:.75rem;min-height:0;display:grid;overflow:visible;aspect-ratio:auto!important}.fermat-diagram-label__image{border:1px solid var(--fermat-color-neutral-200);border-radius:var(--fermat-radius-md)}.fermat-diagram-label__control{width:100%;position:static;transform:none}.fermat-diagram-label__summary{display:none}}
.fermat-code-lab{border:1px solid var(--fermat-color-neutral-300);border-radius:var(--fermat-radius-md);background:var(--fermat-color-neutral-0);width:100%;min-width:0;color:var(--fermat-color-neutral-900);font-family:var(--fermat-font-sans);overflow:hidden}.fermat-code-lab__header{border-bottom:1px solid var(--fermat-color-neutral-200);justify-content:space-between;align-items:center;gap:1rem;min-height:3.75rem;padding:.65rem .75rem .65rem 1rem;display:flex}.fermat-code-lab__header h2{margin:0;font-size:1rem;font-weight:750;line-height:1.3}.fermat-code-lab__actions{flex:none;align-items:center;gap:.5rem;display:flex}.fermat-code-lab__workspace{grid-template-columns:minmax(13rem,18rem) minmax(0,1fr);min-width:0;display:grid}.fermat-code-lab--without-instructions .fermat-code-lab__workspace{grid-template-columns:minmax(0,1fr)}.fermat-code-lab__instructions{border-right:1px solid var(--fermat-color-neutral-200);background:var(--fermat-color-neutral-50);min-width:0;padding:1rem}.fermat-code-lab__instructions h3,.fermat-code-lab__preview h3,.fermat-code-output__toolbar h3{color:var(--fermat-color-neutral-500);letter-spacing:.055em;text-transform:uppercase;margin:0;font-size:.72rem;font-weight:750;line-height:1.3}.fermat-code-lab__instructions>div{color:var(--fermat-color-neutral-700);margin-top:.75rem;font-size:.875rem;line-height:1.55}.fermat-code-lab__instructions :first-child{margin-top:0}.fermat-code-lab__instructions :last-child{margin-bottom:0}.fermat-code-lab__main{min-width:0}.fermat-code-lab__workbench{min-width:0;display:grid}.fermat-code-lab__workbench--with-preview{grid-template-columns:minmax(0,1.4fr) minmax(15rem,.9fr)}.fermat-code-editor{--fermat-code-editor-line-height:1.44375rem;background:var(--fermat-color-neutral-900);min-width:0;color:var(--fermat-color-neutral-100)}.fermat-code-editor__toolbar,.fermat-code-output__toolbar{justify-content:space-between;align-items:center;gap:.75rem;min-height:2.75rem;padding:.5rem .75rem;display:flex}.fermat-code-editor__toolbar{border-bottom:1px solid var(--fermat-color-neutral-700);background:color-mix(in srgb, var(--fermat-color-neutral-900) 90%, black)}.fermat-code-editor__file{color:var(--fermat-color-neutral-300);font:.75rem/1.3 var(--fermat-font-mono);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.fermat-code-editor__body{grid-template-columns:auto minmax(0,1fr);min-width:0;display:grid}.fermat-code-editor__input-wrap{background:var(--fermat-color-neutral-900);min-width:0;position:relative;overflow:hidden}.fermat-code-editor__lines,.fermat-code-editor__input{box-sizing:border-box;min-height:21rem;max-height:34rem;font:.875rem/1.65 var(--fermat-font-mono);tab-size:2;border:0;margin:0;padding-top:1rem;padding-bottom:1rem}.fermat-code-editor__lines{border-right:1px solid var(--fermat-color-neutral-700);background:color-mix(in srgb, var(--fermat-color-neutral-900) 94%, black);color:var(--fermat-color-neutral-300);text-align:right;-webkit-user-select:none;user-select:none;padding-left:.7rem;padding-right:.7rem;overflow:hidden}.fermat-code-editor__lines>span{height:var(--fermat-code-editor-line-height);margin-right:-.7rem;padding-right:.7rem;display:block}.fermat-code-editor__line--active{background:color-mix(in srgb, var(--fermat-color-purple-500) 24%, transparent);color:var(--fermat-color-neutral-300)}.fermat-code-editor__line--current{background:color-mix(in srgb, var(--fermat-color-brand-500) 34%, transparent);color:var(--fermat-color-brand-300);font-weight:700}.fermat-code-editor__highlights{z-index:0;pointer-events:none;will-change:transform;padding:1rem 0;position:absolute;top:0;left:0;right:0}.fermat-code-editor__highlight{height:var(--fermat-code-editor-line-height);box-sizing:border-box;display:block}.fermat-code-editor__highlight--active{border-left:3px solid var(--fermat-color-purple-500);background:color-mix(in srgb, var(--fermat-color-purple-500) 13%, transparent)}.fermat-code-editor__highlight--current{border-left-color:var(--fermat-color-brand-300);background:color-mix(in srgb, var(--fermat-color-brand-500) 20%, transparent)}.fermat-code-editor__input{z-index:1;resize:none;width:100%;min-width:0;color:var(--fermat-color-neutral-100);caret-color:var(--fermat-color-brand-300);background:0 0;outline:0;padding-left:1rem;padding-right:1rem;display:block;position:relative;overflow:auto}.fermat-code-editor__input:focus-visible{box-shadow:inset 0 0 0 2px var(--fermat-color-brand-300)}.fermat-code-editor__input:disabled{cursor:not-allowed;opacity:.55}.fermat-code-lab__preview{border-left:1px solid var(--fermat-color-neutral-200);background:var(--fermat-color-neutral-50);grid-template-rows:auto minmax(0,1fr);min-width:0;display:grid}.fermat-code-lab__preview>header{border-bottom:1px solid var(--fermat-color-neutral-200);align-items:center;min-height:2.75rem;padding:.5rem .75rem;display:flex}.fermat-code-lab__preview>div{place-items:stretch stretch;min-width:0;display:grid}.fermat-code-turtle{width:100%;height:100%;min-height:21rem;max-height:34rem;display:block}.fermat-code-turtle__background{fill:var(--fermat-color-neutral-0)}.fermat-code-turtle__grid-line{fill:none;stroke:var(--fermat-color-neutral-100);stroke-width:.35px}.fermat-code-turtle__path{fill:none;stroke:var(--fermat-color-brand-600);stroke-linecap:round;stroke-linejoin:round;stroke-width:1.15px}.fermat-code-turtle__tail,.fermat-code-turtle__head,.fermat-code-turtle__foot{fill:var(--fermat-color-green-400);stroke:var(--fermat-color-neutral-900);stroke-width:.45px}.fermat-code-turtle__shell{fill:var(--fermat-color-brand-600);stroke:var(--fermat-color-neutral-900);stroke-width:.55px}.fermat-code-turtle__shell-mark{fill:none;stroke:var(--fermat-color-brand-300);stroke-linejoin:round;stroke-width:.55px}.fermat-code-turtle__eye{fill:var(--fermat-color-neutral-900)}.fermat-code-output{border-top:1px solid var(--fermat-color-neutral-200);background:var(--fermat-color-neutral-0);min-height:8.5rem}.fermat-code-output__toolbar{border-bottom:1px solid var(--fermat-color-neutral-200);background:var(--fermat-color-neutral-50)}.fermat-code-output__content{box-sizing:border-box;min-height:5.5rem;color:var(--fermat-color-neutral-700);font:.8125rem/1.6 var(--fermat-font-mono);white-space:pre-wrap;margin:0;padding:.85rem 1rem;overflow:auto}@media (max-width:48rem){.fermat-code-lab__workspace{grid-template-columns:minmax(0,1fr)}.fermat-code-lab__instructions{border-right:0;border-bottom:1px solid var(--fermat-color-neutral-200)}.fermat-code-lab__workbench--with-preview{grid-template-columns:minmax(0,1fr)}.fermat-code-lab__preview{border-top:1px solid var(--fermat-color-neutral-200);border-left:0}.fermat-code-editor__lines,.fermat-code-editor__input,.fermat-code-turtle{min-height:18rem}}@media (max-width:30rem){.fermat-code-lab__header{align-items:flex-start}.fermat-code-lab__actions{flex-wrap:wrap;justify-content:flex-end}}
.fermat-lab-layout{box-sizing:border-box;border:1px solid var(--fermat-color-neutral-300);border-radius:var(--fermat-radius-md);background:var(--fermat-color-neutral-0);width:100%;min-width:0;color:var(--fermat-color-neutral-900);font-family:var(--fermat-font-sans);overflow:hidden}.fermat-lab-layout__header,.fermat-lab-layout__toolbar{border-bottom:1px solid var(--fermat-color-neutral-200);justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1rem;display:flex}.fermat-lab-layout__header h2{margin:0;font-size:1rem;font-weight:750;line-height:1.3}.fermat-lab-layout__actions{align-items:center;gap:.5rem;display:flex}.fermat-lab-layout__toolbar{background:var(--fermat-color-neutral-50);justify-content:stretch}.fermat-lab-layout__toolbar>*{flex:1}.fermat-lab-layout__workspace{grid-template-columns:minmax(0,1fr) minmax(15rem,19rem);min-width:0;display:grid}.fermat-lab-layout__main{align-content:start;min-width:0;display:grid}.fermat-lab-layout__controls{border-left:1px solid var(--fermat-color-neutral-200);background:var(--fermat-color-neutral-50);min-width:0}.fermat-lab-layout__readouts{border-top:1px solid var(--fermat-color-neutral-200);padding:.75rem}.fermat-lab-stage{background:var(--fermat-color-neutral-0);isolation:isolate;min-width:0;min-height:0;position:relative;overflow:hidden}.fermat-lab-stage--grid{background:linear-gradient(var(--fermat-color-neutral-100) 1px, transparent 1px), linear-gradient(90deg, var(--fermat-color-neutral-100) 1px, transparent 1px), var(--fermat-color-neutral-0);background-size:2rem 2rem}.fermat-lab-stage--dark{background:radial-gradient(circle at 50% 35%, color-mix(in srgb, var(--fermat-color-info-700) 28%, transparent), transparent 52%), var(--fermat-color-neutral-900);color:var(--fermat-color-neutral-0)}.fermat-lab-stage__content{place-items:stretch stretch;min-width:0;display:grid;position:absolute;inset:0}.fermat-lab-stage__content>svg,.fermat-lab-stage__content>canvas{width:100%;height:100%;display:block}.fermat-lab-stage__overlay{z-index:1;pointer-events:none;position:absolute;inset:0}.fermat-lab-stage__overlay>[data-interactive]{pointer-events:auto}.fermat-lab-panel{border-bottom:1px solid var(--fermat-color-neutral-200);min-width:0}.fermat-lab-panel:last-child{border-bottom:0}.fermat-lab-panel__header{justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem 1rem 0;display:flex}.fermat-lab-panel__header h3{color:var(--fermat-color-neutral-700);letter-spacing:.035em;text-transform:uppercase;margin:0;font-size:.75rem;font-weight:750;line-height:1.3}.fermat-lab-panel__content{gap:1rem;padding:1rem;display:grid}.fermat-variable-control{min-width:0;color:var(--fermat-color-neutral-900);font-family:var(--fermat-font-sans);gap:.55rem;display:grid}.fermat-variable-control__header{justify-content:space-between;align-items:baseline;gap:.75rem;display:flex}.fermat-variable-control__header>label{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.8125rem;font-weight:650;line-height:1.35;overflow:hidden}.fermat-variable-control__header output{color:var(--fermat-color-neutral-700);font-family:var(--fermat-font-mono);flex:none;font-size:.75rem;font-weight:700}.fermat-variable-control__header output>span{color:var(--fermat-color-neutral-500);font-family:var(--fermat-font-sans);margin-left:.25rem}.fermat-variable-control__inputs{grid-template-columns:minmax(5rem,1fr) 6.4rem;align-items:center;gap:.65rem;display:grid}.fermat-variable-control__range{width:100%;min-width:0;height:1.25rem;accent-color:var(--fermat-color-brand-600);cursor:ew-resize;margin:0}.fermat-variable-control__range:focus-visible{outline:var(--fermat-focus-outline);outline-offset:2px}.fermat-variable-control__range:disabled{cursor:not-allowed;opacity:.55}.fermat-variable-control__number-wrap{border:1px solid var(--fermat-color-neutral-300);border-radius:var(--fermat-radius-sm);background:var(--fermat-color-neutral-0);align-items:center;min-width:0;display:flex;overflow:hidden}.fermat-variable-control__number-wrap:focus-within{border-color:var(--fermat-color-brand-600);outline:var(--fermat-focus-outline);outline-offset:1px}.fermat-variable-control__number{width:100%;min-width:0;color:var(--fermat-color-neutral-900);font:.75rem/1.2 var(--fermat-font-mono);background:0 0;border:0;outline:0;padding:.4rem .25rem .4rem .5rem}.fermat-variable-control__number-wrap>span{color:var(--fermat-color-neutral-500);flex:none;padding-right:.5rem;font-size:.6875rem;font-weight:650}.fermat-variable-control__number:disabled{cursor:not-allowed;opacity:.55}.fermat-measurement-group{gap:.5rem;min-width:0;margin:0;display:grid}.fermat-measurement{--fermat-measurement-accent:var(--fermat-color-neutral-500);border:1px solid var(--fermat-color-neutral-200);border-left:3px solid var(--fermat-measurement-accent);border-radius:var(--fermat-radius-sm);background:var(--fermat-color-neutral-50);min-width:0;padding:.55rem .65rem}.fermat-measurement--brand{--fermat-measurement-accent:var(--fermat-color-brand-600)}.fermat-measurement--warning{--fermat-measurement-accent:var(--fermat-color-warning-700);background:var(--fermat-color-warning-50)}.fermat-measurement--danger{--fermat-measurement-accent:var(--fermat-color-danger-600);background:var(--fermat-color-danger-50)}.fermat-measurement dt{color:var(--fermat-color-neutral-500);text-overflow:ellipsis;white-space:nowrap;font-size:.6875rem;font-weight:700;line-height:1.2;overflow:hidden}.fermat-measurement dd{align-items:baseline;gap:.3rem;min-width:0;margin:.2rem 0 0;display:flex}.fermat-measurement dd>span{min-width:0;font-family:var(--fermat-font-mono);text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;font-weight:700;line-height:1.3;overflow:hidden}.fermat-measurement dd>small{color:var(--fermat-color-neutral-500);font-size:.6875rem;font-weight:650}.fermat-simulation-controls{min-width:0;color:var(--fermat-color-neutral-900);font-family:var(--fermat-font-sans);align-items:center;gap:.75rem;display:flex}.fermat-simulation-controls__buttons{flex:none;gap:.3rem;display:flex}.fermat-simulation-controls__buttons svg{fill:currentColor;width:1rem;height:1rem;display:block;overflow:visible}.fermat-simulation-controls__timeline{flex:1;align-items:center;gap:.6rem;min-width:7rem;display:flex}.fermat-simulation-controls__timeline input{width:100%;min-width:4rem;accent-color:var(--fermat-color-brand-600);margin:0}.fermat-simulation-controls__timeline input:focus-visible{outline:var(--fermat-focus-outline);outline-offset:2px}.fermat-simulation-controls output{color:var(--fermat-color-neutral-700);font-family:var(--fermat-font-mono);white-space:nowrap;flex:none;font-size:.75rem;font-weight:700}.fermat-simulation-controls__time{margin-right:auto}.fermat-simulation-controls__speed select{border:1px solid var(--fermat-color-neutral-300);border-radius:var(--fermat-radius-sm);background:var(--fermat-color-neutral-0);min-height:2.25rem;color:var(--fermat-color-neutral-900);font:.75rem var(--fermat-font-mono);padding:.35rem 1.6rem .35rem .5rem}.fermat-simulation-controls__speed select:focus-visible{outline:var(--fermat-focus-outline);outline-offset:1px}.fermat-layer-controls{flex-wrap:wrap;gap:.35rem;display:flex}.fermat-layer-controls button{border:1px solid var(--fermat-color-neutral-300);border-radius:var(--fermat-radius-sm);background:var(--fermat-color-neutral-0);color:var(--fermat-color-neutral-700);font:650 .75rem/1 var(--fermat-font-sans);cursor:pointer;padding:.38rem .55rem}.fermat-layer-controls button:hover:not(:disabled){background:var(--fermat-color-neutral-100)}.fermat-layer-controls button[aria-pressed=true]{border-color:var(--fermat-color-brand-700);background:var(--fermat-color-brand-600);color:#fff}.fermat-layer-controls button:focus-visible{outline:var(--fermat-focus-outline);outline-offset:2px}.fermat-layer-controls button:disabled{cursor:not-allowed;opacity:.5}.fermat-scientific-svg--brand{color:var(--fermat-color-brand-600)}.fermat-scientific-svg--purple{color:var(--fermat-color-purple-500)}.fermat-scientific-svg--orange{color:var(--fermat-color-orange-500)}.fermat-scientific-svg--danger{color:var(--fermat-color-danger-600)}.fermat-scientific-svg--neutral{color:var(--fermat-color-neutral-700)}.fermat-vector-arrow{pointer-events:none}.fermat-vector-arrow line{stroke:currentColor;stroke-linecap:round;stroke-width:3px}.fermat-vector-arrow path{fill:currentColor}.fermat-vector-arrow text,.fermat-measurement-probe text{fill:currentColor;font-family:var(--fermat-font-sans);paint-order:stroke;stroke:var(--fermat-color-neutral-0);stroke-linejoin:round;stroke-width:4px;font-size:12px;font-weight:700}.fermat-measurement-probe{cursor:crosshair}.fermat-measurement-probe>circle:first-child{fill:color-mix(in srgb, currentColor 12%, white);stroke:currentColor;stroke-width:2px}.fermat-measurement-probe line{stroke:currentColor;stroke-linecap:round;stroke-width:1.5px}.fermat-measurement-probe__center{fill:currentColor}.fermat-measurement-probe--active>circle:first-child{fill:color-mix(in srgb, currentColor 25%, white);stroke-width:3px}.fermat-measurement-probe:focus-visible{outline:none}.fermat-measurement-probe:focus-visible>circle:first-child{stroke:var(--fermat-color-neutral-900);stroke-width:4px}.fermat-force-diagram>circle{fill:var(--fermat-color-neutral-900);stroke:#fff;stroke-width:1.5px}.fermat-motion-path>polyline{fill:none;stroke:currentColor;stroke-dasharray:6 5;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.5px}.fermat-motion-path>circle{fill:currentColor;stroke:#fff;stroke-width:1px}.fermat-vector-field .fermat-vector-arrow{opacity:.72}.fermat-vector-field .fermat-vector-arrow line{stroke-width:1.5px}@media (max-width:54rem){.fermat-lab-layout__workspace{grid-template-columns:minmax(0,1fr)}.fermat-lab-layout__controls{border-top:1px solid var(--fermat-color-neutral-200);border-left:0;grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));display:grid}.fermat-lab-panel{border-right:1px solid var(--fermat-color-neutral-200)}}@media (max-width:34rem){.fermat-lab-layout__header{align-items:flex-start}.fermat-lab-layout__toolbar{padding:.6rem}.fermat-simulation-controls{flex-wrap:wrap}.fermat-simulation-controls__timeline{flex-basis:100%;order:3;width:100%}.fermat-variable-control__inputs{grid-template-columns:minmax(4rem,1fr) 5.5rem}}
.fermat-spatial-surface{--fermat-spatial-grid-color:color-mix(in srgb, var(--fermat-border,#cbd5e1) 54%, transparent);background:var(--fermat-surface,#fff);border:1px solid var(--fermat-border,#cbd5e1);box-sizing:border-box;touch-action:none;-webkit-user-select:none;user-select:none;border-radius:14px;min-height:320px;position:relative;overflow:hidden}.fermat-spatial-surface:focus-visible{outline:2px solid var(--fermat-focus,#2563eb);outline-offset:2px}.fermat-spatial-surface__grid{background-image:linear-gradient(to right, var(--fermat-spatial-grid-color) 1px, transparent 1px), linear-gradient(to bottom, var(--fermat-spatial-grid-color) 1px, transparent 1px);pointer-events:none;position:absolute;inset:0}.fermat-spatial-surface__world{transform-origin:0 0;position:absolute;top:0;left:0}.fermat-spatial-surface__controls{background:color-mix(in srgb, var(--fermat-surface,#fff) 90%, transparent);border:1px solid var(--fermat-border,#cbd5e1);z-index:10;border-radius:10px;align-items:center;gap:2px;padding:4px;display:flex;position:absolute;bottom:12px;right:12px;box-shadow:0 4px 14px #0f172a1a}.fermat-spatial-surface__fit{border:0;border-left:1px solid var(--fermat-border,#cbd5e1);color:var(--fermat-text,#17211e);cursor:pointer;font:600 .75rem/1 var(--fermat-font-sans,sans-serif);background:0 0;min-height:28px;margin-left:2px;padding:0 8px}.fermat-spatial-surface__fit:focus-visible{outline:2px solid var(--fermat-focus,#2563eb);outline-offset:-2px;border-radius:5px}.fermat-spatial-object{box-sizing:border-box;transform-origin:50%;position:absolute}.fermat-spatial-object--selected{outline:2px solid var(--fermat-focus,#2563eb);outline-offset:4px}
.fermat-edge-dock{z-index:900;width:fit-content;max-width:calc(100vw - 2rem);transition:left .18s,top .18s;position:fixed}.fermat-edge-dock--dragging{cursor:grabbing;-webkit-user-select:none;user-select:none;transition:none}@media (prefers-reduced-motion:reduce){.fermat-edge-dock{transition:none}}
.fermat-tutor-call-card{background:var(--fermat-color-neutral-900);color:#fff;width:clamp(13rem,19vw,17rem);font-family:var(--fermat-font-sans);isolation:isolate;border:1px solid #ffffff6b;border-radius:.85rem;position:relative;overflow:hidden;box-shadow:0 1rem 2.8rem #1325223d}.fermat-tutor-call-card__media{aspect-ratio:16/9;cursor:grab;touch-action:none;background:radial-gradient(circle at 68% 20%,#3dd6c273,#0000 42%),linear-gradient(145deg,#073b39 0%,#132522 72%);outline:none;place-items:center;display:grid;position:relative;overflow:hidden}.fermat-tutor-call-card__media:active{cursor:grabbing}.fermat-tutor-call-card__media:focus-visible{box-shadow:inset 0 0 0 3px var(--fermat-color-brand-300)}.fermat-tutor-call-card__identity{z-index:2;text-shadow:0 1px 6px #00000073;gap:.12rem;display:grid;position:absolute;top:.7rem;left:.75rem}.fermat-tutor-call-card__identity strong{font-size:.9rem}.fermat-tutor-call-card__identity span{align-items:center;gap:.35rem;font-size:.68rem;display:flex}.fermat-tutor-call-card__identity i{background:var(--fermat-color-green-400);border-radius:50%;width:.45rem;height:.45rem;box-shadow:0 0 0 3px #66d33f2e}.fermat-tutor-call-card__visual{color:#fff;background:#007f76b8;border:1px solid #ffffff47;border-radius:50%;place-items:center;width:4.4rem;height:4.4rem;font-size:1.8rem;font-weight:800;display:grid;box-shadow:0 0 0 .75rem #007f761f}.fermat-tutor-call-card__controls{-webkit-backdrop-filter:blur(16px)saturate(130%);backdrop-filter:blur(16px)saturate(130%);background:#132522bd;border-top:1px solid #ffffff1a;justify-content:center;gap:.5rem;padding:.55rem;display:flex}.fermat-tutor-call-card__controls .fermat-icon-button--secondary{--fermat-icon-button-background:#ffffff1f;--fermat-icon-button-border:#fff3;--fermat-icon-button-edge:#00000052;--fermat-icon-button-hover:#fff3;color:#fff}.fermat-tutor-companion-panel{z-index:890;width:min(24rem,100vw - 2rem);height:auto;max-height:min(34rem,100dvh - 2rem);color:var(--fermat-color-neutral-900);font-family:var(--fermat-font-sans);-webkit-backdrop-filter:blur(24px)saturate(145%);backdrop-filter:blur(24px)saturate(145%);background:#f7f9f8bd;border:1px solid #ffffffa6;border-radius:.9rem;grid-template-rows:minmax(0,1fr);display:grid;position:fixed;overflow:hidden;box-shadow:0 1.2rem 3rem #13252238}.fermat-tutor-companion-panel__body{min-height:0;overflow:hidden}.fermat-tutor-conversation{height:auto;min-height:0;max-height:32.7rem;display:grid}.fermat-tutor-conversation[data-latest-message-position=end],.fermat-tutor-conversation[data-latest-message-position=start]{grid-template-rows:auto auto}.fermat-tutor-conversation__messages{scrollbar-width:thin;align-content:start;gap:.65rem;min-height:8rem;max-height:24rem;padding:.85rem;display:grid;overflow-y:auto}.fermat-tutor-conversation__messages[data-latest-message-position=end]{flex-direction:column;display:flex}.fermat-tutor-conversation__messages[data-latest-message-position=end]>*{flex:none}.fermat-tutor-conversation__messages[data-latest-message-position=end]>[data-role]:first-child{margin-top:auto}.fermat-tutor-conversation__messages[data-latest-message-position=start]{flex-direction:column;justify-content:flex-start;display:flex}.fermat-tutor-conversation__messages[data-latest-message-position=start]>*{flex:none}.fermat-tutor-conversation__messages[data-latest-message-position=start][data-older-overflow=true]{-webkit-mask-image:linear-gradient(#000 0 calc(100% - 1rem),#0000 100%);mask-image:linear-gradient(#000 0 calc(100% - 1rem),#0000 100%)}.fermat-tutor-conversation__messages[data-latest-message-position=end][data-older-overflow=true]{-webkit-mask-image:linear-gradient(#0000 0,#000 1rem 100%);mask-image:linear-gradient(#0000 0,#000 1rem 100%)}.fermat-tutor-conversation[data-latest-message-position=start] .fermat-tutor-conversation__composer{grid-row:1}.fermat-tutor-conversation__messages>[data-role=learner]{margin-left:1.5rem}.fermat-tutor-conversation__messages>[data-role=learner] .fermat-tutor-message{border-color:var(--fermat-color-neutral-300);color:var(--fermat-color-neutral-900);background:#ffffffb8;border-left-width:1px}.fermat-tutor-conversation__empty,.fermat-tutor-goals__empty{color:var(--fermat-color-neutral-500);margin:0;font-size:.88rem;line-height:1.5}.fermat-tutor-conversation__composer{background:#ffffff6b;border-top:1px solid #b8c3bfb3;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:.55rem;padding:.7rem;display:grid}.fermat-tutor-conversation__composer .fermat-button{min-height:2.75rem}.fermat-tutor-goals{height:100%;padding:.85rem;overflow-y:auto}.fermat-tutor-goals__list{gap:.65rem;margin:0;padding:0;list-style:none;display:grid}.fermat-tutor-goals__item{background:#ffffff94;border:1px solid #b8c3bfc2;border-radius:.65rem;gap:.35rem;padding:.75rem;display:grid}.fermat-tutor-goals__item[data-status=current]{border-left:4px solid var(--fermat-color-brand-600)}.fermat-tutor-goals__item[data-status=completed]{border-left:4px solid var(--fermat-color-green-600)}.fermat-tutor-goals__heading{justify-content:space-between;align-items:start;gap:.75rem;display:flex}.fermat-tutor-goals__heading strong{font-size:.9rem;line-height:1.35}.fermat-tutor-goals__item p{color:var(--fermat-color-neutral-500);margin:0;font-size:.8rem;line-height:1.45}@media (max-width:767px){.fermat-tutor-call-card{width:min(12rem,100vw - 2rem)}.fermat-tutor-call-card__visual{width:3.2rem;height:3.2rem;font-size:1.3rem}.fermat-tutor-companion-panel{width:auto;height:min(32rem,68dvh);max-height:min(32rem,68dvh);inset:auto .75rem .75rem!important}}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.fermat-tutor-companion-panel{background:#f7f9f8f5}.fermat-tutor-call-card__controls{background:#132522f5}}@media (prefers-reduced-motion:reduce){.fermat-tutor-companion-panel,.fermat-tutor-call-card{scroll-behavior:auto}}
.fermat-tutor-dialog{--fermat-tutor-dialog-accent:var(--fermat-color-brand-600);border-top:.3rem solid var(--fermat-tutor-dialog-accent)}.fermat-tutor-dialog--note{--fermat-tutor-dialog-accent:var(--fermat-color-info-700)}.fermat-tutor-dialog--quiz{--fermat-tutor-dialog-accent:var(--fermat-color-purple-500)}.fermat-tutor-dialog--decision{--fermat-tutor-dialog-accent:var(--fermat-color-brand-600)}.fermat-tutor-dialog__note{max-width:72ch;color:var(--fermat-color-neutral-700);white-space:pre-wrap;font-size:1rem;line-height:1.7}.fermat-tutor-dialog__note>:first-child{margin-top:0}.fermat-tutor-dialog__note>:last-child{margin-bottom:0}.fermat-tutor-dialog__options .fermat-choice-group__legend{font-size:1.075rem}.fermat-tutor-dialog__feedback{margin-top:1rem}@media (max-width:600px){.fermat-tutor-dialog .fermat-dialog__header,.fermat-tutor-dialog .fermat-dialog__body{padding:1rem}.fermat-tutor-dialog .fermat-dialog__footer{padding:.75rem 1rem}.fermat-tutor-dialog .fermat-dialog__footer>*{flex:1}}
@font-face{font-display:"swap";font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(../media/KaTeX_AMS-Regular.3dqqgop8d9q74.woff2)format("woff2")}@font-face{font-display:"swap";font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(../media/KaTeX_Caligraphic-Bold.0x398dszol8ix.woff2)format("woff2")}@font-face{font-display:"swap";font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(../media/KaTeX_Caligraphic-Regular.3ittfn7d21b9w.woff2)format("woff2")}@font-face{font-display:"swap";font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(../media/KaTeX_Fraktur-Bold.3rq09ohrtely_.woff2)format("woff2")}@font-face{font-display:"swap";font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(../media/KaTeX_Fraktur-Regular.1jvgec053-2og.woff2)format("woff2")}@font-face{font-display:"swap";font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(../media/KaTeX_Main-BoldItalic.40drhxm0mwrzz.woff2)format("woff2")}@font-face{font-display:"swap";font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(../media/KaTeX_Main-Bold.22wkahef0u3fd.woff2)format("woff2")}@font-face{font-display:"swap";font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(../media/KaTeX_Main-Italic.1ck6crdmp78cu.woff2)format("woff2")}@font-face{font-display:"swap";font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(../media/KaTeX_Main-Regular.29zz7337tzymc.woff2)format("woff2")}@font-face{font-display:"swap";font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(../media/KaTeX_Math-BoldItalic.0u_6s571--hh0.woff2)format("woff2")}@font-face{font-display:"swap";font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(../media/KaTeX_Math-Italic.18dmviy-uianu.woff2)format("woff2")}@font-face{font-display:"swap";font-family:KaTeX_SansSerif;font-style:normal;font-weight:700;src:url(../media/KaTeX_SansSerif-Bold.19n5ohjzvq40z.woff2)format("woff2")}@font-face{font-display:"swap";font-family:KaTeX_SansSerif;font-style:italic;font-weight:400;src:url(../media/KaTeX_SansSerif-Italic.38w085lqrghwm.woff2)format("woff2")}@font-face{font-display:"swap";font-family:KaTeX_SansSerif;font-style:normal;font-weight:400;src:url(../media/KaTeX_SansSerif-Regular.3w8wtfek3qsk6.woff2)format("woff2")}@font-face{font-display:"swap";font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(../media/KaTeX_Script-Regular.10h737unm2jp7.woff2)format("woff2")}@font-face{font-display:"swap";font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(../media/KaTeX_Size1-Regular.3xype_vsmmjgw.woff2)format("woff2")}@font-face{font-display:"swap";font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(../media/KaTeX_Size2-Regular.2-wakugslvf3a.woff2)format("woff2")}@font-face{font-display:"swap";font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(../media/KaTeX_Size3-Regular.1nfuh3l6nzhjv.woff2)format("woff2")}@font-face{font-display:"swap";font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(../media/KaTeX_Size4-Regular.13pyt7zi482pb.woff2)format("woff2")}@font-face{font-display:"swap";font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(../media/KaTeX_Typewriter-Regular.2vfnlegjq9l42.woff2)format("woff2")}:root{--ML__static-fonts:true}
.fermat-graph{border:1px solid var(--fermat-color-neutral-300);border-radius:var(--fermat-radius-md);background:var(--fermat-color-neutral-0);min-height:28rem;color:var(--fermat-color-neutral-900);font-family:var(--fermat-font-sans);grid-template-columns:minmax(15rem,20rem) minmax(0,1fr);display:grid;overflow:hidden}.fermat-graph--read-only{grid-template-columns:minmax(0,1fr)}.fermat-graph__expressions{box-sizing:border-box;border-right:1px solid var(--fermat-color-neutral-300);background:var(--fermat-color-neutral-50);flex-direction:column;align-items:stretch;gap:.75rem;padding:1rem;display:flex}.fermat-graph-expression{border:1px solid var(--fermat-color-neutral-300);border-radius:var(--fermat-radius-md);background:var(--fermat-color-neutral-0);grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"appearance title remove""math math math""error error error";gap:.45rem .4rem;padding:.65rem;display:grid}.fermat-graph-expression>.fermat-field{grid-area:title;min-width:0}.fermat-graph-expression__title{min-height:1.8rem;padding:.25rem .5rem;font-size:.8125rem}.fermat-graph-expression__main{display:contents}.fermat-graph-expression__appearance{background:var(--fermat-graph-expression-color);color:#fff;flex:none;grid-area:appearance}.fermat-graph-expression__remove{grid-area:remove}.fermat-graph-expression__appearance:hover:not(:disabled){background:color-mix(in srgb, var(--fermat-graph-expression-color) 88%, black)}.fermat-graph-function-icon{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.5px;width:1.6rem;height:1.2rem;display:block}.fermat-graph-line-preview{width:2.25rem;height:.75rem;display:block;overflow:visible}.fermat-graph-color-preview{border:1px solid #0003;border-radius:999px;flex:none;width:.75rem;height:.75rem;display:inline-block}.fermat-graph-appearance-menu{grid-template-columns:repeat(var(--fermat-graph-appearance-columns), 2.5rem);gap:.25rem;min-width:0;padding:.4rem;display:grid}.fermat-graph-appearance-menu .fermat-dropdown__checkbox{place-items:center;width:2.5rem;min-height:2.5rem;padding:0;display:grid}.fermat-graph-appearance-menu__color{grid-row:1}.fermat-graph-appearance-menu__style{grid-row:2}.fermat-graph-appearance-menu__width{grid-row:3}.fermat-graph-appearance-menu .fermat-dropdown__indicator{top:.1rem;left:.1rem}.fermat-graph-appearance-menu .fermat-dropdown__arrow{display:none}.fermat-graph-appearance-option{place-items:center;display:grid}.fermat-graph-appearance-option .fermat-graph-color-preview{width:1.25rem;height:1.25rem}.fermat-graph-appearance-option .fermat-graph-line-preview{width:1.8rem}.fermat-graph-expression__input{cursor:text;width:100%;min-width:0;max-width:100%;color:var(--fermat-color-neutral-900);--caret-color:var(--fermat-color-neutral-900);--contains-highlight-background-color:transparent;--contains-highlight-color:currentColor;--selection-color:var(--fermat-color-neutral-900);--selection-background-color:color-mix(in srgb, var(--fermat-color-brand-500) 22%, transparent);background:0 0;border:0;outline:0;flex:1 1 0;grid-area:math;padding:0;font-size:1.21em;display:block;overflow:hidden}.fermat-graph-expression__input::part(container){box-sizing:border-box;width:100%;min-height:2.1rem;padding:.4rem .2rem;overflow:auto hidden}.fermat-graph-expression__input::part(menu-toggle),.fermat-graph-expression__input::part(virtual-keyboard-toggle){display:none}.fermat-graph-expression__input:focus-within{outline:0}.fermat-graph-expression__input:focus-visible{border-radius:var(--fermat-radius-sm);outline:var(--fermat-focus-outline);outline-offset:1px}.fermat-graph-expression__input[aria-invalid=true]{color:var(--fermat-color-danger-700)}.fermat-graph-expression__input[read-only]{cursor:default}.fermat-graph-expression__error{color:var(--fermat-color-danger-700);grid-area:error;margin-top:.35rem;font-size:.75rem;line-height:1.35}.fermat-graph__plot-wrap{background:var(--fermat-color-neutral-0);-webkit-user-select:none;user-select:none;align-items:stretch;min-width:0;min-height:24rem;display:flex;position:relative}.fermat-graph__plot{cursor:crosshair;touch-action:none;-webkit-user-select:none;user-select:none;width:100%;height:auto;min-height:24rem;display:block}.fermat-graph__plot:focus-visible{outline:var(--fermat-focus-outline);outline-offset:-3px}.fermat-graph__plot--panning{cursor:grabbing;-webkit-user-select:none;user-select:none}.fermat-graph--fixed-viewport .fermat-graph__plot{touch-action:auto}.fermat-graph__viewport-controls{z-index:1;border:1px solid var(--fermat-color-neutral-300);border-radius:var(--fermat-radius-md);background:color-mix(in srgb, var(--fermat-color-neutral-0) 92%, transparent);gap:.35rem;padding:.35rem;display:flex;position:absolute;top:.75rem;right:.75rem}.fermat-graph__math-keyboard-control{z-index:2;flex-direction:column;align-items:flex-end;gap:.4rem;display:flex;position:absolute;bottom:.75rem;right:.75rem}.fermat-graph__math-keyboard{border:1px solid var(--fermat-color-neutral-300);border-radius:var(--fermat-radius-md);background:color-mix(in srgb, var(--fermat-color-neutral-0) 96%, transparent);width:min(19rem,100vw - 3rem);box-shadow:0 8px 24px color-mix(in srgb, var(--fermat-color-neutral-900) 14%, transparent);grid-template-columns:repeat(5,minmax(0,1fr));gap:.3rem;padding:.45rem;display:grid}.fermat-graph__math-key{border:1px solid var(--fermat-color-neutral-300);border-radius:var(--fermat-radius-sm);background:var(--fermat-color-neutral-0);min-height:2.1rem;color:var(--fermat-color-neutral-900);cursor:pointer;font:600 .8rem/1 var(--fermat-font-mono)}.fermat-graph__math-key:hover{background:var(--fermat-color-neutral-100)}.fermat-graph__math-key:focus-visible{outline:var(--fermat-focus-outline);outline-offset:1px}.fermat-graph__background{fill:var(--fermat-color-neutral-0)}.fermat-graph__minor-grid line{stroke:var(--fermat-color-neutral-100);stroke-width:.75px}.fermat-graph__grid line{stroke:var(--fermat-color-neutral-200);stroke-width:1px}.fermat-graph__axes line{stroke:var(--fermat-color-neutral-700);stroke-width:2px}.fermat-graph__ticks{fill:var(--fermat-color-neutral-700);font:650 13px var(--fermat-font-mono)}.fermat-graph__function{fill:none;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.fermat-graph__function-reveal{transform-box:fill-box;transform-origin:0;animation:.42s ease-out both fermat-graph-reveal}@keyframes fermat-graph-reveal{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.fermat-graph__function--transforming{transform-box:view-box;transform-origin:0 0;animation:.36s cubic-bezier(.2,.8,.2,1) both fermat-graph-transform}@keyframes fermat-graph-transform{0%{transform:matrix(var(--fermat-graph-from-a), 0, 0, var(--fermat-graph-from-d), var(--fermat-graph-from-e), var(--fermat-graph-from-f))}to{transform:matrix(1,0,0,1,0,0)}}.fermat-graph__trace-line{stroke:var(--fermat-color-neutral-500);stroke-dasharray:5 5;stroke-width:1.5px}.fermat-graph__trace-point-ring{fill:var(--fermat-color-neutral-0);stroke:var(--fermat-color-neutral-700);stroke-width:1px}.fermat-graph__trace-point-ring--snapped{stroke:var(--fermat-color-brand-600);stroke-width:2px}.fermat-graph__trace-label-card{fill:color-mix(in srgb, var(--fermat-color-neutral-0) 94%, transparent);stroke-width:1px}.fermat-graph__trace-label-text{fill:var(--fermat-color-neutral-900);font:600 11px/1.2 var(--fermat-font-mono);pointer-events:none}.fermat-graph__trace-label-name{font-weight:750}@media (max-width:48rem){.fermat-graph{grid-template-columns:minmax(0,1fr)}.fermat-graph__expressions{border-right:0;border-bottom:1px solid var(--fermat-color-neutral-300)}}@media (prefers-reduced-motion:reduce){.fermat-graph *{scroll-behavior:auto}.fermat-graph__function-reveal,.fermat-graph__function--transforming{animation:none;transform:none}}
.fermat-element-tile{--fermat-element-accent:var(--fermat-color-neutral-500);box-sizing:border-box;border:1px solid color-mix(in srgb, var(--fermat-element-accent) 52%, var(--fermat-color-neutral-300));border-radius:var(--fermat-radius-sm);background:color-mix(in srgb, var(--fermat-element-accent) 10%, var(--fermat-color-neutral-0));min-width:0;min-height:0;color:var(--fermat-color-neutral-900);font-family:var(--fermat-font-sans);text-align:left;padding:.3rem .35rem;display:grid;position:relative;overflow:hidden}.fermat-element-tile--simplified{text-align:center;grid-template:auto auto/1fr;place-content:center;place-items:center;gap:.12rem}.fermat-element-tile--detailed{grid-template:auto 1fr auto auto/1fr}button.fermat-element-tile{appearance:none}.fermat-element-tile--interactive{cursor:pointer}.fermat-element-tile--interactive:hover{background:color-mix(in srgb, var(--fermat-element-accent) 17%, var(--fermat-color-neutral-0))}.fermat-element-tile--interactive:focus-visible{z-index:1;outline:var(--fermat-focus-outline);outline-offset:2px}.fermat-element-tile--selected{z-index:1;outline:3px solid var(--fermat-color-neutral-900);outline-offset:1px}.fermat-element-tile__number{font-variant-numeric:tabular-nums;font-size:.625rem;line-height:1}.fermat-element-tile__symbol{align-self:center;font-size:1.35rem;line-height:1}.fermat-element-tile__name,.fermat-element-tile__mass{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.55rem;line-height:1.15;overflow:hidden}.fermat-element-tile__mass{color:var(--fermat-color-neutral-700);font-variant-numeric:tabular-nums}.fermat-element-tooltip__content{gap:.1rem;display:grid}.fermat-element-tooltip__content>span{color:var(--fermat-color-neutral-200);font-size:.6875rem;font-weight:450}.fermat-element-tile--alkali-metal{--fermat-element-accent:#c45a08}.fermat-element-tile--alkaline-earth-metal{--fermat-element-accent:#9a7200}.fermat-element-tile--transition-metal{--fermat-element-accent:#a43d57}.fermat-element-tile--post-transition-metal{--fermat-element-accent:#55736a}.fermat-element-tile--metalloid{--fermat-element-accent:#2f8264}.fermat-element-tile--reactive-nonmetal{--fermat-element-accent:var(--fermat-color-brand-600)}.fermat-element-tile--halogen{--fermat-element-accent:#426eb3}.fermat-element-tile--noble-gas{--fermat-element-accent:var(--fermat-color-purple-500)}.fermat-element-tile--lanthanide{--fermat-element-accent:#976d15}.fermat-element-tile--actinide{--fermat-element-accent:#7447a5}.fermat-periodic-table{max-width:100%;padding:.25rem;overflow-x:auto}.fermat-periodic-table__grid{grid-template-rows:repeat(7,3.4rem) .8rem repeat(2,3.4rem);grid-template-columns:repeat(18,minmax(2.85rem,1fr));gap:.2rem;min-width:56rem;display:grid}.fermat-periodic-table--detailed .fermat-periodic-table__grid{grid-template-rows:repeat(7,4.35rem) .8rem repeat(2,4.35rem);grid-template-columns:repeat(18,minmax(3.45rem,1fr));min-width:68rem}.fermat-periodic-table__series-marker{border:1px dashed var(--fermat-color-neutral-300);border-radius:var(--fermat-radius-sm);color:var(--fermat-color-neutral-700);font-family:var(--fermat-font-sans);place-items:center;font-size:.65rem;font-weight:650;display:grid}.fermat-periodic-table__series-marker--lanthanide{background:#f5f0e8}.fermat-periodic-table__series-marker--actinide{background:#f1edf6}.fermat-bohr-diagram{max-width:100%;color:var(--fermat-color-neutral-900)}.fermat-bohr-diagram svg{width:100%;height:auto;display:block;overflow:visible}.fermat-bohr-diagram__shell{fill:none;stroke:var(--fermat-color-neutral-300);stroke-width:1.5px}.fermat-bohr-diagram__nucleus{fill:var(--fermat-color-brand-600);stroke:var(--fermat-color-brand-800);stroke-width:2px}.fermat-bohr-diagram__electron{fill:var(--fermat-color-purple-500);stroke:var(--fermat-color-neutral-0);stroke-width:1.5px}.fermat-bohr-diagram__symbol,.fermat-bohr-diagram__nucleons{fill:#fff;font-family:var(--fermat-font-sans);text-anchor:middle}.fermat-bohr-diagram__symbol{font-size:18px;font-weight:700}.fermat-bohr-diagram__nucleons{font-size:9px;font-weight:600}.fermat-lab-object-renderer{background:var(--fermat-color-neutral-0);border:1px solid var(--fermat-color-neutral-200);box-sizing:border-box;border-radius:14px;justify-content:center;align-items:center;width:100%;height:100%;padding:18px;display:flex;overflow:hidden;box-shadow:0 10px 26px #0f172a14}.fermat-lab-object-renderer>*{width:100%;min-width:0}.fermat-lab-object-renderer--atom>*{width:min(100%,320px)}.fermat-molecule{box-sizing:border-box;border:1px solid var(--fermat-color-neutral-200);border-radius:var(--fermat-radius-md);background:var(--fermat-color-neutral-0);width:100%;color:var(--fermat-color-neutral-900);place-items:center;display:grid;position:relative;overflow:hidden}.fermat-molecule--dark{border-color:var(--fermat-color-neutral-700);background:var(--fermat-color-neutral-900);color:#fff}.fermat-molecule>svg{width:100%;height:100%;display:block}.fermat-molecule__error{font-family:var(--fermat-font-sans);font-size:.875rem;font-weight:600;position:absolute}.fermat-optics-bench{box-sizing:border-box;border:1px solid var(--fermat-color-neutral-200);border-radius:var(--fermat-radius-md);background:linear-gradient(var(--fermat-color-neutral-100) 1px, transparent 1px), linear-gradient(90deg, var(--fermat-color-neutral-100) 1px, transparent 1px), var(--fermat-color-neutral-0);width:100%;max-width:56rem;color:var(--fermat-color-neutral-900);font-family:var(--fermat-font-sans);background-size:2rem 2rem;overflow:hidden}.fermat-optics-bench>svg{width:100%;height:auto;display:block;overflow:hidden}.fermat-optics-bench__axis{stroke:var(--fermat-color-neutral-500);stroke-width:1.5px}.fermat-optics-bench__focal-points circle{fill:var(--fermat-color-neutral-700)}.fermat-optics-bench__focal-points text,.fermat-optics-bench__object-label,.fermat-optics-bench__image text{fill:var(--fermat-color-neutral-700);font-family:var(--fermat-font-sans);text-anchor:middle;font-size:13px;font-weight:650}.fermat-optics-bench__rays{fill:none;stroke:var(--fermat-color-orange-500);stroke-linecap:round;stroke-width:2.25px}.fermat-optics-bench__rays path:nth-child(2){stroke:var(--fermat-color-purple-500)}.fermat-optics-bench__ray-extensions{opacity:.72;stroke-dasharray:6 5}.fermat-optics-bench__ray-extensions line:nth-child(2){stroke:var(--fermat-color-purple-500)}.fermat-optics-bench__lens{fill:color-mix(in srgb, var(--fermat-color-info-200) 65%, transparent);stroke:var(--fermat-color-info-700);stroke-width:2.5px}.fermat-optics-bench__object{color:var(--fermat-color-brand-700);stroke:currentColor;stroke-width:5px}.fermat-optics-bench__image{color:var(--fermat-color-purple-500)}.fermat-optics-bench__image line{stroke:currentColor;stroke-width:5px}.fermat-optics-bench__image--virtual{opacity:.72}.fermat-optics-bench__image--virtual line{stroke-dasharray:7 5}.fermat-optics-bench__measurements{border-top:1px solid var(--fermat-color-neutral-200);background:color-mix(in srgb, var(--fermat-color-neutral-50) 88%, transparent);grid-template-columns:repeat(4,minmax(0,1fr));margin:0;display:grid}.fermat-optics-bench__measurements>div{min-width:0;padding:.7rem .85rem}.fermat-optics-bench__measurements>div+div{border-left:1px solid var(--fermat-color-neutral-200)}.fermat-optics-bench__measurements dt{color:var(--fermat-color-neutral-500);font-size:.7rem;font-weight:700}.fermat-optics-bench__measurements dd{font-family:var(--fermat-font-mono);text-overflow:ellipsis;white-space:nowrap;margin:.15rem 0 0;font-size:.8125rem;font-weight:700;overflow:hidden}.fermat-em-spectrum{--fermat-spectrum-color:var(--fermat-color-neutral-500);box-sizing:border-box;border:1px solid var(--fermat-color-neutral-200);border-radius:var(--fermat-radius-md);background:var(--fermat-color-neutral-0);width:100%;max-width:62rem;color:var(--fermat-color-neutral-900);font-family:var(--fermat-font-sans);gap:1rem;padding:1rem;display:grid}.fermat-em-spectrum__bands{grid-template-columns:repeat(7,minmax(0,1fr));gap:.3rem;display:grid}.fermat-em-spectrum__band{border:1px solid var(--fermat-color-neutral-200);border-radius:var(--fermat-radius-sm);background:var(--fermat-color-neutral-50);min-width:0;color:var(--fermat-color-neutral-700);font:650 .75rem/1 var(--fermat-font-sans);text-overflow:ellipsis;white-space:nowrap;cursor:pointer;border-bottom-width:3px;padding:.55rem .35rem;overflow:hidden}.fermat-em-spectrum__band:hover{background:var(--fermat-color-neutral-100)}.fermat-em-spectrum__band:focus-visible{outline:var(--fermat-focus-outline);outline-offset:2px}.fermat-em-spectrum__band[aria-pressed=true]{border-color:var(--fermat-color-neutral-700);background:var(--fermat-color-neutral-900);color:#fff}.fermat-em-spectrum__band--gamma{border-bottom-color:#7b4dcc}.fermat-em-spectrum__band--x-ray{border-bottom-color:#426eb3}.fermat-em-spectrum__band--ultraviolet{border-bottom-color:#6546ad}.fermat-em-spectrum__band--visible{border-image:linear-gradient(90deg,#6b2fa0,#2155d6,#12a9a0,#9fbe22,#f2cb24,#f47a1f,#d83a36) 1}.fermat-em-spectrum__band--infrared{border-bottom-color:#d65b3a}.fermat-em-spectrum__band--microwave{border-bottom-color:#b46b38}.fermat-em-spectrum__band--radio{border-bottom-color:#55736a}.fermat-em-spectrum__scale{padding:0 .2rem;position:relative}.fermat-em-spectrum__track{border:1px solid var(--fermat-color-neutral-300);border-radius:var(--fermat-radius-sm);background:var(--fermat-color-neutral-100);height:2rem;display:flex;position:relative;overflow:visible}.fermat-em-spectrum__segment{height:100%}.fermat-em-spectrum__segment--gamma{background:#7650a9}.fermat-em-spectrum__segment--x-ray{background:#5e83bc}.fermat-em-spectrum__segment--ultraviolet{background:#7652c1}.fermat-em-spectrum__segment--visible{background:linear-gradient(90deg,#6b2fa0,#2155d6,#12a9a0,#9fbe22,#f2cb24,#f47a1f,#d83a36);min-width:.45rem}.fermat-em-spectrum__segment--infrared{background:#db795f}.fermat-em-spectrum__segment--microwave{background:#c58c66}.fermat-em-spectrum__segment--radio{background:#78938b}.fermat-em-spectrum__cursor{background:var(--fermat-color-neutral-900);pointer-events:none;border-radius:2px;width:3px;position:absolute;top:-.38rem;bottom:-.38rem;transform:translate(-50%);box-shadow:0 0 0 2px #fff}.fermat-em-spectrum__cursor:before{background:var(--fermat-spectrum-color);width:.65rem;height:.65rem;box-shadow:0 0 0 2px var(--fermat-color-neutral-900);content:"";border:2px solid #fff;border-radius:50%;position:absolute;top:-.2rem;left:50%;transform:translate(-50%,-50%)}.fermat-em-spectrum__input{opacity:0;cursor:ew-resize;width:100%;height:3.4rem;margin:0;position:absolute;inset:-.7rem 0 0}.fermat-em-spectrum__input:focus-visible+.fermat-em-spectrum__direction{outline:var(--fermat-focus-outline);outline-offset:.35rem}.fermat-em-spectrum__direction{color:var(--fermat-color-neutral-500);justify-content:space-between;margin-top:.45rem;font-size:.6875rem;font-weight:650;display:flex}.fermat-em-spectrum__readout{border-top:1px solid var(--fermat-color-neutral-200);justify-content:space-between;align-items:center;gap:1rem;min-width:0;padding-top:1rem;display:flex}.fermat-em-spectrum__readout>strong{align-items:center;gap:.5rem;min-width:6rem;font-size:.875rem;display:inline-flex}.fermat-em-spectrum__swatch{background:var(--fermat-spectrum-color);width:.8rem;height:.8rem;box-shadow:0 0 0 1px var(--fermat-color-neutral-300);border:2px solid #fff;border-radius:50%;flex:none}.fermat-em-spectrum__readout dl{grid-template-columns:repeat(3,minmax(6rem,1fr));width:min(100%,34rem);margin:0;display:grid}.fermat-em-spectrum__readout dl>div{border-left:1px solid var(--fermat-color-neutral-200);min-width:0;padding-left:1rem}.fermat-em-spectrum__readout dt{color:var(--fermat-color-neutral-500);font-size:.6875rem;font-weight:700}.fermat-em-spectrum__readout dd{font-family:var(--fermat-font-mono);text-overflow:ellipsis;white-space:nowrap;margin:.15rem 0 0;font-size:.8125rem;font-weight:700;overflow:hidden}@media (max-width:42rem){.fermat-optics-bench__measurements{grid-template-columns:repeat(2,1fr)}.fermat-optics-bench__measurements>div:nth-child(3){border-top:1px solid var(--fermat-color-neutral-200);border-left:0}.fermat-optics-bench__measurements>div:nth-child(4){border-top:1px solid var(--fermat-color-neutral-200)}.fermat-em-spectrum__bands{grid-template-columns:repeat(4,minmax(0,1fr))}.fermat-em-spectrum__readout{flex-direction:column;align-items:flex-start}.fermat-em-spectrum__readout dl{width:100%}.fermat-em-spectrum__readout dl>div:first-child{border-left:0;padding-left:0}}@media (max-width:28rem){.fermat-em-spectrum__bands{grid-template-columns:repeat(2,minmax(0,1fr))}.fermat-em-spectrum__readout dl{grid-template-columns:1fr;gap:.6rem}.fermat-em-spectrum__readout dl>div{border-left:0;padding-left:0}}
.fermat-molecular-glyph{width:100%;height:auto;display:block;overflow:visible}.fermat-molecular-glyph__bond{stroke:var(--fermat-color-neutral-500);stroke-linecap:round;stroke-width:5px}.fermat-molecular-glyph__atom circle{stroke:var(--fermat-color-neutral-0);stroke-width:2px}.fermat-molecular-glyph__atom text{fill:var(--fermat-color-neutral-0);text-anchor:middle;font-size:12px;font-weight:700}.fermat-molecular-glyph__atom--h circle{fill:var(--fermat-color-neutral-500)}.fermat-molecular-glyph__atom--o circle{fill:var(--fermat-color-danger-600)}.fermat-molecular-glyph__atom--c circle{fill:var(--fermat-color-neutral-900)}.fermat-molecular-glyph__atom--n circle{fill:var(--fermat-color-brand-600)}.fermat-molecular-glyph__atom--na circle{fill:var(--fermat-color-purple-500)}.fermat-molecular-glyph__atom--cl circle{fill:var(--fermat-color-green-600)}.fermat-molecular-glyph__atom--ag circle,.fermat-molecular-glyph__atom--mg circle{fill:var(--fermat-color-neutral-500)}.fermat-molecular-glyph__atom--ca circle,.fermat-molecular-glyph__atom--cu circle{fill:var(--fermat-color-orange-500)}.fermat-molecular-glyph__atom--fe circle{fill:var(--fermat-color-neutral-700)}.fermat-molecular-glyph__atom--k circle{fill:var(--fermat-color-purple-500)}.fermat-molecular-glyph__atom--s circle{fill:var(--fermat-color-yellow-400)}.fermat-molecular-glyph__atom--s text{fill:var(--fermat-color-neutral-900)}.fermat-molecular-glyph__atom--zn circle{fill:var(--fermat-color-brand-600)}.fermat-molecular-glyph[data-density=compact] .fermat-molecular-glyph__bond{stroke-width:4px}.fermat-molecular-glyph[data-density=compact] .fermat-molecular-glyph__atom text{font-size:10px}.fermat-molecular-glyph[data-density=dense] .fermat-molecular-glyph__bond{stroke-width:3px}.fermat-molecular-glyph[data-density=dense] .fermat-molecular-glyph__atom text{font-size:8px}.fermat-molecular-tile{border:1px solid var(--fermat-color-neutral-200);background:var(--fermat-color-neutral-0);border-radius:8px;justify-items:center;min-width:6.5rem;padding:.4rem .55rem;display:grid}.fermat-molecular-tile--reactant{border-color:var(--fermat-color-brand-300);background:var(--fermat-color-brand-50)}.fermat-molecular-tile--product{border-color:var(--fermat-color-green-200);background:var(--fermat-color-green-50)}.fermat-molecular-tile .fermat-molecular-glyph{width:4.6rem}.fermat-molecular-tile strong{color:var(--fermat-color-neutral-900);font-size:1rem}.fermat-molecular-tile span{color:var(--fermat-color-neutral-700);text-align:center;font-size:.72rem}.fermat-reaction-builder,.fermat-titration-lab{min-width:0;color:var(--fermat-color-neutral-900)}.fermat-reaction-stage{grid-template-rows:auto minmax(0,1fr);width:100%;height:100%;min-height:0;display:grid}.fermat-reaction-equation{border-bottom:1px solid var(--fermat-color-neutral-200);justify-content:center;align-items:center;gap:.8rem;padding:.8rem;display:flex}.fermat-reaction-equation__side{flex-wrap:wrap;justify-content:center;align-items:center;gap:.55rem;min-width:0;display:flex}.fermat-reaction-equation__group{align-items:center;gap:.55rem;display:flex}.fermat-reaction-equation__operator,.fermat-reaction-equation__arrow,.fermat-reaction-particles__arrow{color:var(--fermat-color-neutral-700);font-size:1.5rem;font-weight:700}.fermat-reaction-equation__term{justify-items:center;display:grid}.fermat-reaction-coefficient{align-items:center;display:flex}.fermat-reaction-coefficient .fermat-button{min-width:2rem;padding-inline:.35rem}.fermat-reaction-coefficient output{min-width:1.6rem;color:var(--fermat-color-neutral-900);text-align:center;font-weight:700}.fermat-reaction-particles{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:.8rem;min-height:0;padding:.8rem;display:grid}.fermat-reaction-particles>section{grid-template-rows:auto minmax(0,1fr);height:100%;min-height:0;display:grid}.fermat-reaction-particles h3{color:var(--fermat-color-neutral-700);letter-spacing:.06em;text-transform:uppercase;margin:0 0 .45rem;font-size:.76rem}.fermat-reaction-particles__groups{grid-template-columns:repeat(auto-fit,minmax(7rem,1fr));align-content:center;gap:.55rem;min-height:0;display:grid}.fermat-reaction-particle-group{border:1px solid var(--fermat-color-neutral-200);background:color-mix(in srgb, var(--fermat-color-neutral-0) 84%, transparent);border-radius:8px;grid-template-rows:minmax(0,1fr) auto;min-height:6.5rem;padding:.45rem;display:grid}.fermat-reaction-particle-group__particles{flex-wrap:wrap;place-content:center;align-items:center;min-height:0;display:flex}.fermat-reaction-particle-group__particles .fermat-molecular-glyph{width:2.5rem;margin:-.18rem}.fermat-reaction-particle-group>span{color:var(--fermat-color-neutral-700);text-align:center;font-size:.72rem}.fermat-titration-stage{width:100%;height:100%;display:block}.fermat-titration-burette,.fermat-titration-flask{fill:color-mix(in srgb, var(--fermat-color-info-50) 65%, transparent);stroke:var(--fermat-color-neutral-700);stroke-linecap:round;stroke-linejoin:round;stroke-width:3px}.fermat-titration-burette__liquid{fill:var(--fermat-color-info-200);opacity:.8}.fermat-titration-burette__scale{stroke:var(--fermat-color-neutral-500);stroke-width:1.5px}.fermat-titration-stopcock{fill:var(--fermat-color-neutral-0);stroke:var(--fermat-color-neutral-900);stroke-linecap:round;stroke-width:4px}.fermat-titration-drop{fill:var(--fermat-color-info-700);animation:.65s ease-in infinite fermat-titration-drop}.fermat-titration-solution{fill:color-mix(in srgb, var(--fermat-indicator-start) var(--fermat-indicator-start-weight), var(--fermat-indicator-end));opacity:.78}.fermat-titration-ph{fill:var(--fermat-color-neutral-900);paint-order:stroke;stroke:var(--fermat-color-neutral-0);stroke-width:4px;text-anchor:middle;font-size:17px;font-weight:700}.fermat-titration-volume{fill:var(--fermat-color-neutral-700);text-anchor:middle;font-size:13px;font-weight:700}.fermat-titration-plot__frame{fill:color-mix(in srgb, var(--fermat-color-neutral-0) 55%, transparent);stroke:var(--fermat-color-neutral-300);stroke-width:1.5px}.fermat-titration-plot__grid{stroke:var(--fermat-color-neutral-200);stroke-width:1px}.fermat-titration-plot__curve{fill:none;stroke:var(--fermat-color-brand-700);stroke-linecap:round;stroke-linejoin:round;stroke-width:3px}.fermat-titration-plot__equivalence{stroke:var(--fermat-color-orange-500);stroke-dasharray:5 5;stroke-width:2px}.fermat-titration-plot__point{fill:var(--fermat-color-brand-700);stroke:var(--fermat-color-neutral-0);stroke-width:3px}.fermat-titration-plot text{fill:var(--fermat-color-neutral-700);text-anchor:middle;font-size:11px}.fermat-titration-plot__axis-title{fill:var(--fermat-color-neutral-900);font-size:12px;font-weight:700}@keyframes fermat-titration-drop{0%{opacity:0;transform:translateY(-6px)}40%{opacity:1}to{opacity:0;transform:translateY(16px)}}@media (prefers-reduced-motion:reduce){.fermat-titration-drop{animation:none}}@media (max-width:860px){.fermat-reaction-equation{flex-direction:column;align-items:stretch}.fermat-reaction-equation__arrow{text-align:center;transform:rotate(90deg)}.fermat-reaction-particles{grid-template-columns:1fr}.fermat-reaction-particles__arrow{text-align:center;transform:rotate(90deg)}}
.fermat-mechanics-lab{width:100%;min-width:0;color:var(--fermat-color-neutral-900)}.fermat-mechanics-lab .fermat-lab-layout{max-width:70rem;margin:0 auto}.fermat-mechanics-label{fill:var(--fermat-color-neutral-500);font:700 12px var(--fermat-font-sans);text-anchor:middle}.fermat-cart-force__track,.fermat-collision__track,.fermat-spring__floor{stroke:var(--fermat-color-neutral-700);stroke-linecap:round;stroke-width:4px}.fermat-cart-force__origin{stroke:var(--fermat-color-neutral-300);stroke-width:2px}.fermat-cart-force__cart rect{fill:var(--fermat-color-brand-100);stroke:var(--fermat-color-brand-700);stroke-width:3px}.fermat-cart-force__cart circle{fill:var(--fermat-color-neutral-900);stroke:#fff;stroke-width:2px}.fermat-cart-force__cart text,.fermat-incline__block text,.fermat-spring__block text{fill:var(--fermat-color-neutral-900);font:750 15px var(--fermat-font-sans);text-anchor:middle}.fermat-incline__plane{fill:var(--fermat-color-neutral-100);stroke:var(--fermat-color-neutral-300);stroke-width:2px}.fermat-incline__surface{stroke:var(--fermat-color-neutral-900);stroke-linecap:round;stroke-width:5px}.fermat-incline__block rect{fill:var(--fermat-color-orange-500);stroke:#fff;stroke-width:3px;filter:drop-shadow(0 3px 4px #13252238)}.fermat-incline__block text{fill:#fff}.fermat-incline__angle{fill:none;stroke:var(--fermat-color-purple-500);stroke-width:2.5px}.fermat-motion-graph__plot rect{fill:var(--fermat-color-neutral-50);stroke:var(--fermat-color-neutral-200);stroke-width:1.5px}.fermat-motion-graph__plot>polyline{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:3px}.fermat-motion-graph__plot--position>polyline{stroke:var(--fermat-color-brand-600)}.fermat-motion-graph__plot--position>circle{fill:var(--fermat-color-brand-600);stroke:var(--fermat-color-brand-600)}.fermat-motion-graph__plot--velocity>polyline{stroke:var(--fermat-color-purple-500)}.fermat-motion-graph__plot--velocity>circle{fill:var(--fermat-color-purple-500);stroke:var(--fermat-color-purple-500)}.fermat-motion-graph__plot--acceleration>polyline{stroke:var(--fermat-color-orange-500)}.fermat-motion-graph__plot--acceleration>circle{fill:var(--fermat-color-orange-500);stroke:var(--fermat-color-orange-500)}.fermat-motion-graph__plot>circle{stroke-width:2px}.fermat-motion-graph__zero{stroke:var(--fermat-color-neutral-300);stroke-width:1.5px}.fermat-motion-graph__cursor{stroke:var(--fermat-color-neutral-700);stroke-dasharray:5 4;stroke-width:1.5px}.fermat-motion-graph__quantity{fill:var(--fermat-color-neutral-900);font:italic 750 18px var(--fermat-font-math);text-anchor:middle}.fermat-motion-graph__unit,.fermat-motion-graph__time-label,.fermat-motion-graph__value{fill:var(--fermat-color-neutral-500);font:700 11px var(--fermat-font-mono);text-anchor:middle}.fermat-motion-graph__value{fill:var(--fermat-color-neutral-900);text-anchor:end}.fermat-motion-graph__time-label{text-anchor:end}.fermat-spring__wall{stroke:var(--fermat-color-neutral-900);stroke-width:9px}.fermat-spring__coil{fill:none;stroke:var(--fermat-color-purple-500);stroke-linecap:round;stroke-linejoin:round;stroke-width:4px}.fermat-spring__equilibrium{stroke:var(--fermat-color-neutral-300);stroke-dasharray:6 5;stroke-width:1.5px}.fermat-spring__block rect{fill:var(--fermat-color-brand-100);stroke:var(--fermat-color-brand-700);stroke-width:3px}.fermat-spring__energy>rect:first-child{fill:var(--fermat-color-neutral-100);stroke:var(--fermat-color-neutral-300);stroke-width:1px}.fermat-spring__energy .is-kinetic{fill:var(--fermat-color-orange-500)}.fermat-spring__energy .is-potential{fill:var(--fermat-color-purple-500)}.fermat-spring__energy text{fill:var(--fermat-color-neutral-700);font:700 11px var(--fermat-font-sans)}.fermat-collision__marker{stroke:var(--fermat-color-neutral-300);stroke-dasharray:5 5;stroke-width:1.5px}.fermat-collision__body circle{stroke:#fff;stroke-width:3px;filter:drop-shadow(0 3px 4px #13252233)}.fermat-collision__body--one circle{fill:var(--fermat-color-purple-500)}.fermat-collision__body--two circle{fill:var(--fermat-color-orange-500)}.fermat-collision__body text{fill:#fff;font:750 13px var(--fermat-font-sans);text-anchor:middle}.fermat-collision__momentum .fermat-vector-arrow text{stroke:var(--fermat-color-neutral-0)}.fermat-circular__orbit{fill:none;stroke:var(--fermat-color-neutral-300);stroke-dasharray:7 6;stroke-width:2px}.fermat-circular__radius{stroke:var(--fermat-color-neutral-500);stroke-width:2px}.fermat-circular__center{fill:var(--fermat-color-neutral-900);stroke:#fff;stroke-width:2px}.fermat-circular__body{fill:var(--fermat-color-orange-500);stroke:#fff;stroke-width:3px;filter:drop-shadow(0 3px 4px #13252238)}.fermat-gravity-field__vectors .fermat-vector-arrow{color:#ffffffa3}.fermat-gravity-field__halo{fill:color-mix(in srgb, var(--fermat-color-brand-300) 16%, transparent)}.fermat-gravity-field__planet{fill:var(--fermat-color-brand-600);stroke:var(--fermat-color-brand-100);stroke-width:3px;filter:drop-shadow(0 0 12px var(--fermat-color-brand-500))}.fermat-gravity-field__satellite{fill:var(--fermat-color-orange-500);stroke:#fff;stroke-width:2.5px}.fermat-gravity-field__satellite.is-collided{fill:var(--fermat-color-danger-600)}.fermat-gravity-field__planet~.fermat-vector-arrow text{stroke:var(--fermat-color-neutral-900)}.fermat-charged-particle__magnetic-field{opacity:.42}.fermat-charged-particle__magnetic-field circle{fill:var(--fermat-color-brand-100)}.fermat-charged-particle__magnetic-field path{fill:none;stroke:var(--fermat-color-brand-100);stroke-width:1.5px}.fermat-charged-particle__body circle{stroke:#fff;stroke-width:2.5px;filter:drop-shadow(0 2px 4px #0000004d)}.fermat-charged-particle__body.is-positive circle{fill:var(--fermat-color-danger-600)}.fermat-charged-particle__body.is-negative circle{fill:#416fbd}.fermat-charged-particle__body.is-neutral circle{fill:var(--fermat-color-neutral-500)}.fermat-charged-particle__body text{fill:#fff;font:800 16px var(--fermat-font-sans);text-anchor:middle}.fermat-charged-particle__body~.fermat-vector-arrow text{stroke:var(--fermat-color-neutral-900)}.fermat-lab-object-renderer--cart-force,.fermat-lab-object-renderer--inclined-plane,.fermat-lab-object-renderer--motion-graph,.fermat-lab-object-renderer--spring-oscillator,.fermat-lab-object-renderer--collision,.fermat-lab-object-renderer--circular-motion,.fermat-lab-object-renderer--gravity-field,.fermat-lab-object-renderer--charged-particle{align-items:flex-start;padding:0}.fermat-lab-object-renderer--cart-force .fermat-lab-layout,.fermat-lab-object-renderer--inclined-plane .fermat-lab-layout,.fermat-lab-object-renderer--motion-graph .fermat-lab-layout,.fermat-lab-object-renderer--spring-oscillator .fermat-lab-layout,.fermat-lab-object-renderer--collision .fermat-lab-layout,.fermat-lab-object-renderer--circular-motion .fermat-lab-layout,.fermat-lab-object-renderer--gravity-field .fermat-lab-layout,.fermat-lab-object-renderer--charged-particle .fermat-lab-layout{border:0}
.fermat-circuit-bench{min-width:0;color:var(--fermat-color-neutral-900)}.fermat-circuit-stage{width:100%;height:100%;position:relative}.fermat-circuit-stage>svg{width:100%;height:100%;display:block;overflow:visible}.fermat-circuit-edge{stroke:var(--fermat-color-neutral-200);stroke-width:2px}.fermat-circuit-branch{color:var(--fermat-color-neutral-900)}.fermat-circuit-symbol,.fermat-circuit-cell-plate,.fermat-circuit-switch-arm,.fermat-circuit-lamp-filament,.fermat-circuit-capacitor-plate,.fermat-circuit-diode-bar{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:4px}.fermat-circuit-terminal{fill:var(--fermat-color-neutral-0);stroke:currentColor;stroke-width:3px}.fermat-circuit-diode{fill:var(--fermat-color-neutral-0);stroke:currentColor;stroke-linejoin:round;stroke-width:3px}.fermat-circuit-branch--conducting .fermat-circuit-diode{fill:var(--fermat-color-brand-100)}.fermat-circuit-lamp{fill:color-mix(in srgb, var(--fermat-color-yellow-400) calc(var(--fermat-circuit-lamp-level) * 80%), var(--fermat-color-neutral-0));stroke:currentColor;stroke-width:3px}.fermat-circuit-branch--lit .fermat-circuit-lamp{filter:drop-shadow(0 0 7px var(--fermat-color-yellow-400))}.fermat-circuit-branch--open .fermat-circuit-switch-arm,.fermat-circuit-branch--blocked .fermat-circuit-diode{color:var(--fermat-color-neutral-500)}.fermat-circuit-branch--selected{color:var(--fermat-color-brand-700)}.fermat-circuit-branch__flow{fill:none;stroke:var(--fermat-color-brand-500);stroke-dasharray:2 12;stroke-linecap:round;stroke-width:5px;animation:fermat-circuit-flow var(--fermat-circuit-flow-duration) linear infinite}.fermat-circuit-branch__label,.fermat-circuit-branch__state,.fermat-circuit-polarity{fill:var(--fermat-color-neutral-700);paint-order:stroke;stroke:var(--fermat-color-neutral-0);stroke-width:4px;text-anchor:middle;font-size:13px;font-weight:700}.fermat-circuit-branch__state{fill:var(--fermat-color-brand-700);font-size:12px}.fermat-circuit-polarity{font-size:15px}.fermat-circuit-node circle{fill:var(--fermat-color-neutral-0);stroke:var(--fermat-color-neutral-700);stroke-width:3px}.fermat-circuit-node text{fill:var(--fermat-color-neutral-700);paint-order:stroke;stroke:var(--fermat-color-neutral-0);stroke-width:4px;font-size:12px;font-weight:700}.fermat-circuit-node--probe-a circle{fill:var(--fermat-color-brand-100);stroke:var(--fermat-color-brand-700)}.fermat-circuit-node--probe-b circle{fill:var(--fermat-color-orange-500);stroke:var(--fermat-color-neutral-900)}.fermat-circuit-stage__targets{pointer-events:none;position:absolute;inset:0}.fermat-circuit-edge-target,.fermat-circuit-node-target{z-index:1;pointer-events:auto;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:0;position:absolute;transform:translate(-50%,-50%)}.fermat-circuit-edge-target span{border:1px solid var(--fermat-color-neutral-300);background:var(--fermat-color-neutral-0);width:1.45rem;height:1.45rem;color:var(--fermat-color-brand-700);opacity:0;border-radius:50%;place-items:center;margin:auto;font-weight:700;transition:opacity .12s;display:grid}.fermat-circuit-edge-target:hover{background:color-mix(in srgb, var(--fermat-color-brand-100) 48%, transparent)}.fermat-circuit-edge-target:hover span,.fermat-circuit-edge-target:focus-visible span{opacity:1}.fermat-circuit-edge-target--selected{outline:2px solid color-mix(in srgb, var(--fermat-color-brand-500) 55%, transparent);outline-offset:-4px}.fermat-circuit-node-target{z-index:2;border-radius:50%;width:2rem;height:2rem}.fermat-circuit-node-target:hover{background:color-mix(in srgb, var(--fermat-color-brand-100) 55%, transparent)}.fermat-circuit-edge-target:focus-visible,.fermat-circuit-node-target:focus-visible{outline:3px solid var(--fermat-color-brand-500);outline-offset:2px}.fermat-circuit-edge-target:disabled,.fermat-circuit-node-target:disabled{cursor:default}.fermat-circuit-tool-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.35rem;display:grid}.fermat-circuit-tool-grid .fermat-button{min-width:0;padding-inline:.45rem}.fermat-circuit-tool-grid--instruments{grid-template-columns:1fr}.fermat-circuit-probe-controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem;display:grid}.fermat-circuit-scope{width:100%;max-height:7rem;color:var(--fermat-color-neutral-700);margin-top:.6rem;display:block}.fermat-circuit-scope__axis{stroke:var(--fermat-color-neutral-300);stroke-width:1.5px}.fermat-circuit-scope__trace{fill:none;stroke:var(--fermat-color-brand-600);stroke-linecap:round;stroke-linejoin:round;stroke-width:3px}.fermat-circuit-scope text{fill:var(--fermat-color-neutral-700);font-size:11px}@keyframes fermat-circuit-flow{to{stroke-dashoffset:-28px}}@media (prefers-reduced-motion:reduce){.fermat-circuit-branch__flow{animation:none}}@media (max-width:720px){.fermat-circuit-tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fermat-circuit-tool-grid--instruments{grid-template-columns:1fr}}
.fermat-wave-optics-lab{width:100%;min-width:0;color:var(--fermat-color-neutral-900)}.fermat-wave-optics-lab .fermat-lab-layout{max-width:70rem;margin:0 auto}.fermat-standing-wave__equilibrium,.fermat-doppler-lab__axis,.fermat-polarization-lab__axis{stroke:var(--fermat-color-neutral-300);stroke-dasharray:6 6;stroke-width:1.5px}.fermat-standing-wave__support{stroke:var(--fermat-color-neutral-700);stroke-linecap:round;stroke-width:7px}.fermat-standing-wave__string{fill:none;stroke:var(--fermat-color-brand-600);stroke-linecap:round;stroke-linejoin:round;stroke-width:4px}.fermat-standing-wave__particles circle{fill:var(--fermat-color-brand-800);stroke:#fff;stroke-width:1.2px}.fermat-standing-wave__nodes circle{fill:#fff;stroke:var(--fermat-color-purple-500);stroke-width:3px}.fermat-standing-wave__nodes text{fill:var(--fermat-color-purple-500);font:750 12px var(--fermat-font-sans);text-anchor:middle}.fermat-interference-lab__stage{cursor:crosshair;touch-action:none}.fermat-interference-lab__field{shape-rendering:crispedges}.fermat-interference-lab__sources circle{fill:var(--fermat-color-orange-500);stroke:#fff;stroke-width:3px;filter:drop-shadow(0 2px 3px #00000059)}.fermat-interference-lab__sources text{fill:#fff;font:750 11px var(--fermat-font-sans);text-anchor:middle}.fermat-interference-lab__stage .fermat-measurement-probe text{stroke:var(--fermat-color-neutral-900)}.fermat-diffraction-lab__source{fill:var(--fermat-diffraction-color);stroke:#fff;stroke-width:3px;filter:drop-shadow(0 0 7px var(--fermat-diffraction-color))}.fermat-diffraction-lab__beam{fill:color-mix(in srgb, var(--fermat-diffraction-color) 13%, transparent)}.fermat-diffraction-lab__barrier,.fermat-diffraction-lab__screen{stroke:var(--fermat-color-neutral-700);stroke-linecap:round;stroke-width:7px}.fermat-diffraction-lab__slits line{stroke:#fff;stroke-width:12px}.fermat-diffraction-lab__rays line{stroke:color-mix(in srgb, var(--fermat-diffraction-color) 52%, transparent);stroke-dasharray:5 5;stroke-width:1.5px}.fermat-diffraction-lab__bands{filter:drop-shadow(0 0 4px var(--fermat-diffraction-color))}.fermat-diffraction-lab__plot-axis{stroke:var(--fermat-color-neutral-300);stroke-width:1.5px}.fermat-diffraction-lab__intensity,.fermat-diffraction-lab__envelope{fill:none;stroke-linejoin:round}.fermat-diffraction-lab__intensity{stroke:var(--fermat-diffraction-color);stroke-width:3px}.fermat-diffraction-lab__envelope{stroke:var(--fermat-color-purple-500);stroke-dasharray:5 4;stroke-width:2px}.fermat-diffraction-lab__label{fill:var(--fermat-color-neutral-500);font:700 12px var(--fermat-font-sans);text-anchor:middle}.fermat-doppler-lab__wavefronts circle{fill:none;stroke:var(--fermat-color-brand-500);stroke-width:2.5px}.fermat-doppler-lab__source circle{fill:var(--fermat-color-purple-500);stroke:#fff;stroke-width:3px}.fermat-doppler-lab__source path{fill:#fff}.fermat-doppler-lab__observer>circle:first-child{fill:color-mix(in srgb, var(--fermat-color-orange-500) 18%, white);stroke:var(--fermat-color-orange-500);stroke-width:3px}.fermat-doppler-lab__observer>circle:nth-child(2){fill:var(--fermat-color-orange-500)}.fermat-doppler-lab__source text,.fermat-doppler-lab__observer text{fill:var(--fermat-color-neutral-600);font:700 12px var(--fermat-font-sans);text-anchor:middle}.fermat-refraction-lab__medium--one{fill:color-mix(in srgb, var(--fermat-color-brand-100) 45%, white)}.fermat-refraction-lab__medium--two{fill:color-mix(in srgb, var(--fermat-color-info-700) 18%, white)}.fermat-refraction-lab__boundary{stroke:var(--fermat-color-neutral-700);stroke-width:3px}.fermat-refraction-lab__normal{stroke:var(--fermat-color-neutral-500);stroke-dasharray:6 5;stroke-width:1.5px}.fermat-refraction-lab__incident,.fermat-refraction-lab__reflected,.fermat-refraction-lab__refracted{stroke-linecap:round;stroke-width:5px}.fermat-refraction-lab__incident{stroke:var(--fermat-color-purple-500)}.fermat-refraction-lab__reflected{stroke:var(--fermat-color-orange-500)}.fermat-refraction-lab__refracted{stroke:var(--fermat-color-brand-600)}.fermat-refraction-lab__point{fill:#fff;stroke:var(--fermat-color-neutral-800);stroke-width:3px}.fermat-refraction-lab__medium-label,.fermat-refraction-lab__angle-label{fill:var(--fermat-color-neutral-700);font:700 14px var(--fermat-font-math)}.fermat-refraction-lab__tir{fill:var(--fermat-color-warning-700);font:800 16px var(--fermat-font-sans);text-anchor:middle}.fermat-lens-system__axis{stroke:var(--fermat-color-neutral-400);stroke-dasharray:6 5;stroke-width:1.5px}.fermat-lens-system__rays polyline{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:3px}.fermat-lens-system__ray--1 polyline{stroke:var(--fermat-color-purple-500)}.fermat-lens-system__ray--2 polyline{stroke:var(--fermat-color-orange-500)}.fermat-lens-system__extension{stroke:var(--fermat-color-neutral-500);stroke-dasharray:5 4;stroke-width:1.5px}.fermat-lens-system__lens{fill:color-mix(in srgb, var(--fermat-color-brand-500) 20%, white);stroke:var(--fermat-color-brand-700);stroke-width:2.5px}.fermat-lens-system__object line,.fermat-lens-system__image line{stroke-width:4px}.fermat-lens-system__object line{stroke:var(--fermat-color-neutral-800)}.fermat-lens-system__object circle{fill:var(--fermat-color-neutral-800)}.fermat-lens-system__image line{stroke:var(--fermat-color-brand-700)}.fermat-lens-system__image circle{fill:var(--fermat-color-brand-700)}.fermat-lens-system__image--virtual{opacity:.62}.fermat-lens-system__image--virtual line{stroke-dasharray:5 4}.fermat-lens-system__object text,.fermat-lens-system__image text,.fermat-lens-system__lens-label{fill:var(--fermat-color-neutral-600);font:750 13px var(--fermat-font-sans);text-anchor:middle}.fermat-lens-system__lens-label{fill:var(--fermat-color-brand-700)}.fermat-polarization-lab__axis{stroke:#ffffff38}.fermat-polarization-lab__wave path{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:5px}.fermat-polarization-lab__wave--input path{stroke:var(--fermat-color-orange-500)}.fermat-polarization-lab__wave--middle path{stroke:var(--fermat-color-purple-500)}.fermat-polarization-lab__wave--output path{stroke:var(--fermat-color-brand-300)}.fermat-polarization-lab__filter ellipse{fill:#ffffff14;stroke:#ffffffbf;stroke-width:2px}.fermat-polarization-lab__filter line{stroke:#fff;stroke-linecap:round;stroke-width:4px}.fermat-polarization-lab__filter circle{fill:#fff}.fermat-polarization-lab__filter text{fill:#fff;font:700 12px var(--fermat-font-sans);text-anchor:middle}.fermat-polarization-lab__filter .fermat-polarization-lab__angle{fill:#ffffff9e;font-family:var(--fermat-font-mono)}.fermat-polarization-lab__meter circle{fill:#ffffff14;stroke:#ffffff8c;stroke-width:2px}.fermat-polarization-lab__meter path{stroke:var(--fermat-color-brand-300);stroke-linecap:round;stroke-width:3px}.fermat-polarization-lab__meter text{fill:#fff;font:700 12px var(--fermat-font-mono);text-anchor:middle}.fermat-lab-object-renderer--standing-wave,.fermat-lab-object-renderer--wave-interference,.fermat-lab-object-renderer--diffraction,.fermat-lab-object-renderer--doppler,.fermat-lab-object-renderer--refraction,.fermat-lab-object-renderer--lens-system,.fermat-lab-object-renderer--polarization{align-items:flex-start;padding:0}.fermat-lab-object-renderer--standing-wave .fermat-lab-layout,.fermat-lab-object-renderer--wave-interference .fermat-lab-layout,.fermat-lab-object-renderer--diffraction .fermat-lab-layout,.fermat-lab-object-renderer--doppler .fermat-lab-layout,.fermat-lab-object-renderer--refraction .fermat-lab-layout,.fermat-lab-object-renderer--lens-system .fermat-lab-layout,.fermat-lab-object-renderer--polarization .fermat-lab-layout{border:0}
.fermat-physics-lab{width:100%;min-width:0;color:var(--fermat-color-neutral-900)}.fermat-physics-lab .fermat-lab-layout{max-width:70rem;margin:0 auto}.fermat-wave-lab__axis{stroke:var(--fermat-color-neutral-300);stroke-dasharray:5 5;stroke-width:1.5px}.fermat-wave-lab__curve{fill:none;stroke:var(--fermat-color-brand-600);stroke-linecap:round;stroke-linejoin:round;stroke-width:4px}.fermat-wave-lab__particles circle{fill:var(--fermat-color-brand-800);stroke:#fff;stroke-width:1.5px}.fermat-projectile-lab__ground{stroke:var(--fermat-color-neutral-700);stroke-width:3px}.fermat-projectile-lab__platform{stroke:var(--fermat-color-neutral-700);stroke-linecap:round;stroke-width:7px}.fermat-projectile-lab__trail{fill:none;stroke:var(--fermat-color-brand-600);stroke-dasharray:7 5;stroke-linecap:round;stroke-width:3px}.fermat-projectile-lab__projectile{fill:var(--fermat-color-orange-500);stroke:#fff;stroke-width:3px;filter:drop-shadow(0 2px 3px #13252240)}.fermat-projectile-lab__axis-label{fill:var(--fermat-color-neutral-500);font-family:var(--fermat-font-math);font-size:14px;font-style:italic;font-weight:700}.fermat-electric-field-lab__stage{cursor:crosshair;touch-action:none}.fermat-electric-field-lab__vectors .fermat-vector-arrow{color:#ffffffc2}.fermat-electric-field-lab__vectors .fermat-vector-arrow line{stroke-width:1.5px}.fermat-electric-field-lab__potential{shape-rendering:crispedges}.fermat-electric-field-lab__charges circle{stroke:#fff;stroke-width:3px;filter:drop-shadow(0 3px 5px #00000047)}.fermat-electric-field-lab__charges circle.is-positive{fill:#d94b5f}.fermat-electric-field-lab__charges circle.is-negative{fill:#416fbd}.fermat-electric-field-lab__charges circle.is-neutral{fill:var(--fermat-color-neutral-500)}.fermat-electric-field-lab__charges text{fill:#fff;font-family:var(--fermat-font-sans);text-anchor:middle;font-size:24px;font-weight:750}.fermat-electric-field-lab__charges .fermat-electric-field-lab__charge-label{fill:#fff;paint-order:stroke;stroke:var(--fermat-color-neutral-900);stroke-linejoin:round;stroke-width:4px;font-size:12px}.fermat-electric-field-lab__stage .fermat-measurement-probe text{stroke:var(--fermat-color-neutral-900)}.fermat-lab-object-renderer--wave,.fermat-lab-object-renderer--projectile,.fermat-lab-object-renderer--electric-field{align-items:flex-start;padding:0}.fermat-lab-object-renderer--wave .fermat-lab-layout,.fermat-lab-object-renderer--projectile .fermat-lab-layout,.fermat-lab-object-renderer--electric-field .fermat-lab-layout{border:0}
