*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--sidebar-width:280px;--color-bg:#f8f9fc;--color-surface:#fff;--color-sidebar:#1a1d2e;--color-sidebar-hover:#252842;--color-sidebar-active:#2d3154;--color-primary:#4f6df5;--color-primary-light:#e8ecfe;--color-text:#1a1d2e;--color-text-secondary:#5f6580;--color-text-sidebar:#b4b8d0;--color-border:#e2e5f0;--color-correct:#22a06b;--color-correct-bg:#e6fcf5;--color-incorrect:#e34935;--color-incorrect-bg:#fef0ef;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-serif:"Source Serif 4", Georgia, serif;--radius:10px;--radius-sm:6px;--shadow:0 1px 3px #0000000f, 0 1px 2px #0000000a;--shadow-lg:0 4px 12px #00000014}html{font-size:16px}body{font-family:var(--font-sans);background:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased;line-height:1.6}.app{min-height:100vh;display:flex}.sidebar{width:var(--sidebar-width);background:var(--color-sidebar);color:var(--color-text-sidebar);z-index:100;flex-direction:column;display:flex;position:fixed;top:0;bottom:0;left:0;overflow-y:auto}.sidebar-header{border-bottom:1px solid #ffffff14;padding:24px 20px 16px}.sidebar-header h1{color:#fff;letter-spacing:-.02em;font-size:1.5rem;font-weight:700}.sidebar-subtitle{color:var(--color-text-sidebar);margin-top:2px;font-size:.8rem}.chapter-list{flex-direction:column;flex:1;gap:2px;padding:8px;display:flex}.chapter-group{flex-direction:column;gap:2px;display:flex}.chapter-group+.chapter-group{margin-top:10px}.part-header{align-items:center;gap:6px;padding:2px 4px 2px 8px;display:flex}.part-header.drag-over{background:var(--color-sidebar-hover);box-shadow:inset 0 2px 0 var(--color-primary);border-radius:var(--radius-sm)}.part-header.dragging{opacity:.35}.part-toggle{color:var(--color-text-sidebar);font-family:var(--font-sans);letter-spacing:.06em;text-transform:uppercase;text-align:left;cursor:pointer;opacity:.75;background:0 0;border:none;flex:1;align-items:center;gap:8px;padding:4px;font-size:.72rem;font-weight:700;display:flex}.part-toggle:hover{opacity:1}.part-chevron{flex-shrink:0;font-size:.7rem}.part-title{flex:1}.part-progress{opacity:.7;letter-spacing:0;font-size:.68rem;font-weight:600}.part-empty{color:var(--color-text-sidebar);opacity:.5;margin:0;padding:6px 12px 6px 40px;font-size:.75rem}.chapter-item--in-part{padding-left:22px}.chapter-item.dragging{opacity:.35}.chapter-item.drag-over{background:var(--color-sidebar-hover);box-shadow:inset 0 2px 0 var(--color-primary)}.drag-handle{color:#ffffff40;cursor:grab;-webkit-user-select:none;user-select:none;flex-shrink:0;padding-right:2px;font-size:1rem;line-height:1}.chapter-item:hover .drag-handle{color:#ffffff8c}.chapter-item{color:var(--color-text-sidebar);font-family:var(--font-sans);text-align:left;border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:none;align-items:center;gap:12px;width:100%;padding:10px 12px;font-size:.85rem;transition:background .15s,color .15s;display:flex}.chapter-item:hover{background:var(--color-sidebar-hover);color:#fff}.chapter-item.active{background:var(--color-sidebar-active);color:#fff}.chapter-number{background:#ffffff14;border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;min-width:28px;height:28px;padding:0 6px;font-size:.75rem;font-weight:600;display:flex}.chapter-item.active .chapter-number{background:var(--color-primary);color:#fff}.chapter-info{flex:1;justify-content:space-between;align-items:center;min-width:0;display:flex}.chapter-title{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.chapter-score{background:var(--color-correct);color:#fff;border-radius:10px;flex-shrink:0;margin-left:4px;padding:1px 6px;font-size:.7rem;font-weight:600}.sidebar-footer{border-top:1px solid #ffffff14;padding:16px 20px}.sidebar-print-btn{width:100%;font-family:var(--font-sans);color:var(--color-text-sidebar);border-radius:var(--radius-sm);cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1f;margin-bottom:12px;padding:8px 12px;font-size:.85rem;transition:background .15s,color .15s}.sidebar-print-btn:hover{color:#fff;background:#ffffff1f}.overall-progress{border-top:1px solid #ffffff14;padding:12px 20px}.progress-header{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.progress-label{font-size:.75rem}.reset-progress-btn{color:#ffffff80;cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:1rem;line-height:1;transition:color .2s}.reset-progress-btn:hover{color:#ff6b6b}.progress-bar-track{background:#ffffff1a;border-radius:3px;height:6px;overflow:hidden}.progress-bar-fill{background:var(--color-primary);border-radius:3px;height:100%;transition:width .4s}.chapter-view{margin-left:var(--sidebar-width);flex:1;max-width:900px;padding:40px 48px}.chapter-header{margin-bottom:32px}.chapter-header-number{color:var(--color-primary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px;font-size:.8rem;font-weight:600}.chapter-header h2{font-family:var(--font-serif);color:var(--color-text);font-size:2rem;font-weight:600;line-height:1.2}.chapter-subtitle{color:var(--color-text-secondary);margin-top:4px;font-size:1rem}.tab-bar{border-bottom:2px solid var(--color-border);gap:4px;margin-bottom:28px;display:flex}.tab{font-family:var(--font-sans);color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:6px;margin-bottom:-2px;padding:10px 20px;font-size:.9rem;font-weight:500;transition:color .15s,border-color .15s;display:flex}.tab:hover{color:var(--color-text)}.tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.tab-badge{background:var(--color-primary-light);color:var(--color-primary);border-radius:8px;padding:1px 6px;font-size:.7rem;font-weight:600}.concepts-grid{flex-direction:column;gap:16px;display:flex}.concept-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px}.concept-card h3{font-family:var(--font-serif);color:var(--color-text);margin-bottom:10px;font-size:1.15rem;font-weight:600}.concept-card p{color:var(--color-text-secondary);font-size:.95rem;line-height:1.7}.fig-inline{text-align:center;margin:16px 0;display:block}.fig-inline-img{border-radius:var(--radius);max-width:100%;height:auto;margin:0 auto;display:block}.fig-inline-caption{color:var(--color-text-secondary);margin-top:6px;font-size:.85rem;font-style:italic;display:block}.fig-placeholder{background:var(--color-border);color:var(--color-text-secondary);border-radius:4px;padding:2px 8px;font-size:.85rem;display:inline-block}.fig-placeholder--missing{color:#c0392b;cursor:pointer;background:#fde8e8;border:1px solid #e7b7b7;font-weight:600}.fig-placeholder--missing:hover{background:#f9d7d7}.fig-placeholder--missing:focus-visible{outline-offset:2px;outline:2px solid #c0392b}.figmodal{flex-direction:column;gap:14px;display:flex}.figmodal-current{border-radius:var(--radius);max-width:100%;max-height:240px;margin:0 auto;display:block}.figmodal-field{flex-direction:column;gap:6px;font-size:.85rem;display:flex}.figmodal-error{color:#c0392b;font-size:.85rem}.figmodal-actions{justify-content:flex-end;gap:10px;display:flex}.figure-img,.figure-thumb-preview{border-radius:var(--radius);max-width:100%;height:auto}.math-table{border-collapse:collapse;width:100%;margin:16px 0;font-size:.88rem;line-height:1.5}.math-table th,.math-table td{text-align:left;border:1px solid #ffffff1a;padding:10px 14px}.math-table th{color:var(--color-text);white-space:nowrap;background:#ffffff0f;font-weight:600}.math-table td{color:var(--color-text-secondary)}.math-table tr:nth-child(2n){background:#ffffff05}.math-table .katex{font-size:.9em}.formulas-list{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:12px;display:grid}.formula-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;gap:10px;padding:20px;display:flex}.formula-name{color:var(--color-primary);letter-spacing:.03em;font-size:.8rem;font-weight:600}.math-block{padding:4px 0;font-size:1.1rem;overflow-x:auto}.quiz{max-width:640px}.quiz-progress{margin-bottom:24px}.quiz-progress-text{color:var(--color-text-secondary);margin-bottom:6px;font-size:.8rem}.quiz-progress-bar{background:var(--color-border);border-radius:2px;height:4px;overflow:hidden}.quiz-progress-fill{background:var(--color-primary);border-radius:2px;height:100%;transition:width .3s}.quiz-question{margin-bottom:20px}.quiz-question h3{font-family:var(--font-serif);font-size:1.15rem;font-weight:500;line-height:1.6}.quiz-options{flex-direction:column;gap:8px;margin-bottom:16px;display:flex}.quiz-option{background:var(--color-surface);border:1.5px solid var(--color-border);border-radius:var(--radius-sm);font-family:var(--font-sans);text-align:left;cursor:pointer;align-items:center;gap:12px;width:100%;padding:14px 16px;font-size:.95rem;transition:border-color .15s,background .15s;display:flex}.quiz-option:hover:not(:disabled){border-color:var(--color-primary);background:var(--color-primary-light)}.quiz-option.correct{border-color:var(--color-correct);background:var(--color-correct-bg)}.quiz-option.incorrect{border-color:var(--color-incorrect);background:var(--color-incorrect-bg)}.quiz-option.dimmed{opacity:.5}.quiz-option:disabled{cursor:default}.option-letter{background:var(--color-bg);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:.8rem;font-weight:600;display:flex}.quiz-option.correct .option-letter{background:var(--color-correct);color:#fff}.quiz-option.incorrect .option-letter{background:var(--color-incorrect);color:#fff}.option-text{line-height:1.5}.quiz-explanation{border-radius:var(--radius);margin-top:8px;padding:20px}.quiz-explanation.correct{background:var(--color-correct-bg);border:1px solid var(--color-correct)}.quiz-explanation.incorrect{background:var(--color-incorrect-bg);border:1px solid var(--color-incorrect)}.explanation-header{margin-bottom:8px;font-size:.95rem;font-weight:600}.quiz-explanation.correct .explanation-header{color:var(--color-correct)}.quiz-explanation.incorrect .explanation-header{color:var(--color-incorrect)}.quiz-explanation p{color:var(--color-text-secondary);margin-bottom:16px;font-size:.9rem;line-height:1.6}.quiz-results{justify-content:center;padding:40px 0;display:flex}.results-card{text-align:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:40px 48px}.results-score{margin-bottom:12px;font-size:3.5rem;font-weight:700;line-height:1}.results-score.good{color:var(--color-correct)}.results-score.ok{color:#e3930b}.results-score.poor{color:var(--color-incorrect)}.results-card h3{margin-bottom:8px;font-size:1.2rem}.results-card p{color:var(--color-text-secondary);margin-bottom:4px}.best-score{font-size:.85rem;color:var(--color-primary)!important;margin-bottom:20px!important}.btn-primary{background:var(--color-primary);color:#fff;border-radius:var(--radius-sm);font-family:var(--font-sans);cursor:pointer;border:none;align-items:center;gap:6px;margin-top:8px;padding:10px 24px;font-size:.9rem;font-weight:500;transition:background .15s;display:inline-flex}.btn-primary:hover{background:#3d5bd9}.mobile-menu-btn{z-index:200;background:var(--color-sidebar);color:#fff;border-radius:var(--radius-sm);cursor:pointer;width:40px;height:40px;box-shadow:var(--shadow-lg);border:none;font-size:1.2rem;display:none;position:fixed;top:12px;left:12px}.sidebar-overlay{display:none}@media (width<=768px){.mobile-menu-btn{justify-content:center;align-items:center;display:flex}.sidebar-wrapper{z-index:150;transition:transform .25s;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.sidebar-wrapper.open{transform:translate(0)}.sidebar-overlay{z-index:140;background:#0006;display:block;position:fixed;inset:0}.chapter-view{margin-left:0;padding:60px 20px 40px}.chapter-header h2{font-size:1.5rem}.formulas-list{grid-template-columns:1fr}}.katex{font-size:1em}.math-block .katex{font-size:1.15em}.concept-card .katex{font-size:.95em}.exercises-list{flex-direction:column;gap:32px;display:flex}.guided-exercise{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow);padding:28px}.exercise-header{margin-bottom:20px}.exercise-label{color:var(--color-primary);text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px;font-size:.75rem;font-weight:700}.exercise-header h3{font-family:var(--font-serif);margin-bottom:8px;font-size:1.2rem;font-weight:600}.exercise-intro{color:var(--color-text-secondary);font-size:.92rem;line-height:1.65}.exercise-progress{flex-wrap:wrap;gap:6px;margin-bottom:24px;display:flex}.exercise-step-dot{background:var(--color-bg);width:30px;height:30px;color:var(--color-text-secondary);border:1.5px solid var(--color-border);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;font-size:.75rem;font-weight:600;transition:all .15s;display:flex}.exercise-step-dot.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.exercise-step-dot.done{background:var(--color-correct);color:#fff;border-color:var(--color-correct)}.exercise-step{border-top:1px solid var(--color-border);padding-top:20px}.step-question{color:var(--color-text);margin-bottom:16px;font-size:.95rem;line-height:1.7}.step-hints{margin-bottom:16px}.hint-wrapper{margin-bottom:6px}.hint-toggle{font-family:var(--font-sans);color:var(--color-primary);cursor:pointer;background:0 0;border:none;padding:4px 0;font-size:.85rem;font-weight:500}.hint-toggle:hover{text-decoration:underline}.hint-content{background:var(--color-primary-light);border-radius:var(--radius-sm);color:var(--color-text);margin-top:4px;padding:12px 16px;font-size:.9rem;line-height:1.6}.step-answer-input{flex-direction:column;gap:10px;margin-bottom:16px;display:flex}.step-scratchpad textarea{border:1.5px dashed var(--color-border);border-radius:var(--radius-sm);width:100%;font-family:var(--font-sans);resize:vertical;outline:none;padding:10px 14px;font-size:.9rem}.step-scratchpad textarea:focus{border-color:var(--color-primary)}.scratchpad-label{color:var(--color-text-secondary);font-size:.8rem;font-weight:600}.scratchpad-hint{color:var(--color-text-secondary);font-size:.78rem;font-style:italic}.single-answer-row{flex-direction:column;gap:8px;display:flex}.multi-answer-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.step-answer-input input{border:1.5px solid var(--color-border);border-radius:var(--radius-sm);min-width:180px;font-family:var(--font-sans);outline:none;flex:1;padding:10px 14px;font-size:.9rem;transition:border-color .15s}.step-answer-input input:focus{border-color:var(--color-primary)}.step-answer-input input.correct{border-color:var(--color-correct);background:var(--color-correct-bg)}.step-answer-input input.incorrect{border-color:var(--color-incorrect);background:var(--color-incorrect-bg)}.btn-check{background:var(--color-primary);color:#fff;border-radius:var(--radius-sm);font-family:var(--font-sans);cursor:pointer;border:none;padding:10px 20px;font-size:.85rem;font-weight:500}.btn-check:hover{background:#3d5bd9}.answer-feedback{width:100%;margin-top:4px;font-size:.85rem;font-weight:600}.answer-feedback.correct{color:var(--color-correct)}.answer-feedback.incorrect{color:var(--color-incorrect)}.latex-preview{background:var(--bg-secondary);width:100%;color:var(--text-secondary);border-radius:6px;min-height:24px;margin-top:4px;padding:6px 10px;font-size:.9rem}.solution-wrapper{margin-bottom:16px}.solution-toggle{font-family:var(--font-sans);color:#7c5cbf;cursor:pointer;background:0 0;border:none;padding:4px 0;font-size:.85rem;font-weight:500}.solution-toggle:hover{text-decoration:underline}.solution-content{border-radius:var(--radius-sm);background:#f5f0ff;border:1px solid #e0d4f5;margin-top:6px;padding:16px}.solution-line{color:var(--color-text);font-size:.9rem;line-height:1.8}.step-nav{align-items:center;gap:10px;margin-top:20px;display:flex}.btn-secondary{background:var(--color-bg);color:var(--color-text);border:1.5px solid var(--color-border);border-radius:var(--radius-sm);font-family:var(--font-sans);cursor:pointer;padding:10px 20px;font-size:.9rem;font-weight:500}.btn-secondary:hover{background:var(--color-border)}.exercise-complete{color:var(--color-correct);font-size:.95rem;font-weight:600}.sidebar-auth{border-bottom:1px solid #ffffff14;margin-bottom:14px;padding:12px 0 16px}.sidebar-auth-user{flex-direction:column;gap:4px;display:flex}.sidebar-auth-role{color:#fff;font-size:.75rem;font-weight:600}.sidebar-auth-email{color:var(--color-text-sidebar);text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;overflow:hidden}.sidebar-auth-btn{color:var(--color-text-sidebar);border-radius:var(--radius-sm);cursor:pointer;text-align:left;background:#ffffff14;border:none;width:100%;margin-top:6px;padding:5px 10px;font-size:.78rem;transition:background .15s,color .15s}.sidebar-auth-btn:hover{color:#fff;background:#ffffff24}.sidebar-auth-btn--login{color:var(--color-primary)}.sidebar-auth-btn--login:hover{color:#7a96f8;background:#4f6df533}.chapter-view-wrapper{margin-left:var(--sidebar-width);flex:1}.sidebar-course-controls{border-top:1px solid #ffffff0f;margin-top:8px;margin-bottom:10px;padding-top:10px}.sidebar-course-label{color:#f0f4ffb8;text-transform:uppercase;letter-spacing:.04em;flex-direction:column;gap:6px;margin-bottom:8px;font-size:.72rem;display:flex}.sidebar-course-select{border-radius:var(--radius-sm);width:100%;height:32px;color:var(--color-text-sidebar);background:#ffffff0f;border:1px solid #ffffff29;padding:0 8px;font-size:.8rem}.sidebar-course-select option{color:#fff;background:#142445}.sidebar-course-create{margin-top:0}.sidebar-course-settings-toggle{margin-top:8px}.sidebar-course-settings{border-radius:var(--radius-sm);background:#ffffff08;border:1px solid #ffffff1f;flex-direction:column;gap:8px;margin-top:8px;padding:8px;display:flex}.sidebar-course-input,.sidebar-course-textarea{border-radius:var(--radius-sm);color:#fff;width:100%;font-size:.8rem;font-family:var(--font-sans);background:#ffffff0f;border:1px solid #ffffff29;padding:7px 8px}.sidebar-course-textarea{resize:vertical;min-height:80px}.sidebar-course-input::placeholder,.sidebar-course-textarea::placeholder{color:#ffffff73}.sidebar-course-checkbox{color:#f0f4ffd6;align-items:center;gap:8px;font-size:.75rem;display:flex}.sidebar-course-checkbox input{accent-color:var(--color-primary)}.sidebar-course-hint{color:#f0f4ff9e;font-size:.7rem;line-height:1.4}.sidebar-course-save{margin-top:0}.sidebar-course-save:disabled{opacity:.7;cursor:wait}.sidebar-course-save-message{color:#9bc1ff;font-size:.72rem}.sidebar-course-delete{color:#f99;background:#dc323240;border:1px solid #dc323280;margin-top:8px}.sidebar-course-delete:hover{background:#dc323273}.sidebar-members-panel{border-top:1px solid #ffffff1f;margin-top:12px;padding-top:10px}.sidebar-members-title{color:#fff;margin-bottom:8px;font-size:.78rem}.sidebar-members-form{flex-direction:column;gap:8px;margin-bottom:8px;display:flex}.sidebar-members-list{flex-direction:column;gap:6px;list-style:none;display:flex}.sidebar-members-item{border-radius:var(--radius-sm);background:#ffffff08;border:1px solid #ffffff1f;justify-content:space-between;align-items:center;gap:8px;padding:6px;display:flex}.sidebar-members-email{color:#e4e9ff;font-size:.75rem}.sidebar-members-role{color:#f0f4ffad;font-size:.68rem}.sidebar-members-remove{white-space:nowrap;width:auto;margin-top:0}.empty-course-state{flex-direction:column;align-items:center;gap:12px;display:flex}.empty-course-state p{margin:0}.teacher-toolbar{gap:8px;padding:12px 48px 0;display:flex}.btn-edit-chapter{background:var(--color-primary-light);color:var(--color-primary);border-radius:var(--radius-sm);cursor:pointer;border:1px solid #c8d4fc;padding:7px 16px;font-size:.85rem;font-weight:600;transition:background .15s}.btn-edit-chapter:hover{background:#d8e2fd}.btn-new-chapter{color:#1a7f37;border-radius:var(--radius-sm);cursor:pointer;background:#edfbf0;border:1px solid #b3e6c0;padding:7px 16px;font-size:.85rem;font-weight:600;transition:background .15s}.btn-new-chapter:hover{background:#d4f5dc}.btn-import-chapter{color:#9a6700;border-radius:var(--radius-sm);cursor:pointer;background:#fff8e6;border:1px solid #f0d080;padding:7px 16px;font-size:.85rem;font-weight:600;transition:background .15s}.btn-import-chapter:hover{background:#fef0c0}.btn-export-chapter{color:#1a56aa;border-radius:var(--radius-sm);cursor:pointer;background:#eef4ff;border:1px solid #b3cfee;padding:7px 16px;font-size:.85rem;font-weight:600;transition:background .15s}.btn-export-chapter:hover{background:#d8e8fb}.btn-delete-chapter{color:#c0392b;border-radius:var(--radius-sm);cursor:pointer;background:#fff0f0;border:1px solid #f5c0bc;margin-left:auto;padding:7px 16px;font-size:.85rem;font-weight:600;transition:background .15s}.btn-delete-chapter:hover{background:#fdd}.import-modal{width:95%;max-width:680px;max-height:90vh;overflow-y:auto}.import-step{margin-bottom:20px}.import-step--inline{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.import-step-label{color:var(--color-text);margin-bottom:6px;font-size:.9rem;font-weight:700}.import-step-desc{color:var(--color-text-secondary);margin:0 0 10px;font-size:.88rem}.import-step-desc a{color:var(--color-primary);text-decoration:none}.import-prompt-actions{gap:8px;margin-bottom:8px;display:flex}.btn-copy-prompt{background:var(--color-primary);color:#fff;border-radius:var(--radius-sm);cursor:pointer;border:none;padding:7px 16px;font-size:.85rem;font-weight:600;transition:background .15s}.btn-copy-prompt:hover{background:#3a5fd9}.btn-toggle-prompt{color:var(--color-text-secondary);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;background:0 0;padding:7px 14px;font-size:.85rem}.import-prompt-preview{border:1px solid var(--color-border);border-radius:var(--radius-sm);white-space:pre-wrap;color:#444;background:#f6f8fa;max-height:220px;padding:12px;font-size:.78rem;overflow:auto}.import-json-input{box-sizing:border-box;border:1px solid var(--color-border);border-radius:var(--radius-sm);resize:vertical;width:100%;color:var(--color-text);background:#fafafa;padding:10px;font-family:Fira Mono,Consolas,monospace;font-size:.82rem}.import-json-input:focus{border-color:var(--color-primary);outline:none}.import-chapter-num{border:1px solid var(--color-border);border-radius:var(--radius-sm);text-align:center;width:80px;padding:7px 10px;font-size:.95rem}.import-chapter-num-hint{color:var(--color-text-secondary);font-size:.83rem}.modal-overlay{z-index:500;background:#00000073;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--color-surface);border-radius:var(--radius);width:100%;max-width:420px;box-shadow:var(--shadow-lg);padding:36px 40px}.modal h2{font-family:var(--font-serif);margin-bottom:24px;font-size:1.5rem}.auth-mode-switch{flex-wrap:wrap;gap:6px;margin-bottom:16px;display:flex}.auth-mode-btn{border:1px solid var(--color-border);color:var(--color-text-secondary);cursor:pointer;background:#fff;border-radius:999px;padding:5px 10px;font-size:.75rem}.auth-mode-btn.active{border-color:var(--color-primary);color:var(--color-primary);background:var(--color-primary-light)}.login-form{flex-direction:column;gap:16px;display:flex}.login-form label{color:var(--color-text);flex-direction:column;gap:6px;font-size:.85rem;font-weight:600;display:flex}.login-form input{border:1px solid var(--color-border);border-radius:var(--radius-sm);font-family:var(--font-sans);outline:none;padding:10px 12px;font-size:.95rem;transition:border-color .15s}.login-form select{border:1px solid var(--color-border);border-radius:var(--radius-sm);font-family:var(--font-sans);background:#fff;outline:none;padding:10px 12px;font-size:.95rem}.login-form select:focus,.login-form input:focus{border-color:var(--color-primary)}.form-error{color:var(--color-incorrect);font-size:.85rem}.form-message{color:var(--color-primary);font-size:.84rem}.join-modal{max-width:420px}.join-intro{color:var(--color-text-secondary);margin-bottom:14px;font-size:.88rem}.join-code-input{border:1.5px solid var(--color-border);border-radius:var(--radius-sm);width:100%;font-family:var(--font-mono,monospace);letter-spacing:.12em;text-align:center;text-transform:uppercase;outline:none;margin-bottom:12px;padding:12px 16px;font-size:1.1rem}.join-code-input:focus{border-color:var(--color-primary)}.form-warning{border-radius:var(--radius-sm);color:#7a5a10;background:#fff8e6;border:1px solid #f0d9a0;padding:12px 16px;font-size:.84rem}.form-warning-title{margin-bottom:6px;font-weight:600}.form-warning ul{margin:0 0 6px;padding-left:18px}.form-warning-note{opacity:.8;font-size:.78rem}.editor-warning{color:#a06b10;background:#fff8e6;border-radius:6px;padding:6px 10px;font-size:.78rem}.editor-badge-warning{color:#a06b10;background:#fff3d4;border-radius:999px;margin-left:auto;padding:2px 10px;font-size:.72rem;font-weight:600}.form-actions{justify-content:flex-end;gap:10px;margin-top:4px;display:flex}.chapter-editor{margin-left:var(--sidebar-width);flex:1;max-width:900px;padding:32px 48px}.editor-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.editor-header h2{font-family:var(--font-serif);font-size:1.6rem;font-weight:600}.editor-header-actions{align-items:center;gap:10px;display:flex}.editor-error{color:var(--color-incorrect);font-size:.85rem}.editor-meta{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);flex-direction:column;gap:12px;margin-bottom:28px;padding:20px;display:flex}.editor-meta label,.editor-item label{color:var(--color-text-secondary);flex-direction:column;gap:6px;font-size:.82rem;font-weight:600;display:flex}.label-hint{color:var(--color-text-secondary);font-size:.78rem;font-weight:400}.editor-meta input,.editor-item input,.editor-item textarea{border:1px solid var(--color-border);border-radius:var(--radius-sm);font-family:var(--font-sans);background:var(--color-bg);resize:vertical;outline:none;padding:8px 12px;font-size:.9rem;transition:border-color .15s}.editor-meta input:focus,.editor-item input:focus,.editor-item textarea:focus{border-color:var(--color-primary)}.latex-input{font-family:Courier New,monospace;font-size:.85rem}.editor-content{margin-top:4px}.editor-list{flex-direction:column;gap:16px;display:flex}.editor-item{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);flex-direction:column;gap:12px;padding:20px;display:flex}.editor-item-header{justify-content:space-between;align-items:center;display:flex}.editor-item-number{color:var(--color-primary);background:var(--color-primary-light);border-radius:10px;padding:2px 8px;font-size:.78rem;font-weight:700}.editor-item-controls{gap:4px;display:flex}.btn-icon{border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;background:0 0;justify-content:center;align-items:center;width:28px;height:28px;font-size:.85rem;transition:background .15s;display:flex}.btn-icon:hover{background:var(--color-bg)}.btn-icon:disabled{opacity:.3;cursor:default}.btn-icon.btn-delete:hover{background:var(--color-incorrect-bg);color:var(--color-incorrect);border-color:var(--color-incorrect)}.formula-preview{background:var(--color-bg);border:1px dashed var(--color-border);border-radius:var(--radius-sm);padding:10px 14px}.formula-preview-label{color:var(--color-text-secondary);margin-bottom:4px;font-size:.75rem;display:block}.editor-options-label{color:var(--color-text-secondary);font-size:.82rem;font-weight:600}.editor-options{flex-direction:column;gap:6px;display:flex}.editor-option{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);cursor:pointer;color:var(--color-text);flex-direction:row;align-items:center;gap:8px;padding:6px 10px;font-size:.85rem;font-weight:400;display:flex}.editor-option.correct{border-color:var(--color-correct);background:var(--color-correct-bg)}.editor-option input[type=radio]{cursor:pointer;flex-shrink:0}.editor-option input[type=text]{background:0 0;border:none;outline:none;flex:1;padding:0;font-size:.88rem}.btn-add{border:1px dashed var(--color-border);color:var(--color-text-secondary);border-radius:var(--radius-sm);cursor:pointer;background:0 0;align-self:flex-start;padding:8px 18px;font-size:.85rem;transition:all .15s}.btn-add:hover{border-color:var(--color-primary);color:var(--color-primary);background:var(--color-primary-light)}.chapter-loading{margin-left:var(--sidebar-width);color:var(--color-text-secondary);flex:1;justify-content:center;align-items:center;font-size:.95rem;display:flex}@media (width<=768px){.chapter-view-wrapper{margin-left:0}.chapter-editor{margin-left:0;padding:20px}.teacher-toolbar{padding:12px 20px 0}}.landing{background:var(--color-bg);min-height:100vh;color:var(--color-text);flex-direction:column;flex:1;display:flex}.landing-topbar{border-bottom:1px solid var(--color-border);background:var(--color-surface);justify-content:space-between;align-items:center;padding:18px 32px;display:flex}.landing-brand{font-size:1.2rem;font-weight:700}.landing-topbar-actions{align-items:center;gap:12px;display:flex}.landing-user{align-items:center;gap:10px;display:flex}.landing-user-email{color:var(--color-text-secondary);font-size:.9rem}.landing-btn{background:var(--color-primary);color:#fff;min-height:38px;line-height:1;font-family:var(--font-sans);border-radius:var(--radius-sm);cursor:pointer;border:none;align-items:center;padding:0 16px;font-size:.9rem;font-weight:600;transition:filter .15s;display:inline-flex}.landing-btn:hover{filter:brightness(1.05)}.landing-btn--ghost{color:var(--color-text);border:1px solid var(--color-border);background:0 0}.landing-hero{text-align:center;padding:64px 24px 40px}.landing-title{font-family:var(--font-serif);margin:0 0 12px;font-size:2.4rem}.landing-tagline{color:var(--color-text-secondary);margin:0;font-size:1.1rem}.landing-courses{width:100%;max-width:1040px;margin:0 auto;padding:0 24px 24px}.landing-section-title{margin:0 0 18px;font-size:1.3rem}.landing-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:18px;display:grid}.landing-card{text-align:left;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);cursor:pointer;box-shadow:var(--shadow);font-family:var(--font-sans);color:var(--color-text);padding:22px;transition:transform .15s,box-shadow .15s,border-color .15s;position:relative}.landing-card:hover{box-shadow:var(--shadow-lg);border-color:var(--color-primary);transform:translateY(-2px)}.landing-card-flag{margin-left:8px;font-size:1.2rem}.landing-card-title{align-items:center;margin:0 0 6px;font-size:1.15rem;display:flex}.landing-card-subtitle{color:var(--color-text-secondary);margin:0;font-size:.92rem}.landing-card-badge{text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-secondary);background:var(--color-bg);border:1px solid var(--color-border);border-radius:999px;padding:3px 9px;font-size:.72rem;font-weight:600;position:absolute;top:14px;right:14px}.landing-empty{text-align:center;color:var(--color-text-secondary);flex-direction:column;align-items:center;gap:16px;padding:40px 0;display:flex}.landing-features{border-top:1px solid var(--color-border);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px;width:100%;max-width:1040px;margin:24px auto 0;padding:32px 24px 56px;display:grid}.landing-feature{text-align:center}.landing-feature-icon{color:var(--color-primary);margin-bottom:8px;font-size:1.8rem}.landing-feature h4{margin:0 0 6px;font-size:1.05rem}.landing-feature p{color:var(--color-text-secondary);margin:0;font-size:.92rem}.sidebar-home-btn{color:var(--color-text-sidebar);font-family:var(--font-sans);cursor:pointer;opacity:.8;background:0 0;border:none;padding:0 0 8px;font-size:.82rem;transition:opacity .15s;display:inline-block}.sidebar-home-btn:hover{opacity:1}@media (width<=768px){.landing-topbar{padding:14px 18px}.landing-hero{padding:40px 18px 28px}.landing-title{font-size:1.8rem}}.sidebar-teacher-picker{margin-bottom:10px;position:relative}.sidebar-teacher-options{background:var(--color-sidebar-hover);border-radius:var(--radius-sm);border:1px solid #ffffff1f;max-height:220px;margin:4px 0 0;padding:4px;list-style:none;overflow-y:auto}.sidebar-teacher-option{width:100%;color:var(--color-text-sidebar);font-family:var(--font-sans);text-align:left;border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:none;flex-direction:column;align-items:flex-start;gap:2px;padding:7px 9px;transition:background .12s;display:flex}.sidebar-teacher-option:hover:not(:disabled){background:var(--color-sidebar-active);color:#fff}.sidebar-teacher-option:disabled{opacity:.5;cursor:default}.sidebar-teacher-name{font-size:.88rem;font-weight:600}.sidebar-teacher-email{opacity:.7;font-size:.78rem}.sidebar-teacher-empty{padding:8px 9px}.sidebar-members-subhead{text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-sidebar);opacity:.6;margin:12px 0 6px;font-size:.72rem}.sidebar-teacher-more{opacity:.7;padding:8px 9px;font-style:italic}.btn-course-settings{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-family:var(--font-sans);cursor:pointer;margin-left:auto;padding:8px 14px;font-size:.9rem;font-weight:600;transition:background .15s,border-color .15s}.btn-course-settings:hover{border-color:var(--color-primary)}.course-settings-overlay{z-index:1000;background:#1012208c;justify-content:center;align-items:flex-start;padding:40px 16px;display:flex;position:fixed;inset:0;overflow-y:auto}.course-settings-panel{background:var(--color-bg);border-radius:var(--radius);width:100%;max-width:720px;box-shadow:var(--shadow-lg);overflow:hidden}.course-settings-header{background:var(--color-surface);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:18px 28px;display:flex}.course-settings-header h2{margin:0;font-size:1.3rem}.course-settings-close{color:var(--color-text-secondary);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;padding:6px;font-size:1.2rem;line-height:1}.course-settings-close:hover{background:var(--color-border);color:var(--color-text)}.course-settings-body{flex-direction:column;gap:8px;padding:24px 28px 32px;display:flex}.course-settings-section{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);margin-bottom:16px;padding:20px 22px}.course-settings-section-title{margin:0 0 14px;font-size:1.05rem}.course-settings-section-title:not(:first-child){margin-top:22px}.course-settings-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;display:grid}.course-settings-label{color:var(--color-text-secondary);flex-direction:column;gap:6px;font-size:.85rem;font-weight:600;display:flex}.course-settings-input,.course-settings-textarea{font-family:var(--font-sans);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);color:var(--color-text);padding:9px 11px;font-size:.92rem;font-weight:400}.course-settings-input:focus,.course-settings-textarea:focus{border-color:var(--color-primary);outline:none}.course-settings-textarea{resize:vertical;width:100%}.course-settings-checkbox{cursor:pointer;align-items:center;gap:9px;margin:8px 0;font-size:.92rem;display:flex}.course-settings-hint{color:var(--color-text-secondary);margin:8px 0 0;font-size:.82rem}.course-settings-actions{align-items:center;gap:14px;margin-top:18px;display:flex}.course-settings-message{color:var(--color-correct);font-size:.85rem}.course-settings-btn{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);font-family:var(--font-sans);border-radius:var(--radius-sm);cursor:pointer;padding:9px 16px;font-size:.88rem;font-weight:600;transition:filter .15s,border-color .15s}.course-settings-btn:disabled{opacity:.55;cursor:default}.course-settings-btn--primary{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.course-settings-btn--primary:hover:not(:disabled){filter:brightness(1.05)}.course-settings-btn--danger{background:var(--color-incorrect);color:#fff;border-color:var(--color-incorrect)}.course-settings-btn--danger-soft{color:var(--color-incorrect);border-color:var(--color-incorrect);background:0 0}.course-settings-subhead{text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary);margin:16px 0 8px;font-size:.72rem}.course-settings-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.course-settings-list-item{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.course-settings-list-main{font-size:.9rem;font-weight:600}.course-settings-list-sub{color:var(--color-text-secondary);font-size:.78rem}.course-settings-list-actions{flex-shrink:0;gap:6px;display:flex}.course-settings-list-empty{color:var(--color-text-secondary);font-size:.85rem}.course-settings-inline-form{align-items:center;gap:10px;margin-top:10px;display:flex}.course-settings-inline-form .course-settings-input{flex:1}.course-settings-invite-form{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));align-items:end;gap:10px;display:grid}.course-settings-danger{border-color:var(--color-incorrect)}.printdialog{max-width:460px}.printdialog-section{border-top:1px solid var(--color-border);margin:1rem 0;padding-top:.75rem}.printdialog-legend{text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary);margin-bottom:.5rem;font-size:.8rem;font-weight:600}.printdialog-option{cursor:pointer;align-items:center;gap:.5rem;padding:.35rem 0;display:flex}.printdialog-option select{border:1px solid var(--color-border);border-radius:var(--radius-sm);flex:1;min-width:0;padding:4px 8px}.printdialog-note{color:var(--color-text-secondary);margin-top:.5rem;font-size:.8rem}.printdialog-actions{justify-content:flex-end;gap:.5rem;margin-top:1.25rem;display:flex}.print-root{--pr-ink:#16181d;--pr-muted:#4a5164;--pr-accent:#1f3a6e;--pr-accent-soft:#eff3fa;--pr-rule:#c6d0e3;--pr-rule-faint:#dfe5f0;z-index:300;color:var(--pr-ink);background:#fff;position:fixed;inset:0;overflow-y:auto}.print-toolbar{z-index:1;background:var(--color-surface);border-bottom:1px solid var(--color-border);box-shadow:var(--shadow);align-items:center;gap:1rem;padding:.75rem 1.25rem;display:flex;position:sticky;top:0}.print-toolbar-status{color:var(--color-text-secondary);margin-left:auto;font-size:.85rem}.print-hint{color:var(--color-text-secondary);font-size:.8rem}.print-warning{max-width:170mm;font-family:var(--font-sans);color:#7a4b00;border-radius:var(--radius-sm);background:#fdf6e3;border:1px solid #e8d9a8;flex-direction:column;gap:.25rem;margin:1rem auto -1rem;padding:.75rem 1rem;font-size:.85rem;display:flex}.print-doc{width:150mm;font-family:var(--font-serif);color:var(--pr-ink);-webkit-hyphens:auto;hyphens:auto;margin:0 auto;padding:2rem 0 4rem;font-size:10.5pt;line-height:1.45}.print-running-meta{height:0;font-size:0;line-height:0;overflow:hidden}.print-titlepage{padding:3rem 0 2rem}.print-course{font-family:var(--font-sans);letter-spacing:.12em;text-transform:uppercase;color:var(--pr-accent);font-size:.85rem;font-weight:600}.print-titlepage h1{color:var(--pr-ink);margin:.6rem 0 0;font-size:2.1rem;line-height:1.15}.print-subtitle{color:var(--pr-muted);margin-top:.5rem;font-size:1.05rem}.print-titlepage-rule{background:var(--pr-accent);height:3px;margin:1.5rem 0 1rem}.print-date,.print-origin{font-family:var(--font-sans);color:var(--pr-muted);font-size:.85rem}.print-origin{color:var(--pr-accent);margin-top:.15rem}.print-toc h2{font-family:var(--font-sans);color:var(--pr-accent);border-bottom:1px solid var(--pr-rule);margin-bottom:1rem;padding-bottom:.4rem;font-size:1.15rem}.print-toc-group{margin-bottom:.75rem}.print-toc-part{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.08em;color:var(--pr-accent);margin:1.1rem 0 .4rem;font-size:.8rem;font-weight:600}.print-toc-entry{align-items:baseline;gap:.75rem;padding:.2rem 0;display:flex}.print-toc-number{min-width:3.2em;font-family:var(--font-sans);font-variant-numeric:tabular-nums;color:var(--pr-accent);font-size:.9em}.print-toc-title{color:inherit;text-decoration:none}.print-part-title{font-family:var(--font-sans);color:var(--pr-accent);border-bottom:2px solid var(--pr-accent);margin-bottom:1.2rem;padding-bottom:.5rem;font-size:1.75rem}.print-chapter{margin-bottom:1.8rem}.print-chapter-opener{border-bottom:2px solid var(--pr-accent);margin-bottom:.9rem;padding-bottom:.45rem}.print-chapter-number{font-family:var(--font-sans);letter-spacing:.1em;color:var(--pr-accent);font-size:.95rem;font-weight:700}.print-chapter-title{font-family:var(--font-sans);color:var(--pr-ink);margin-top:.15rem;font-size:1.5rem;line-height:1.2}.print-chapter-subtitle{color:var(--pr-muted);margin-bottom:1.25rem;font-style:italic}.print-concept{margin-bottom:1rem}.print-concept h2{font-family:var(--font-sans);color:var(--pr-accent);margin-bottom:.3rem;font-size:.98rem}.print-concept-body .text-para{text-align:justify;margin:0 0 .55rem}.print-concept-body .text-para:last-child{margin-bottom:0}.print-doc .math-block{margin:.65rem 0}.print-doc .katex{font-size:.94em}.print-doc .math-block .katex{font-size:.96em}.print-doc .math-table .katex{font-size:.88em}.print-doc .fig-inline{text-align:center;margin:.85rem auto;display:block}.print-doc .fig-inline-img{max-width:100%;margin:0 auto;display:block}.print-doc .fig-inline-caption{font-family:var(--font-sans);color:var(--pr-muted);margin-top:.4rem;font-size:.82rem;display:block}.print-doc .fig-placeholder{display:none}.print-doc .math-table{font-size:.92em}.print-doc .math-table th,.print-doc .math-table td{border:1px solid var(--pr-rule);color:var(--pr-ink);padding:7px 10px}.print-doc .math-table th{background:var(--pr-accent-soft);color:var(--pr-accent)}.print-doc .math-table tr:nth-child(2n){background:#fbfcfe}.print-formulas h2,.print-exercises h2{font-family:var(--font-sans);color:var(--pr-accent);border-bottom:1px solid var(--pr-rule);margin:1.2rem 0 .6rem;padding-bottom:.25rem;font-size:1rem}.print-formula{border-left:3px solid var(--pr-rule);background:var(--pr-accent-soft);grid-template-columns:42mm 1fr;align-items:baseline;gap:.5rem 1rem;margin-bottom:.3rem;padding:.35rem .6rem;display:grid}.print-formula-name{font-family:var(--font-sans);color:var(--pr-accent);font-size:.82rem}.print-formula .math-block{margin:0}.print-formula .katex-display{text-align:left;margin:0}.print-formula .katex-display>.katex{text-align:left}.print-formula-group{margin-bottom:1.4rem}.print-formula-group-title{font-family:var(--font-sans);color:var(--pr-ink);margin-bottom:.5rem;font-size:1rem}.print-formula-group-number{color:var(--pr-accent);margin-right:.5rem;font-weight:700}.print-formula-sheet>h1{font-family:var(--font-sans);color:var(--pr-accent);border-bottom:2px solid var(--pr-accent);margin-bottom:1.2rem;padding-bottom:.5rem;font-size:1.75rem}.print-exercise{border-bottom:1px solid var(--pr-rule-faint);margin-bottom:1rem;padding-bottom:.7rem}.print-exercise h3{font-family:var(--font-sans);margin-bottom:.5rem;font-size:1rem}.print-exercise-label{color:var(--pr-accent);margin-right:.5rem;display:inline-block}.print-exercise-intro{margin-bottom:.7rem}.print-step{margin:.55rem 0 .55rem 1.2rem}.print-step-question{gap:.5rem;display:flex}.print-step-letter{font-family:var(--font-sans);color:var(--pr-accent);font-weight:700}.print-step-hint,.print-step-solution{color:var(--pr-muted);margin:.35rem 0 0 1.4rem;font-size:.95em}.print-step-solution{color:var(--pr-ink)}.print-step-hint-label,.print-step-solution-label{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.08em;color:var(--pr-accent);margin-right:.4rem;font-size:.72rem;font-weight:600}.print-doc .text-para{margin:0 0 .5rem}.print-doc .text-para:last-child{margin-bottom:0}@media print{@page{size:A4;margin:18mm 30mm 20mm}body.print-mode .app>:not(.print-root),.no-print{display:none!important}html,body,.print-root{background:#fff;position:static;overflow:visible}.app{display:block}.print-root{width:100%}.print-doc{width:100%;margin:0;padding:0}.print-titlepage{padding-top:1rem}.print-toc,.print-part-title,.print-chapter,.print-formula-sheet{break-before:page}.print-part-title+.print-chapter{break-before:auto}h1,h2,h3,.print-chapter-opener{break-after:avoid}.print-concept h2+.print-concept-body{break-before:avoid}.print-formula,.print-exercise,.print-step,.fig-inline,.math-block,.math-table{break-inside:avoid}.print-concept,.print-toc-entry{break-inside:avoid-page}p,.text-para{orphans:3;widows:3}.print-doc .fig-inline-img{max-width:100%;max-height:82mm}}
