@import url(https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;700&display=swap);:root{--color-bg:#fff;--color-text:#282c34;--color-link:#0969da;--color-button-bg:#eaeaea;--color-button-text:#282c34;--color-border:#d0d0d0}:root[data-theme=dark]{--color-bg:#282c34;--color-text:#fff;--color-link:#61dafb;--color-button-bg:#3a3f4b;--color-button-text:#fff;--color-border:#4b5163}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#fff;background-color:var(--color-bg);color:#282c34;color:var(--color-text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.App{text-align:center}.home{align-items:center;display:flex;flex-direction:column;min-height:100vh;padding:2rem 1rem}.home h1{font-family:Roboto,sans-serif}.home-logo{height:auto;margin-top:2rem;max-width:24rem;width:100%}.home-buttons{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:2rem;justify-content:center}.home-buttons a{text-decoration:none}.home button{background-color:var(--color-button-bg);border:1px solid var(--color-border);border-radius:6px;color:var(--color-button-text);cursor:pointer;font:inherit;font-size:1.1rem;padding:1rem 2rem;transition:background-color .2s ease,color .2s ease,border-color .2s ease;width:16rem}.home button:hover{border-color:var(--color-link)}.login{align-items:center;display:flex;flex-direction:column;min-height:100vh;padding:2rem 1rem}.login h1{font-family:Roboto,sans-serif}.login form{align-items:stretch;gap:1.25rem;margin:auto 0;width:16rem}.login form,.login label{display:flex;flex-direction:column}.login label{align-items:flex-start;font-size:.95rem;gap:.4rem;text-align:left}.login input{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:6px;box-sizing:border-box;color:var(--color-text);font:inherit;font-size:1rem;padding:.6rem .75rem;transition:border-color .2s ease;width:100%}.login input:focus{border-color:var(--color-link);outline:none}.login button{background-color:var(--color-button-bg);border:1px solid var(--color-border);border-radius:6px;color:var(--color-button-text);cursor:pointer;font:inherit;font-size:1.1rem;padding:1rem 2rem;transition:background-color .2s ease,color .2s ease,border-color .2s ease;width:100%}.login button:hover{border-color:var(--color-link)}.login a,.login a:visited{color:var(--color-link)}.app-topbar{background-color:var(--color-bg);border-bottom:1px solid var(--color-border);justify-content:space-between;padding:.75rem 1rem;position:-webkit-sticky;position:sticky;top:0;z-index:1000}.app-topbar,.home-icon-link{align-items:center;display:flex}.home-icon{height:3rem;transition:opacity .2s ease;width:auto}.home-icon-link:hover .home-icon{opacity:.75}.theme-toggle{align-items:center;background-color:var(--color-button-bg);border:none;border-radius:50%;color:var(--color-button-text);cursor:pointer;display:flex;font-size:1.25rem;height:2.75rem;justify-content:center;line-height:1;margin-left:auto;transition:background-color .2s ease,color .2s ease;width:2.75rem}.question-builder{display:flex;flex-direction:column;min-height:100vh}.question-builder-header{align-items:center;border-bottom:1px solid var(--color-border);display:flex;gap:1.5rem;justify-content:flex-start;padding:1.5rem 2rem}.question-builder-header h1{margin:0}.question-builder-body{display:flex;flex:1 1}.answer-side,.question-side{box-sizing:border-box;flex:1 1;padding:2rem}.question-side{border-right:1px solid var(--color-border)}.question-side h2{text-align:center}.answer-side{display:flex;flex-direction:column}.submit-question{align-self:flex-end;margin-top:auto}.subject-toggle{display:flex;font-size:1.1rem;gap:.5rem;justify-content:center;margin-bottom:2rem}.subject-toggle .divider{color:var(--color-border)}.subject-toggle .subject-option{background:none;border:none;color:inherit;cursor:pointer;font:inherit;padding:0}.function-plot{aspect-ratio:1/1;display:block;height:auto;max-width:280px;width:100%}.function-plot-bg{fill:var(--color-bg)}.function-plot-gridline{stroke:var(--color-border);stroke-width:1;opacity:.5}.function-plot-axis{stroke:var(--color-text);stroke-width:1.5;opacity:.8}.function-plot-tick-label{fill:var(--color-text);font-size:9px;opacity:.7}.function-plot-curve{fill:none;stroke-width:2.5}.function-plot-boundary-dashed{stroke-dasharray:6 4}.function-plot-shade{stroke:none;fill-opacity:.18}.graph-builder{display:flex;flex-direction:column;gap:.75rem;margin-top:.5rem}.graph-builder-toggle{align-items:center;cursor:pointer;display:flex;font-weight:600;gap:.5rem}.graph-builder-fields{border:1px solid var(--color-border);border-radius:6px;display:flex;flex-direction:column;gap:.5rem;padding:.75rem}.graph-builder-edit-hint{font-size:.8rem;margin:0;opacity:.7}.graph-builder-expression{align-items:center;display:flex;gap:.5rem}.graph-builder-expression-prefix{font-weight:600}.graph-builder-operator-select{font:inherit;font-weight:600;padding:.4rem .5rem}.graph-builder-expression-field,.graph-builder-operator-select{background:var(--color-bg);border:1px solid var(--color-border);border-radius:6px;box-sizing:border-box;color:var(--color-text)}.graph-builder-expression-field{--hue:210;--caret-color:var(--color-link);flex:1 1;font-size:1.25rem;min-height:2.5rem;padding:.5rem .75rem}.graph-builder-remove-expression{background:none;border:1px solid var(--color-border);border-radius:6px;color:var(--color-text);cursor:pointer;line-height:1;padding:.3rem .55rem}.graph-builder-add-expression{align-self:flex-start;background:none;border:none;color:var(--color-link);cursor:pointer;font:inherit;padding:.2rem 0}.graph-builder-circle{align-items:flex-end;display:flex;gap:.5rem}.graph-builder-circle-label{font-weight:600;padding-bottom:.4rem}.graph-builder-circle-field{display:flex;flex-direction:column;font-size:.85rem;gap:.25rem}.graph-builder-circle-field input{background:var(--color-bg);border:1px solid var(--color-border);border-radius:6px;box-sizing:border-box;color:var(--color-text);font:inherit;padding:.4rem .6rem;width:5rem}.graph-builder-range-row{display:flex;flex-wrap:wrap;gap:.75rem}.graph-builder-range-row label{display:flex;flex:1 1;flex-direction:column;font-size:.85rem;gap:.25rem;min-width:4.5rem}.graph-builder-range-row input{background:var(--color-bg);border:1px solid var(--color-border);border-radius:6px;box-sizing:border-box;color:var(--color-text);font:inherit;padding:.4rem .6rem}.graph-builder-preview{display:flex;justify-content:center;padding-top:.25rem}.graph-builder-preview-placeholder{font-size:.85rem;opacity:.7;text-align:center}.table-builder{display:flex;flex-direction:column;gap:.75rem;margin-top:.5rem}.table-builder-toggle{align-items:center;cursor:pointer;display:flex;font-weight:600;gap:.5rem}.table-builder-fields{border:1px solid var(--color-border);border-radius:6px;display:flex;flex-direction:column;gap:.5rem;padding:.75rem}.table-builder-edit-hint{font-size:.8rem;margin:0;opacity:.7}.table-builder-row{grid-gap:.5rem;align-items:center;display:grid;gap:.5rem;grid-template-columns:3.5rem 1fr 1fr 1fr 1.75rem}.table-builder-header{font-size:.8rem;font-weight:600;opacity:.7}.table-builder-target-header{text-align:center}.table-builder-target-radio{justify-self:center}.table-builder-input{background:var(--color-bg);box-sizing:border-box;font:inherit;padding:.4rem .6rem;width:100%}.table-builder-input,.table-builder-remove-row{border:1px solid var(--color-border);border-radius:6px;color:var(--color-text)}.table-builder-remove-row{background:none;cursor:pointer;line-height:1;padding:.3rem .55rem}.table-builder-add-row{align-self:flex-start;background:none;border:none;color:var(--color-link);cursor:pointer;font:inherit;padding:.2rem 0}.table-builder-preview{display:flex;justify-content:center;padding-top:.25rem}.table-builder-preview-table{border-collapse:collapse}.table-builder-preview-table td,.table-builder-preview-table th{border:1px solid var(--color-border);padding:.4rem 1rem;text-align:center}.table-builder-target-row{background:var(--color-button-bg);font-weight:600}.table-builder-preview-placeholder{font-size:.85rem;opacity:.7;text-align:center}.table-builder-mode-toggle{display:flex;font-size:.9rem;gap:1rem}.table-builder-mode-toggle label{align-items:center;cursor:pointer;display:flex;gap:.35rem}.table-builder-row-system{grid-template-columns:1fr 1.75rem}.table-builder-equation2{border:1px solid var(--color-border);border-radius:6px;display:flex;flex-direction:column;gap:.5rem;padding:.75rem}.table-builder-system-hint{font-size:.8rem;margin:0;opacity:.7}.table-builder-equation2 .math-field-label{font-weight:600}.table-builder-equation2 .math-field{--hue:210;--caret-color:var(--color-link);background:var(--color-bg);border:1px solid var(--color-border);border-radius:6px;box-sizing:border-box;color:var(--color-text);font-size:1.25rem;min-height:2.5rem;padding:.5rem .75rem;width:100%}.table-builder-equation2 .insert-placeholder-button{align-self:flex-start;background:none;border:1px solid var(--color-border);border-radius:6px;color:var(--color-link);cursor:pointer;font:inherit;font-size:.85rem;padding:.3rem .6rem}.formatting-toolbar{display:flex;gap:.35rem}.formatting-toolbar .formatting-button{background:none;border:1px solid var(--color-border);border-radius:6px;color:var(--color-text);cursor:pointer;font:inherit;font-size:.9rem;min-width:2rem;padding:.25rem .6rem}.formatting-toolbar .formatting-button:hover{border-color:var(--color-link);color:var(--color-link)}.math-builder{display:flex;flex-direction:column;gap:.75rem}.math-builder .question-text-input{background:var(--color-bg);border:1px solid var(--color-border);border-radius:6px;box-sizing:border-box;color:var(--color-text);font:inherit;min-height:4rem;padding:.5rem .75rem;resize:vertical;width:100%}.math-builder .math-field-label{font-weight:600}.math-builder .equation-builder-label{margin-top:1rem}.math-builder .math-field{--hue:210;--caret-color:var(--color-link);background:var(--color-bg);border:1px solid var(--color-border);border-radius:6px;box-sizing:border-box;color:var(--color-text);font-size:1.25rem;min-height:2.5rem;padding:.5rem .75rem;width:100%}.math-builder .equation-builder-toolbar{display:flex;flex-direction:column;gap:.35rem}.math-builder .insert-placeholder-button{align-self:flex-start;background:none;border:1px solid var(--color-border);border-radius:6px;color:var(--color-link);cursor:pointer;font:inherit;font-size:.85rem;padding:.3rem .6rem}.math-builder .equation-builder-hint{font-size:.85rem;margin:0;opacity:.7}.math-builder .random-range-fields{border:1px solid var(--color-border);border-radius:6px;display:flex;flex-direction:column;gap:.5rem;padding:.75rem}.math-builder .random-range-hint{font-size:.85rem;margin:0;opacity:.7}.math-builder .random-range-row{align-items:center;background:#7f7f7f0f;background:var(--color-bg-secondary,#7f7f7f0f);border-left:4px solid #0000;border-radius:4px;display:flex;flex-wrap:wrap;gap:.75rem;padding:.5rem .5rem .5rem .75rem}.math-builder .placeholder-color-dot{border-radius:50%;flex-shrink:0;height:.75rem;width:.75rem}.math-builder .random-range-index{font-size:.85rem;font-weight:600;opacity:.85}.math-builder .random-range-row label{display:flex;flex:1 1;flex-direction:column;font-size:.85rem;gap:.25rem;min-width:4.5rem}.math-builder .random-range-row input{background:var(--color-bg);border:1px solid var(--color-border);border-radius:6px;box-sizing:border-box;color:var(--color-text);font:inherit;padding:.4rem .6rem}.math-builder .random-range-row label.random-range-exclude-zero{align-items:center;flex:0 0 auto;flex-direction:row;min-width:0}.math-builder .random-range-row label.random-range-exclude-zero input{padding:0;width:auto}.math-builder .hide-equation-toggle,.math-builder .system-equation-toggle{align-items:center;cursor:pointer;display:flex;font-size:.9rem;font-weight:600;gap:.4rem}.math-builder .hide-equation-toggle input,.math-builder .system-equation-toggle input{width:auto}.math-builder .system-equation2{border:1px solid var(--color-border);border-radius:6px;display:flex;flex-direction:column;gap:.5rem;padding:.75rem}.math-builder .system-equation-hint{font-size:.85rem;margin:0;opacity:.7}.math-builder .require-integer-answers-toggle{align-items:center;cursor:pointer;display:flex;font-size:.9rem;font-weight:600;gap:.4rem}.math-builder .require-integer-answers-toggle input{width:auto}.english-builder{display:flex;flex-direction:column;gap:.75rem}.english-builder .question-text-input{background:var(--color-bg);border:1px solid var(--color-border);border-radius:6px;box-sizing:border-box;color:var(--color-text);font:inherit;min-height:4rem;padding:.5rem .75rem;resize:vertical;width:100%}.english-builder .english-field-label{font-weight:600}.answer-options{display:flex;flex-direction:column;gap:.75rem;margin-top:1rem}.answer-option-block{border-bottom:1px solid var(--color-border);display:flex;flex-direction:column;gap:.25rem;padding-bottom:.5rem}.answer-option-block:last-child{border-bottom:none;padding-bottom:0}.answer-option{align-items:center;display:flex;gap:.5rem}.answer-option-label{font-weight:600;min-width:1rem}.answer-option-correct{cursor:pointer}.answer-option .math-field{--hue:210;--caret-color:var(--color-link);font-size:1.1rem}.answer-option .math-field,.answer-option-text{background:var(--color-bg);border:1px solid var(--color-border);border-radius:6px;box-sizing:border-box;color:var(--color-text);flex:1 1;min-height:2.5rem;padding:.5rem .75rem}.answer-option-text{font:inherit;font-size:1.1rem}.answer-option-formula-toggle{align-items:center;cursor:pointer;display:flex;font-size:.85rem;gap:.4rem;margin-left:1.5rem;opacity:.85}.answer-option-formula-toggle:has(input:disabled){cursor:not-allowed;opacity:.5}.answer-option-formula-hint{flex-basis:100%;font-size:.8rem;font-style:italic}.answer-option-regenerate-button{background:none;border:1px solid var(--color-border);border-radius:6px;color:var(--color-link);cursor:pointer;font-size:1rem;line-height:1;padding:.2rem .5rem}.answer-option-formula-field{align-items:center;display:flex;flex:1 1;flex-wrap:wrap;gap:.5rem}.answer-option-formula-input{flex:1 1}.answer-option-formula-field .math-field{font-size:1.35rem;min-height:3.25rem;min-width:12rem;padding:.6rem .9rem}.answer-option-formula-error{color:#dc2626;font-size:.85rem;white-space:nowrap}.answer-option-formula-warning{color:#b45309;flex-basis:100%;font-size:.85rem}.answer-option-placeholder-buttons{display:flex;flex-wrap:wrap;gap:.4rem;margin-left:1.5rem}.answer-option-placeholder-button{background:none;border:1px solid;border-radius:6px;cursor:pointer;font:inherit;font-size:.8rem;padding:.15rem .5rem}.answer-option-placeholder-button.active{background:var(--color-link);border-color:var(--color-link);color:var(--color-bg)}.answer-options-table-fill{align-items:center;border-bottom:1px solid var(--color-border);display:flex;flex-wrap:wrap;gap:.5rem;padding-bottom:.5rem}.answer-options-fill-from-table-button{background:none;border:1px solid var(--color-border);border-radius:6px;color:var(--color-link);cursor:pointer;font:inherit;padding:.4rem .75rem}.answer-options-fill-from-table-button:disabled{cursor:not-allowed;opacity:.5}.answer-options-fill-from-table-hint{font-size:.8rem;font-style:italic}.tag-input{margin:1.5rem 0}.tag-input-chips{align-items:center;border:1px solid var(--color-border);border-radius:6px;display:flex;flex-wrap:wrap;gap:.5rem;padding:.5rem}.tag-chip{align-items:center;background-color:var(--color-button-bg);border-radius:999px;color:var(--color-button-text);display:inline-flex;font-size:.85rem;gap:.35rem;padding:.3rem .6rem}.tag-chip-remove{background:none;cursor:pointer;line-height:1;padding:0}.tag-chip-remove,.tag-input-field{border:none;color:inherit;font:inherit}.tag-input-field{background:#0000;flex:1 1;min-width:8rem;outline:none}.quiz-builder{display:flex;flex-direction:column;min-height:100vh}.quiz-builder-header{align-items:center;border-bottom:1px solid var(--color-border);display:flex;gap:1.5rem;justify-content:flex-start;padding:1.5rem 2rem}.quiz-builder-header h1{margin:0}.quiz-builder-body{display:flex;flex:1 1}.question-bank-side,.quiz-preview-side{box-sizing:border-box;flex:1 1;padding:2rem}.question-bank-side{border-right:1px solid var(--color-border)}.question-bank-side h2,.quiz-preview-side h2{text-align:center}.quiz-preview-side{display:flex;flex-direction:column}.question-bank-list,.quiz-preview-list{display:flex;flex-direction:column;gap:.75rem;list-style:none;margin:0;padding:0}.question-bank-item,.quiz-preview-item{align-items:center;border:1px solid var(--color-border);border-radius:6px;display:flex;gap:.75rem;padding:.75rem 1rem}.question-bank-item{cursor:pointer}.question-bank-subject{flex-shrink:0;font-size:.8rem;opacity:.7;text-transform:capitalize}.question-bank-text{flex:1 1;min-width:0}.random-pull-row,.tag-filter-bar{margin-bottom:1rem}.random-pull-row{align-items:flex-end;display:flex;gap:.75rem}.random-pull-label{display:flex;flex-direction:column;font-size:.9rem;gap:.4rem}.random-pull-input{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:6px;box-sizing:border-box;color:var(--color-text);font:inherit;padding:.4rem .6rem;width:5rem}.random-pull-button{background-color:var(--color-button-bg);border:none;border-radius:6px;color:var(--color-button-text);cursor:pointer;font:inherit;padding:.5rem 1rem}.random-pull-button:disabled{cursor:not-allowed;opacity:.5}.random-pull-info{color:var(--color-text);font-size:.9rem;margin:-.5rem 0 1rem;opacity:.75}.question-bank-tags{display:flex;flex-shrink:0;flex-wrap:wrap;gap:.3rem}.question-bank-tag{background-color:var(--color-button-bg);border-radius:999px;color:var(--color-button-text);font-size:.75rem;padding:.2rem .55rem}.add-question-button,.delete-question-button,.remove-question-button{background-color:var(--color-button-bg);border:1px solid var(--color-border);border-radius:6px;color:var(--color-button-text);cursor:pointer;flex-shrink:0;font:inherit;font-size:.85rem;padding:.4rem .9rem;transition:border-color .2s ease}.add-question-button:hover,.delete-question-button:hover:not(:disabled),.remove-question-button:hover{border-color:var(--color-link)}.delete-question-button:disabled{cursor:default;opacity:.5}.quiz-preview-actions{display:flex;flex-shrink:0;gap:.4rem}.reorder-button{background-color:var(--color-button-bg);border:1px solid var(--color-border);border-radius:6px;color:var(--color-button-text);cursor:pointer;font:inherit;padding:.3rem .6rem}.reorder-button:hover:not(:disabled){border-color:var(--color-link)}.reorder-button:disabled{cursor:default;opacity:.4}.quiz-name-label{display:flex;flex-direction:column;font-size:.95rem;gap:.4rem;margin-bottom:1.25rem}.quiz-name-input{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:6px;box-sizing:border-box;color:var(--color-text);font:inherit;font-size:1rem;padding:.6rem .75rem;width:100%}.quiz-name-input:focus{border-color:var(--color-link);outline:none}.quiz-time-limit-row{align-items:flex-end;display:flex;gap:1.25rem;margin-bottom:1.25rem}.quiz-time-limit-label{display:flex;flex-direction:column;font-size:.95rem;gap:.4rem}.quiz-time-limit-input{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:6px;box-sizing:border-box;color:var(--color-text);font:inherit;font-size:1rem;padding:.6rem .75rem;width:8rem}.quiz-time-limit-input:focus{border-color:var(--color-link);outline:none}.quiz-time-limit-input:disabled{cursor:not-allowed;opacity:.5}.quiz-no-time-limit-label{align-items:center;cursor:pointer;display:flex;font-size:.95rem;gap:.4rem;padding-bottom:.6rem}.submit-error{align-self:flex-end}.submit-question{background-color:var(--color-button-bg);border:none;border-radius:6px;color:var(--color-button-text);cursor:pointer;font:inherit;padding:.5rem 1.25rem}.quiz-submit-row{align-self:flex-end;display:flex;gap:.75rem;margin-top:auto}.cancel-edit-quiz-button{background-color:initial;border:1px solid var(--color-border);border-radius:6px;color:var(--color-text);cursor:pointer;font:inherit;padding:.5rem 1.25rem;transition:border-color .2s ease}.cancel-edit-quiz-button:hover:not(:disabled){border-color:var(--color-link)}.edit-question-backdrop{align-items:center;background:#00000080;display:flex;inset:0;justify-content:center;padding:2rem;position:fixed;z-index:100}.edit-question-panel{background:var(--color-bg);border:1px solid var(--color-border);border-radius:10px;box-shadow:0 12px 40px #00000059;box-sizing:border-box;color:var(--color-text);max-height:100%;max-width:60rem;overflow-y:auto;padding:1.5rem 2rem 2rem;width:100%}.edit-question-header{align-items:center;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1rem}.edit-question-header h2{margin:0}.edit-question-close{background:none;border:1px solid var(--color-border);border-radius:6px;color:var(--color-text);cursor:pointer;font-size:1.5rem;line-height:1;padding:.15rem .6rem}.edit-question-close:hover:not(:disabled){border-color:var(--color-link)}.edit-question-body{display:flex;flex-wrap:wrap;gap:2rem}.edit-question-answer-side,.edit-question-question-side{display:flex;flex:1 1 20rem;flex-direction:column;min-width:20rem}.edit-question-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:1rem}.edit-question-cancel{background-color:var(--color-button-bg);border:1px solid var(--color-border);border-radius:6px;color:var(--color-button-text);cursor:pointer;font:inherit;padding:.5rem 1.25rem}.edit-question-cancel:hover:not(:disabled){border-color:var(--color-link)}.edit-question-cancel:disabled,.edit-question-close:disabled{cursor:default;opacity:.5}.existing-quizzes-page{display:flex;flex-direction:column;min-height:100vh}.existing-quizzes-header{align-items:center;border-bottom:1px solid var(--color-border);display:flex;gap:1.5rem;justify-content:flex-start;padding:1.5rem 2rem}.existing-quizzes-header h1{margin:0}.existing-quizzes-body{box-sizing:border-box;margin:0 auto;max-width:60rem;padding:2rem;width:100%}.existing-quiz-list{display:flex;flex-direction:column;gap:.75rem;list-style:none;margin:0;padding:0}.existing-quiz-item{border:1px solid var(--color-border);border-radius:6px;padding:.75rem 1rem}.existing-quiz-row{align-items:center;display:flex;gap:1rem}.existing-quiz-name{font-weight:600}.existing-quiz-meta{color:var(--color-text);flex:1 1;font-size:.85rem;opacity:.7}.existing-quiz-actions{display:flex;flex-shrink:0;gap:.4rem}.delete-quiz-button,.edit-quiz-button,.view-quiz-button{background-color:var(--color-button-bg);border:1px solid var(--color-border);border-radius:6px;color:var(--color-button-text);cursor:pointer;font:inherit;font-size:.85rem;padding:.4rem .9rem;transition:border-color .2s ease}.delete-quiz-button:hover:not(:disabled),.edit-quiz-button:hover:not(:disabled),.view-quiz-button:hover{border-color:var(--color-link)}.delete-quiz-button:disabled,.edit-quiz-button:disabled{cursor:default;opacity:.5}.existing-quiz-details{border-top:1px solid var(--color-border);margin-top:.75rem;padding-top:.75rem}.existing-quiz-question-list{display:flex;flex-direction:column;gap:.4rem;margin:0;padding-left:1.25rem}.quiz-page{display:flex;flex-direction:column;min-height:100vh}.quiz-placeholder{color:var(--color-text);opacity:.7;padding:2rem}.quiz-placeholder-page{align-items:center;gap:1rem;justify-content:center;padding:2rem;text-align:center}.quiz-header{grid-gap:1rem;align-items:center;border-bottom:1px solid var(--color-border);display:grid;gap:1rem;grid-template-columns:1fr auto 1fr;padding:1.25rem 2rem}.quiz-header-left{display:flex;flex-direction:column;gap:.25rem;min-width:0}.quiz-header-left h1{font-size:1.4rem;margin:0}.quiz-fallback-note{font-size:.8rem;opacity:.7}.quiz-timer{font-feature-settings:"tnum";border:1px solid var(--color-border);border-radius:999px;font-size:1.4rem;font-variant-numeric:tabular-nums;font-weight:600;justify-self:center;padding:.35rem 1rem}.quiz-header-right{align-items:center;display:flex;gap:.75rem;justify-content:flex-end}.quiz-reference-modal{max-height:85vh;max-width:48rem;overflow-y:auto;text-align:left}.quiz-reference-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.quiz-reference-header h2{font-size:1.2rem;margin:0}.quiz-reference-close{background:none;border:none;color:var(--color-text);cursor:pointer;font-size:1.5rem;line-height:1;padding:.25rem}.quiz-nav-dropdown{margin-right:2.5rem;position:relative}.quiz-nav-backdrop{background:#0000;border:none;cursor:default;inset:0;padding:0;position:fixed;z-index:5}.quiz-nav-list{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:8px;box-shadow:0 8px 24px #00000026;display:flex;flex-direction:column;gap:.25rem;list-style:none;margin:0;max-height:20rem;min-width:12rem;overflow-y:auto;padding:.5rem;position:absolute;right:0;top:calc(100% + .5rem);z-index:10}.quiz-nav-item{align-items:center;background-color:initial;border:1px solid #0000;border-radius:6px;color:var(--color-text);cursor:pointer;display:flex;font:inherit;gap:.5rem;justify-content:space-between;padding:.5rem .75rem;text-align:left;width:100%}.quiz-nav-item:hover{border-color:var(--color-border)}.quiz-nav-item.active{border-color:var(--color-link)}.quiz-nav-check{color:var(--color-link);font-weight:700}.quiz-nav-check.incorrect{color:#d33}.quiz-body{display:flex;flex:1 1}.quiz-options-side,.quiz-question-side{box-sizing:border-box;flex:1 1;padding:2rem}.quiz-question-side{border-right:1px solid var(--color-border);display:flex;flex-direction:column;gap:1.5rem}.quiz-question-text{font-size:1.1rem;line-height:1.5}.quiz-question-equation{display:block;font-size:1.3rem;margin-top:1rem}.quiz-question-graph{margin-top:1rem;max-width:560px;width:100%}.quiz-question-table,.quiz-result-table{border-collapse:collapse;margin-top:1rem}.quiz-question-table td,.quiz-question-table th,.quiz-result-table td,.quiz-result-table th{border:1px solid var(--color-border);padding:.4rem 1rem;text-align:center}.quiz-result-table{font-size:.9rem;margin-top:.5rem}.quiz-table-target-row{background:var(--color-button-bg);font-weight:600}.quiz-table-target-badge{font-size:.85em;font-weight:400;opacity:.8}.quiz-options-side{display:flex;flex-direction:column;gap:.75rem;justify-content:center}.quiz-option{align-items:stretch;display:flex;gap:.5rem;width:100%}.quiz-option-select{align-items:center;background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:8px;color:var(--color-text);cursor:pointer;display:flex;flex:1 1;font:inherit;font-size:1rem;gap:.75rem;min-width:0;padding:.9rem 1.1rem;text-align:left;transition:border-color .2s ease,background-color .2s ease}.quiz-option-select:hover:not(:disabled){border-color:var(--color-link)}.quiz-option.selected .quiz-option-select{background-color:var(--color-button-bg);border-color:var(--color-link)}.quiz-option-label{flex-shrink:0;font-weight:600}.quiz-option-content{min-width:0}.quiz-option-graph{margin-top:.5rem;max-width:280px}.quiz-option.struck .quiz-option-content{opacity:.5;text-decoration:line-through}.quiz-option-select:disabled{cursor:default}.quiz-option.correct .quiz-option-select{background:#2e7d321f;border-color:#2e7d32}.quiz-option.incorrect .quiz-option-select{background:#dd33331f;border-color:#d33}.quiz-check-button{align-self:flex-start;margin-top:.5rem}.quiz-check-feedback-block{display:flex;flex-direction:column;gap:.4rem;margin-top:.5rem}.quiz-option-strike-button{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:8px;color:var(--color-text);cursor:pointer;flex-shrink:0;font:inherit;font-size:.85rem;text-decoration:line-through;transition:border-color .2s ease,background-color .2s ease,color .2s ease;width:2.75rem}.quiz-option-strike-button:hover{border-color:#d33}.quiz-option-strike-button.active{background-color:#d33;border-color:#d33;color:#fff}.quiz-footer{grid-gap:1rem;align-items:center;border-top:1px solid var(--color-border);display:grid;gap:1rem;grid-template-columns:1fr auto 1fr;padding:1.25rem 2rem}.quiz-counter{font-size:.95rem;justify-self:center;opacity:.8}.quiz-nav-button,.quiz-submit-button{background-color:var(--color-button-bg);border:1px solid var(--color-border);border-radius:6px;color:var(--color-button-text);cursor:pointer;font:inherit;padding:.6rem 1.5rem;transition:border-color .2s ease}.quiz-nav-button:last-child{justify-self:end}.quiz-nav-button:first-child{justify-self:start}.quiz-nav-button:hover:not(:disabled){border-color:var(--color-link)}.quiz-nav-button:disabled{cursor:default;opacity:.4}.quiz-submit-button{background-color:var(--color-link);border-color:var(--color-link);color:var(--color-bg);font-weight:600;justify-self:end}.quiz-modal-backdrop{align-items:center;background:#00000080;display:flex;inset:0;justify-content:center;position:fixed;z-index:20}.quiz-modal{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:10px;box-shadow:0 12px 32px #00000040;color:var(--color-text);max-width:24rem;padding:1.75rem;text-align:center;width:90%}.quiz-modal p{font-size:1.05rem;margin:0 0 1.25rem}.quiz-modal-actions{display:flex;gap:1rem;justify-content:center}.quiz-results{box-sizing:border-box;display:flex;flex-direction:column;gap:1.25rem;margin:0 auto;max-width:40rem;padding:2rem;width:100%}.quiz-score{font-size:1.2rem;font-weight:600}.quiz-results-list{display:flex;flex-direction:column;gap:.9rem;list-style:none;margin:0;padding:0}.quiz-result-item{border-left:1px solid var(--color-border);border:1px solid var(--color-border);border-left-width:4px;border-radius:8px;padding:1rem 1.25rem}.quiz-result-item.correct{border-left-color:#2e7d32}.quiz-result-item.incorrect{border-left-color:#d33}.quiz-result-header{display:flex;font-size:.85rem;justify-content:space-between;margin-bottom:.5rem;opacity:.75}.quiz-result-item.correct .quiz-result-status{color:#2e7d32;font-weight:600;opacity:1}.quiz-result-item.incorrect .quiz-result-status{color:#d33;font-weight:600;opacity:1}.quiz-result-question{font-weight:500;margin:0 0 .5rem}.quiz-result-equation{display:block;margin-top:.4rem}.quiz-result-graph{margin-top:.5rem;max-width:420px;width:100%}.quiz-result-answer,.quiz-result-correct-answer{font-size:.9rem;margin:.2rem 0;opacity:.85}.quiz-retry-button{background:none;border:1px solid var(--color-border);border-radius:6px;color:var(--color-text);cursor:pointer;font-size:.85rem;margin-top:.6rem;padding:.4rem .8rem}.quiz-retry-button:hover{background:#7f7f7f1a}.quiz-retry-modal{max-width:32rem;text-align:left}.quiz-retry-question p{font-weight:500;margin:0 0 .5rem}.quiz-retry-options{display:flex;flex-direction:column;gap:.6rem;margin:1rem 0}.quiz-retry-option{width:100%}.quiz-retry-option.selected{background-color:var(--color-button-bg);border-color:var(--color-link)}.quiz-retry-option.correct{background:#2e7d321f;border-color:#2e7d32}.quiz-retry-option.incorrect.selected{background:#dd33331f;border-color:#d33}.quiz-retry-feedback{font-weight:600;margin:0 0 1rem}.quiz-retry-feedback.correct{color:#2e7d32}.quiz-retry-feedback.incorrect{color:#d33}.reference-sheet{display:flex;flex-direction:column;gap:1.5rem;text-align:left}.reference-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}.reference-item{align-items:center;display:flex;flex-direction:column;gap:.35rem;text-align:center}.reference-svg{stroke:currentColor;fill:none;stroke-width:2;color:var(--color-text);height:auto;max-width:120px;width:100%}.reference-svg text{fill:currentColor;stroke:none;font-family:inherit}.reference-label{font-size:.8rem;opacity:.75}.reference-formula-line{display:block;font-size:1rem}.reference-notes{border-top:1px solid var(--color-border);font-size:.85rem;gap:.4rem;list-style:none;margin:0;opacity:.85;padding:1rem 0 0}.instructor-dash,.reference-notes{display:flex;flex-direction:column}.instructor-dash{min-height:100vh}.instructor-dash-header{align-items:center;border-bottom:1px solid var(--color-border);display:flex;gap:1.5rem;justify-content:flex-start;padding:1.5rem 2rem}.instructor-dash-header h1{margin:0}.onboard-student-button,.question-builder-button,.quiz-builder-button,.sign-out-button{background-color:var(--color-button-bg);border:1px solid var(--color-border);border-radius:6px;color:var(--color-button-text);cursor:pointer;font:inherit;padding:.6rem 1.25rem;transition:border-color .2s ease}.onboard-student-button:hover,.question-builder-button:hover,.quiz-builder-button:hover,.sign-out-button:hover{border-color:var(--color-link)}.instructor-dash-header .sign-out-button{margin-left:auto;margin-right:3rem}.onboard-student-form{align-items:center;border-bottom:1px solid var(--color-border);display:flex;gap:1rem;padding:1rem 2rem}.onboard-student-form label{align-items:center;display:flex;gap:.5rem}.onboard-student-form input{background-color:var(--color-bg);color:var(--color-text);padding:.5rem .75rem}.onboard-student-form button,.onboard-student-form input{border:1px solid var(--color-border);border-radius:6px;font:inherit}.onboard-student-form button{background-color:var(--color-button-bg);color:var(--color-button-text);cursor:pointer;padding:.5rem 1rem}.onboard-success{color:var(--color-link);margin:0}.instructor-dash-body{display:flex;flex:1 1}.student-list-side,.student-stats-side{box-sizing:border-box;flex:1 1;padding:2rem}.student-list-side h2,.student-stats-side h2{text-align:center}.student-list{display:flex;flex-direction:column;gap:.75rem;list-style:none;margin:0;padding:0}.student-list-item{background-color:var(--color-button-bg);border:1px solid var(--color-border);border-radius:6px;color:var(--color-button-text);cursor:pointer;font:inherit;font-size:1rem;padding:.75rem 1rem;text-align:left;transition:background-color .2s ease,border-color .2s ease;width:100%}.student-list-item.selected,.student-list-item:hover{border-color:var(--color-link)}.student-list-item.selected{color:var(--color-link)}.student-stats-side{align-items:center;display:flex;flex-direction:column}.student-stats{max-width:28rem;width:100%}.student-stats h3{text-align:center}.quiz-select{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:6px;box-sizing:border-box;color:var(--color-text);font:inherit;font-size:1rem;padding:.6rem .75rem;width:100%}.quiz-select:focus{border-color:var(--color-link);outline:none}.assign-quiz-block{border-bottom:1px solid var(--color-border);margin-bottom:1.5rem;padding-bottom:1.5rem}.assign-quiz-block h4{margin:0 0 .5rem}.quiz-builder-placeholder{font-size:.9rem}.assigned-quiz-list{display:flex;flex-direction:column;gap:.5rem;list-style:none;margin:0 0 .75rem;padding:0}.assigned-quiz-item{align-items:center;border:1px solid var(--color-border);border-radius:6px;display:flex;gap:.75rem;justify-content:space-between;padding:.5rem .75rem}.assigned-quiz-name{flex:1 1;min-width:0}.unassign-quiz-button{background-color:var(--color-button-bg);border:1px solid var(--color-border);border-radius:6px;color:var(--color-button-text);cursor:pointer;flex-shrink:0;font:inherit;font-size:.85rem;padding:.3rem .75rem;transition:border-color .2s ease}.unassign-quiz-button:hover{border-color:var(--color-link)}.assign-quiz-form{display:flex;gap:.5rem}.assign-quiz-form .quiz-select{flex:1 1}.assign-quiz-button{background-color:var(--color-button-bg);border:1px solid var(--color-border);border-radius:6px;color:var(--color-button-text);cursor:pointer;flex-shrink:0;font:inherit;padding:.5rem 1rem;transition:border-color .2s ease}.assign-quiz-button:hover:not(:disabled){border-color:var(--color-link)}.assign-quiz-button:disabled{cursor:default;opacity:.4}.inactive-students-section{border-top:1px solid var(--color-border);padding:1.5rem 2rem}.inactive-students-toggle{align-items:center;background-color:var(--color-button-bg);border:1px solid var(--color-border);border-radius:6px;color:var(--color-button-text);cursor:pointer;display:flex;font:inherit;gap:.5rem;padding:.6rem 1.25rem;transition:border-color .2s ease}.inactive-students-toggle:hover{border-color:var(--color-link)}.inactive-students-caret{font-size:.75rem}.inactive-students-panel{margin-top:1rem;max-width:28rem}.inactive-student-list .student-list-item{align-items:center;display:flex;gap:.75rem;justify-content:space-between}.inactive-student-meta{flex-shrink:0;font-size:.85rem;opacity:.7}.results-section{border-top:1px solid var(--color-border);margin-top:1.5rem;padding-top:1.5rem}.results-section h4{margin:0 0 .5rem}.results-section-placeholder{color:var(--color-text);font-size:.9rem;opacity:.7}.attempt-list{display:flex;flex-direction:column;gap:.5rem;list-style:none;margin:.75rem 0 0;padding:0}.attempt-item{align-items:center;background-color:var(--color-button-bg);border:1px solid var(--color-border);border-radius:6px;color:var(--color-button-text);cursor:pointer;display:flex;font:inherit;gap:.75rem;justify-content:space-between;padding:.6rem .9rem;text-align:left;transition:border-color .2s ease;width:100%}.attempt-item.selected,.attempt-item:hover{border-color:var(--color-link)}.attempt-name{font-weight:500}.attempt-score{flex-shrink:0;font-weight:600}.attempt-detail{width:100%}.stat-block{margin-bottom:.75rem}.stat-row{border:1px solid var(--color-border);border-radius:6px;display:flex;justify-content:space-between;padding:.75rem 1rem}.stat-row-toggle{background:none;color:inherit;cursor:pointer;font:inherit;transition:border-color .2s ease;width:100%}.stat-row-toggle:hover{border-color:var(--color-link)}.stat-label{font-weight:500}.stat-value{align-items:center;display:flex;font-weight:700;gap:.5rem}.stat-caret{font-size:.7rem}.stat-correct{color:#2da44e}.stat-incorrect{color:#d33}.problem-list{border:1px solid var(--color-border);border-radius:0 0 6px 6px;border-top:none;font-size:.9rem;list-style:none;margin:.5rem 0 0;padding:.5rem 1rem;text-align:left}.problem-row{align-items:center;border-bottom:1px solid var(--color-border);display:flex;gap:1rem;padding:.4rem 0}.problem-list li:last-child{border-bottom:none}.problem-row-header{font-weight:600;opacity:.7}.problem-answer,.problem-question{flex:1 1;min-width:0}.problem-question math-span+math-span{display:block;margin-top:.3rem}.problem-row-graph{align-items:flex-start;padding:.75rem 0}.problem-graph{margin-top:.4rem;max-width:140px}.problem-correct-answer{display:block;font-size:.85rem;margin-top:.25rem;opacity:.8}.stats-placeholder{color:var(--color-text);opacity:.7}.quiz-score-bar{margin-bottom:1.25rem}.quiz-score-bar-heading{align-items:baseline;display:flex;font-size:.9rem;font-weight:500;justify-content:space-between;margin-bottom:.4rem}.quiz-score-bar-percent{font-weight:700}.quiz-score-bar-track{background-color:var(--color-border);border-radius:4px;display:flex;height:20px;overflow:hidden}.quiz-score-bar-segment{box-sizing:border-box;height:100%}.quiz-score-bar-segment-correct{background-color:#2da44e}.quiz-score-bar-segment-correct+.quiz-score-bar-segment-incorrect{border-left:2px solid var(--color-bg)}.quiz-score-bar-segment-incorrect{background-color:#d33}.quiz-score-bar-legend{display:flex;font-size:.85rem;gap:1.25rem;list-style:none;margin:.5rem 0 0;padding:0}.quiz-score-bar-legend-item{align-items:center;display:flex;gap:.35rem}.quiz-score-bar-swatch{align-items:center;border-radius:50%;color:#fff;display:inline-flex;flex-shrink:0;font-size:.7rem;height:16px;justify-content:center;line-height:1;width:16px}.quiz-score-bar-swatch-correct{background-color:#2da44e}.quiz-score-bar-swatch-incorrect{background-color:#d33}.student-dash{display:flex;flex-direction:column;min-height:100vh}.student-dash-header{align-items:center;border-bottom:1px solid var(--color-border);display:flex;gap:1.5rem;justify-content:space-between;padding:1.5rem 2rem}.student-dash-header h1{margin:0}.student-dash-header .sign-out-button{background-color:var(--color-button-bg);border:1px solid var(--color-border);border-radius:6px;color:var(--color-button-text);cursor:pointer;font:inherit;margin-right:3rem;padding:.6rem 1.25rem;transition:border-color .2s ease}.student-dash-header .sign-out-button:hover{border-color:var(--color-link)}.student-dash-body{box-sizing:border-box;flex:1 1;margin:0 auto;max-width:32rem;padding:2rem;width:100%}.assignments-placeholder{color:var(--color-text);font-size:.9rem;opacity:.7}.assignment-list{display:flex;flex-direction:column;gap:.75rem;list-style:none;margin:0;padding:0}.assignment-item{align-items:center;background-color:var(--color-button-bg);border:1px solid var(--color-border);border-radius:6px;color:var(--color-button-text);cursor:pointer;display:flex;font:inherit;font-size:1rem;gap:.75rem;justify-content:space-between;padding:.75rem 1rem;text-align:left;transition:border-color .2s ease;width:100%}.assignment-item:hover{border-color:var(--color-link)}.assignment-name{font-weight:500}.assignment-time-limit{flex-shrink:0;font-size:.85rem;opacity:.7}.submit-error{margin:.5rem 0 0}.student-dash-actions{margin-bottom:1.5rem}.practice-rush-button{background-color:var(--color-button-bg);border:1px solid var(--color-border);border-radius:6px;color:var(--color-button-text);cursor:pointer;font:inherit;padding:.6rem 1.25rem;transition:border-color .2s ease}.practice-rush-button:hover{border-color:var(--color-link)}.practice-rush-setup{display:flex;flex-direction:column;min-height:100vh}.practice-rush-setup-header{align-items:center;border-bottom:1px solid var(--color-border);display:flex;gap:1.5rem;justify-content:flex-start;padding:1.5rem 2rem}.practice-rush-setup-header h1{margin:0}.dashboard-button{background-color:var(--color-button-bg);border:1px solid var(--color-border);border-radius:6px;color:var(--color-button-text);cursor:pointer;font:inherit;padding:.6rem 1.25rem;transition:border-color .2s ease}.dashboard-button:hover{border-color:var(--color-link)}.practice-rush-setup-body{box-sizing:border-box;margin:0 auto;max-width:32rem;padding:2rem;width:100%}.quiz-builder-placeholder{color:var(--color-text);opacity:.7}.tag-filter-bar{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.tag-filter-chip{background-color:initial;border:1px solid var(--color-border);border-radius:999px;color:var(--color-text);cursor:pointer;font:inherit;font-size:.8rem;padding:.3rem .75rem;transition:border-color .2s ease,background-color .2s ease}.tag-filter-chip:hover{border-color:var(--color-link)}.tag-filter-chip.active{background-color:var(--color-button-bg);border-color:var(--color-button-bg);color:var(--color-button-text)}.generate-new-row{align-items:center;display:flex;gap:1.25rem;margin-bottom:.75rem}.generate-new-checkbox-label{cursor:pointer}.generate-difficulty-label,.generate-new-checkbox-label{align-items:center;display:flex;font-size:.9rem;gap:.5rem}.generate-difficulty-select{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:6px;color:var(--color-text);font:inherit;padding:.35rem .5rem}.question-count-label{display:flex;flex-direction:column;font-size:.95rem;gap:.4rem;margin-bottom:.75rem}.question-count-input{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:6px;box-sizing:border-box;color:var(--color-text);font:inherit;font-size:1rem;padding:.6rem .75rem;width:8rem}.question-count-input:focus{border-color:var(--color-link);outline:none}.practice-rush-pool-info{color:var(--color-text);font-size:.9rem;margin:0 0 1.5rem;opacity:.75}.submit-error{color:#d33;color:var(--color-error,#d33);margin:.5rem 0 1rem}.start-rush-button{background-color:var(--color-button-bg);border:none;border-radius:6px;color:var(--color-button-text);cursor:pointer;font:inherit;font-size:1rem;padding:.65rem 1.5rem}.start-rush-button:disabled{cursor:not-allowed;opacity:.5}
/*# sourceMappingURL=main.37a26538.css.map*/