.app{display:flex;flex-direction:column;min-height:100vh}.main-content{flex:1;display:flex;flex-direction:column;padding:1.5rem 0 2rem;background-color:var(--background-color)}.header{background-color:var(--primary-color);color:var(--footer-text);padding:1rem 0;box-shadow:0 2px 8px #00000026}.header h1{color:var(--footer-text);margin:0;padding:0 1rem;text-align:center}.nav-tabs{display:flex;justify-content:center;margin-top:1rem;gap:.5rem;flex-wrap:wrap}.nav-tab{background-color:var(--tab-inactive-bg);color:var(--tab-inactive-color);border:none;border-radius:var(--border-radius);padding:.5rem 1rem;font-weight:500;transition:all var(--transition) ease}.nav-tab:hover{background-color:var(--accent-color);color:var(--tab-active-color)}.nav-tab.active{background-color:var(--tab-active-bg);color:var(--tab-active-color);font-weight:600;box-shadow:0 2px 4px #0000001a}.footer{background-color:var(--footer-bg);color:var(--footer-text);padding:1rem 0;display:flex;flex-direction:column;align-items:center}.footer-buttons{display:flex;justify-content:center;gap:1rem;margin-top:1rem;flex-wrap:wrap}.footer-button{background-color:#ffffff1a;color:var(--footer-text);border:1px solid rgba(255,255,255,.3);border-radius:var(--border-radius);padding:.3rem .8rem;font-size:.85rem;transition:all var(--transition) ease}.footer-button:hover{background-color:#fff3;border-color:#ffffff80}.footer-logos{display:flex;gap:1.5rem;margin-top:.5rem}.footer-logo{height:30px;width:auto;filter:brightness(0) invert(1);transition:all var(--transition) ease}.footer-logo:hover{filter:brightness(1) invert(.2) sepia(.5) saturate(5) hue-rotate(180deg)}.modal-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;z-index:1000;display:flex;justify-content:center;align-items:center;animation:fadeIn .2s ease}.modal-content{background-color:var(--background-color);border-radius:var(--border-radius);box-shadow:0 4px 20px #0003;max-width:800px;width:90%;max-height:90vh;overflow-y:auto;position:relative;animation:modalSlideIn .3s ease}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem;border-bottom:1px solid var(--secondary-color)}.modal-body{padding:1.5rem}.modal-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--text-color);transition:color var(--transition) ease}.modal-close:hover{color:var(--danger-color)}.tab-content{animation:fadeIn .3s ease;background-color:#fff;border-radius:var(--border-radius);padding:1.5rem;box-shadow:var(--card-shadow)}@media (max-width: 768px){.nav-tabs{flex-direction:column;padding:0 1rem}.nav-tab{width:100%;text-align:center}.footer-buttons{flex-direction:column;align-items:center}.footer-button{width:100%;text-align:center}.modal-content{width:95%;max-height:80vh}}@keyframes modalSlideIn{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-demo-button{padding:10px 16px;background-color:#4a90e2;color:#fff;border:none;border-radius:4px;font-size:15px;cursor:pointer;margin:20px 0;transition:background-color .3s}.modal-demo-button:hover{background-color:#3b78c0}.modal-demo-button:active{background-color:#2c5c92}.modal-body-content{line-height:1.6}.modal-body-content h3{color:var(--primary-color);margin-bottom:1rem}.modal-body-content h4{margin-top:1.5rem;margin-bottom:.5rem}.modal-body-content ul{margin-bottom:1.5rem;padding-left:1.5rem}.modal-body-content li{margin-bottom:.5rem}.prompt-box{background-color:#e0e7ef4d;border-left:3px solid var(--accent-color);padding:.8rem 1.2rem;margin:1.5rem 0;max-height:60vh;overflow-y:auto}.prompt-box blockquote{margin:0;padding:.5rem 0}.prompt-box pre{background-color:#e0e7ef80;padding:.8rem;overflow-x:auto;border-radius:4px;font-family:monospace;font-size:.9rem}.prompt-box ul,.prompt-box ol{margin-bottom:1rem}.prompt-box li{margin-bottom:.3rem}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .3s ease-out}.modal-container{background-color:#fff;border-radius:8px;width:90%;max-width:800px;max-height:90vh;box-shadow:0 5px 15px #0000004d;display:flex;flex-direction:column;animation:slideIn .3s ease-out}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-bottom:1px solid #eaeaea}.modal-header h2{font-size:1.5rem;margin:0;color:#333}.modal-close-button{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#666;transition:color .2s}.modal-close-button:hover{color:#000}.modal-content{padding:24px;overflow-y:auto;max-height:calc(90vh - 80px)}@keyframes slideIn{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}@media (max-width: 600px){.modal-container{width:95%;max-height:95vh}.modal-header{padding:12px 16px}.modal-content{padding:16px}}.tab-content{animation:fadeIn .3s ease;padding:1.5rem;background-color:#fff;border-radius:var(--border-radius);box-shadow:var(--card-shadow)}.tab-content h2{font-size:1.8rem;color:var(--primary-color);margin-bottom:1rem}.tab-content h3{font-size:1.4rem;color:var(--primary-color);margin:1.5rem 0 .8rem}.tab-content h4{font-size:1.2rem;margin:1.2rem 0 .5rem}.tab-content p{margin-bottom:1rem;line-height:1.6}.parameters-table{margin:1rem 0;overflow-x:auto}.parameters-table table{width:100%;border-collapse:collapse;border-radius:var(--border-radius);overflow:hidden}.parameters-table td{padding:.7rem 1rem;border-bottom:1px solid var(--secondary-color)}.parameters-table tr:nth-child(odd){background-color:#e0e7ef4d}.parameters-table tr:last-child td{border-bottom:none}.parameters-table td:first-child{font-weight:500;width:65%}.task-list,.visualization-list{margin:1rem 0 1.5rem 1.5rem}.task-list li,.visualization-list li{margin-bottom:.5rem;line-height:1.5}.task-list ul{margin:.5rem 0 .5rem 1.5rem}.task-list ul li{list-style-type:disc;margin-bottom:.3rem}.source-container{margin-top:2rem;border-top:1px solid var(--secondary-color);padding-top:1rem}.harvard-references{list-style-type:none;padding-left:0;margin-top:.5rem}.harvard-references li{margin-bottom:.8rem;font-size:.95rem;line-height:1.4;padding-left:1.2rem;border-left:3px solid var(--accent-color);margin-left:.5rem}.harvard-references a{display:inline-block;margin-left:.3rem;color:var(--primary-color);text-decoration:underline}.tips-section{margin-bottom:2rem}.tips-list{list-style-type:none;padding-left:0}.tips-list li{margin-bottom:1.2rem;padding-left:1.5rem;position:relative}.tips-list li:before{content:"•";color:var(--accent-color);font-size:1.5rem;position:absolute;left:0;top:-.5rem}.tips-list strong{color:var(--primary-color)}.formula{background-color:#e9ecef80;border-left:3px solid var(--accent-color);padding:.5rem 1rem;margin:.5rem 0;font-family:"Cambria Math",serif;font-size:1.1rem}.chart-container{margin:2rem 0;height:400px;border-radius:var(--border-radius);overflow:visible;box-shadow:var(--card-shadow);padding-bottom:30px}.chart-title{font-size:1.2rem;font-weight:500;margin-bottom:.5rem;color:var(--primary-color)}.chart-description{font-size:.95rem;margin-bottom:1.5rem;color:#555}.visualization-options{display:flex;gap:1rem;margin:1.5rem 0;flex-wrap:wrap}.visualization-option{background-color:var(--secondary-color);border:none;border-radius:var(--border-radius);padding:.5rem 1rem;font-size:.9rem;cursor:pointer;transition:all var(--transition) ease}.visualization-option:hover{background-color:var(--accent-color)}.visualization-option.active{background-color:var(--primary-color);color:#fff}.quiz-intro{margin-bottom:2rem}.quiz-form{background-color:var(--secondary-color);border-radius:var(--border-radius);padding:1.5rem;margin-bottom:1.5rem}.quiz-question{margin-bottom:2rem}.quiz-question h3{margin-bottom:1rem;font-size:1.2rem}.quiz-options{display:flex;flex-direction:column;gap:.5rem}.quiz-option{display:flex;align-items:center;padding:.7rem 1rem;background-color:#fff;border-radius:var(--border-radius);cursor:pointer;transition:all var(--transition) ease}.quiz-option:hover{background-color:#fffc}.quiz-option input[type=radio]{margin-right:.8rem}.quiz-option.correct{background-color:#3bb27333;border-left:4px solid var(--success-color)}.quiz-option.incorrect{background-color:#d7263d1a;border-left:4px solid var(--danger-color)}.quiz-option.correct-answer{border-left:4px solid var(--success-color)}.quiz-feedback{margin:1.5rem 0;padding:1rem;border-radius:var(--border-radius);background-color:var(--secondary-color)}.quiz-feedback.success{background-color:#3bb27333;border-left:4px solid var(--success-color)}.quiz-feedback.error{background-color:#d7263d1a;border-left:4px solid var(--danger-color)}.quiz-feedback.warning{background-color:#f9b23333;border-left:4px solid var(--accent-color)}.quiz-actions{margin-top:2rem;display:flex;justify-content:center}.submit-button,.retry-button{padding:.7rem 2rem;background-color:var(--primary-color);color:#fff;border:none;border-radius:var(--border-radius);font-size:1rem;font-weight:500;cursor:pointer;transition:all var(--transition) ease}.submit-button:hover{background-color:var(--accent-color);color:var(--tab-active-color)}.retry-button{background-color:var(--secondary-color);color:var(--primary-color);margin-top:.5rem}.retry-button:hover{background-color:var(--primary-color);color:#fff}.quiz-success,.quiz-hint{margin-top:1.5rem;padding:1rem;background-color:#3bb2731a;border-radius:var(--border-radius);border-left:4px solid var(--success-color)}.quiz-hint{background-color:#f9b2331a;border-left:4px solid var(--accent-color)}.solution-locked{padding:2rem;text-align:center;background-color:#e0e7ef80;border-radius:var(--border-radius);margin:2rem 0}.solution-locked-icon{font-size:3rem;color:var(--secondary-color);margin-bottom:1rem}.solution-content{animation:fadeIn .5s ease}.solution-section{margin-bottom:2rem}.solution-section h3{color:var(--primary-color);margin-bottom:1rem;font-size:1.4rem}.solution-image{max-width:100%;height:auto;border-radius:var(--border-radius);margin:1.5rem 0;box-shadow:var(--card-shadow)}.solution-equation{font-family:"Cambria Math",serif;background-color:#e0e7ef4d;padding:1rem;margin:1rem 0;border-radius:var(--border-radius);text-align:center;font-size:1.2rem;border-left:3px solid var(--accent-color)}.solution-calculation{background-color:#e0e7ef33;padding:1rem;margin:1rem 0;border-radius:var(--border-radius);font-family:monospace;line-height:1.5}.solution-table{width:100%;border-collapse:collapse;margin:1rem 0}.solution-table th,.solution-table td{padding:.7rem;border:1px solid var(--secondary-color)}.solution-table th{background-color:var(--primary-color);color:#fff;text-align:left}.solution-table tr:nth-child(2n){background-color:#e0e7ef33}@media (max-width: 768px){.tab-content{padding:1rem}.parameters-table td{padding:.5rem}.parameters-table td:first-child{width:auto}.harvard-references li{padding-left:.8rem}.chart-container{height:300px;padding-bottom:40px}.visualization-options{flex-direction:column}.formula{font-size:1rem;padding:.4rem .8rem}.quiz-option{padding:.5rem .8rem}.solution-equation{font-size:1rem;padding:.8rem}.solution-calculation{font-size:.9rem;overflow-x:auto}.solution-table{font-size:.9rem}}@media (max-width: 480px){.tab-content h2{font-size:1.5rem}.tab-content h3{font-size:1.3rem}.parameters-table{font-size:.9rem}.chart-container{height:250px;padding-bottom:50px}}:root{--primary-color: #2a5d8f;--secondary-color: #e0e7ef;--accent-color: #f9b233;--danger-color: #d7263d;--success-color: #3bb273;--text-color: #222;--background-color: #fff;--tab-active-bg: #f9b233;--tab-inactive-bg: #e0e7ef;--tab-active-color: #222;--tab-inactive-color: #2a5d8f;--footer-bg: #2a5d8f;--footer-text: #fff;--border-radius: 8px;--transition: .2s;--card-shadow: 0 2px 8px rgba(42,93,143,.1);--font-main: "Segoe UI", Arial, sans-serif;--header-height: 60px;--footer-height: 80px}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-main);background:var(--background-color);color:var(--text-color);line-height:1.6;overflow-x:hidden}a{color:var(--primary-color);text-decoration:none;transition:all var(--transition) ease}a:hover{color:var(--accent-color)}button{cursor:pointer;font-family:var(--font-main);border:none;outline:none}h1,h2,h3,h4,h5,h6{margin-bottom:.5em;line-height:1.3;color:var(--primary-color)}.container{max-width:1200px;margin:0 auto;padding:0 1rem}@media (max-width: 768px){:root{--header-height: 120px}.container{padding:0 .5rem}}@media (max-width: 480px){h1{font-size:1.8rem}h2{font-size:1.5rem}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.fade-in{animation:fadeIn .3s ease-in-out}
