:root{--primary-color:#2c6bed;--primary-light:#5a8ef1;--primary-dark:#1a4ca8;--secondary-color:#6c63ff;--accent-color:#ff7a5c;--tertiary-color:#00b894;--quaternary-color:#fdcb6e;--success-color:#00b894;--warning-color:#fdcb6e;--danger-color:#e17055;--light-color:#f8f9fa;--dark-color:#212529;--gray-100:#f8f9fa;--gray-200:#e9ecef;--gray-300:#dee2e6;--gray-400:#ced4da;--gray-500:#adb5bd;--gray-600:#6c757d;--gray-700:#495057;--gray-800:#343a40;--gray-900:#212529;--font-family-sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Open Sans","Helvetica Neue",sans-serif;--font-family-mono:"JetBrains Mono",SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--spacing-xs:0.25rem;--spacing-sm:0.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--spacing-xxl:3rem;--border-radius-sm:0.25rem;--border-radius-md:0.5rem;--border-radius-lg:1rem;--border-radius-xl:1.5rem;--shadow-sm:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24);--shadow-md:0 4px 6px rgba(0,0,0,.1);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05);--shadow-xl:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04);--transition-fast:150ms ease;--transition-normal:300ms ease;--transition-slow:500ms ease}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:var(--font-family-sans);color:var(--gray-800);background-color:var(--gray-100);line-height:1.6}a{color:var(--primary-color);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--primary-dark);text-decoration:underline}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:var(--spacing-md);font-weight:700;line-height:1.2;color:var(--gray-900)}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.75rem}h4{font-size:1.5rem}h5{font-size:1.25rem}h6{font-size:1rem}p{margin-top:0;margin-bottom:var(--spacing-md)}code{font-family:var(--font-family-mono);white-space:pre-wrap;word-break:break-all;background-color:var(--gray-200);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius-sm);font-size:.9em}mark{background-color:#ffeb3b;padding:0 2px;border-radius:2px;box-shadow:0 1px 2px rgba(0,0,0,.1)}pre{background-color:var(--gray-200);padding:var(--spacing-md);border-radius:var(--border-radius-md);overflow-x:auto;margin-bottom:var(--spacing-md)}p code{color:var(--accent-color);font-weight:600}#__next{height:100%}.container{max-width:1200px;margin:0 auto;padding:0 var(--spacing-md)}.navbar{background-color:#fff;box-shadow:var(--shadow-sm);padding:var(--spacing-md) 0}.navbar-brand{font-weight:700;font-size:1.5rem;color:var(--primary-color)}.navbar-nav .nav-link{color:var(--gray-700);font-weight:500;padding:var(--spacing-sm) var(--spacing-md);transition:all var(--transition-normal)}.navbar-nav .nav-link.active,.navbar-nav .nav-link:hover{color:var(--primary-color)}.navbar-nav .nav-link.active{font-weight:600}.navbar-nav .nav-link.rounded-pill{transition:all var(--transition-normal)}.navbar-nav .nav-link.rounded-pill:hover{background-color:var(--gray-100);transform:translateY(-2px);box-shadow:var(--shadow-sm)}.navbar-nav .nav-link.rounded-pill.active{background:linear-gradient(90deg,var(--primary-light),var(--secondary-color));color:#fff;box-shadow:var(--shadow-md)}.navbar-nav .nav-item:first-child .nav-link.rounded-pill:hover{background-color:rgba(76,175,80,.1)}.navbar-nav .nav-item:nth-child(2) .nav-link.rounded-pill:hover{background-color:rgba(156,39,176,.1)}.navbar-nav .nav-item:nth-child(3) .nav-link.rounded-pill:hover{background-color:rgba(255,152,0,.1)}.navbar-nav .nav-item:nth-child(4) .nav-link.rounded-pill:hover{background-color:rgba(233,30,99,.1)}.navbar-toggler{border:none;padding:var(--spacing-sm)}.navbar-toggler:focus{outline:none;box-shadow:none}.footer{background-color:var(--gray-900);padding:var(--spacing-xl) 0;margin-top:var(--spacing-xxl)}.footer,.footer a{color:var(--gray-300)}.footer a{transition:color var(--transition-fast)}.footer a:hover{color:#fff;text-decoration:none}.footer-title{color:#fff;font-weight:600;margin-bottom:var(--spacing-md)}.footer-links{list-style:none;padding:0;margin:0}.footer-links li{margin-bottom:var(--spacing-sm)}.footer-bottom{border-top:1px solid var(--gray-700);padding-top:var(--spacing-md);margin-top:var(--spacing-xl);text-align:center;font-size:.9rem;color:var(--gray-500)}.btn{display:inline-block;font-weight:500;text-align:center;white-space:nowrap;vertical-align:middle;-webkit-user-select:none;-moz-user-select:none;user-select:none;border:1px solid transparent;padding:var(--spacing-sm) var(--spacing-md);font-size:1rem;line-height:1.5;border-radius:var(--border-radius-md);transition:all var(--transition-fast)}.btn-primary{color:#fff;background-color:var(--primary-color);border-color:var(--primary-color)}.btn-primary:hover{background-color:var(--primary-dark);border-color:var(--primary-dark)}.btn-secondary{color:#fff;background-color:var(--secondary-color);border-color:var(--secondary-color)}.btn-secondary:hover{background-color:darken(var(--secondary-color),10%);border-color:darken(var(--secondary-color),10%)}.btn-outline-primary{color:var(--primary-color);background-color:transparent;border-color:var(--primary-color)}.btn-outline-primary:hover{color:#fff;background-color:var(--primary-color);border-color:var(--primary-color)}.btn-lg{padding:var(--spacing-md) var(--spacing-lg);font-size:1.25rem;border-radius:var(--border-radius-lg)}.btn-sm{padding:var(--spacing-xs) var(--spacing-sm);font-size:.875rem;border-radius:var(--border-radius-sm)}.card{background-color:#fff;border-radius:var(--border-radius-md);box-shadow:var(--shadow-md);transition:transform var(--transition-normal),box-shadow var(--transition-normal)}.card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg)}.card-body{padding:var(--spacing-lg)}.card-title{margin-bottom:var(--spacing-sm);font-weight:700;color:var(--gray-900)}.card-subtitle{margin-top:calc(-1 * var(--spacing-sm));margin-bottom:var(--spacing-md);color:var(--gray-600)}.card-text:last-child{margin-bottom:0}.form-control{display:block;width:100%;padding:var(--spacing-sm) var(--spacing-md);font-size:1rem;line-height:1.5;background-clip:padding-box;border:1px solid var(--gray-400);border-radius:var(--border-radius-md);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.form-control,.form-control:focus{color:var(--gray-900);background-color:#fff}.form-control:focus{border-color:var(--primary-light);outline:0;box-shadow:0 0 0 .2rem rgba(67,97,238,.25)}.form-control-lg{padding:var(--spacing-md) var(--spacing-lg);font-size:1.25rem;border-radius:var(--border-radius-lg)}.form-group{margin-bottom:var(--spacing-md)}.form-label{display:inline-block;margin-bottom:var(--spacing-sm);font-weight:500}.alert{position:relative;padding:var(--spacing-md) var(--spacing-lg);margin-bottom:var(--spacing-md);border:1px solid transparent;border-radius:var(--border-radius-md)}.alert-primary{color:darken(var(--primary-color),30%);background-color:lighten(var(--primary-color),35%);border-color:lighten(var(--primary-color),30%)}.alert-danger{color:darken(var(--danger-color),10%);background-color:lighten(var(--danger-color),35%);border-color:lighten(var(--danger-color),30%)}.badge{display:inline-block;padding:var(--spacing-xs) var(--spacing-sm);font-size:.75em;font-weight:700;line-height:1;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:var(--border-radius-sm)}.badge-primary{color:#fff;background-color:var(--primary-color)}.badge-secondary{color:#fff;background-color:var(--secondary-color)}.learn-container{max-width:1200px;margin:0 auto;padding:var(--spacing-lg)}.learning-content{background-color:#fff;border-radius:var(--border-radius-lg);box-shadow:var(--shadow-md);padding:var(--spacing-xl);margin-top:var(--spacing-lg)}.learning-content h1,.learning-content h2,.learning-content h3,.learning-content h4,.learning-content h5,.learning-content h6{color:var(--gray-700);margin-top:var(--spacing-xl);margin-bottom:var(--spacing-md);font-weight:600;letter-spacing:-.01em;padding-bottom:var(--spacing-sm);position:relative}.learning-content h1{font-size:1.6rem;border-bottom:1px solid var(--gray-300)}.learning-content h2{font-size:1.4rem;border-bottom:1px solid var(--gray-300)}.learning-content h3{font-size:1.2rem}.learning-content h4{font-size:1rem}.first-principles-content h1{font-size:1.4rem}.first-principles-content h2{font-size:1.2rem}.first-principles-content h3{font-size:1.1rem}.first-principles-content h4{font-size:.95rem}.learning-content h1:first-child{margin-top:0}@media (max-width:768px){.learning-content h1{font-size:1.6rem}.learning-content h2{font-size:1.4rem}.learning-content h3{font-size:1.2rem}.learning-content h4{font-size:1rem}}.learning-content ol,.learning-content ul{padding-left:var(--spacing-xl);margin-bottom:var(--spacing-md)}.learning-content blockquote{border-left:4px solid var(--gray-400);padding:var(--spacing-md) var(--spacing-lg);color:var(--gray-700);font-style:italic;margin:var(--spacing-md) 0;background-color:var(--gray-100);border-radius:0 var(--border-radius-md) var(--border-radius-md) 0}.learning-content img{max-width:100%;height:auto;border-radius:var(--border-radius-md);margin:var(--spacing-md) 0}.learning-content table{width:100%;border-collapse:collapse;margin:var(--spacing-lg) 0;box-shadow:var(--shadow-sm);border-radius:var(--border-radius-md);overflow:hidden}.learning-content td,.learning-content th{border:1px solid var(--gray-300);padding:var(--spacing-md);text-align:left}.learning-content th{background:linear-gradient(to bottom,var(--gray-600),var(--gray-700));color:#fff;font-weight:600;font-size:.9rem;letter-spacing:.03em;padding:var(--spacing-md) var(--spacing-lg);border-bottom:2px solid var(--gray-400)}.learning-content tr:nth-child(2n){background-color:var(--gray-100)}.learning-content tr:hover{background-color:var(--gray-200)}.nav-tabs{border-bottom:1px solid var(--gray-300);margin-bottom:var(--spacing-lg);display:flex;flex-wrap:wrap;gap:.5rem}.tab-loading-indicator{display:inline-flex;align-items:center;position:absolute;right:.5rem;top:50%;transform:translateY(-50%)}.nav-tabs .nav-item{margin-bottom:-1px}.nav-tabs .nav-link{border:1px solid transparent;border-top-left-radius:var(--border-radius-md);border-top-right-radius:var(--border-radius-md);padding:var(--spacing-sm) var(--spacing-lg);font-weight:500;color:var(--gray-600);transition:all var(--transition-fast);position:relative}.nav-tabs .nav-link:hover{border-color:var(--gray-200) var(--gray-200) var(--gray-300);color:var(--secondary-color)}.nav-tabs .nav-link.active{color:var(--secondary-color);background-color:#fff;border-color:var(--gray-300) var(--gray-300) #fff;font-weight:600}.nav-tabs .nav-link.active:after{content:"";position:absolute;bottom:-1px;left:0;width:100%;height:3px;background:linear-gradient(90deg,var(--secondary-color),var(--accent-color));border-top-left-radius:3px;border-top-right-radius:3px}.nav-tabs .nav-item:first-child .nav-link.active:after{background:linear-gradient(90deg,var(--primary-color),var(--secondary-color))}.nav-tabs .nav-item:nth-child(2) .nav-link.active:after{background:linear-gradient(90deg,var(--secondary-color),var(--accent-color))}.nav-tabs .nav-item:nth-child(3) .nav-link.active:after{background:linear-gradient(90deg,var(--accent-color),var(--tertiary-color))}.nav-tabs .nav-item:nth-child(4) .nav-link.active:after{background:linear-gradient(90deg,var(--tertiary-color),var(--quaternary-color))}.flashcard{perspective:1000px;height:300px;margin-bottom:var(--spacing-md)}.scrollable-content{max-height:220px;padding:.5rem;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--gray-400) transparent;align-self:flex-start;width:100%;display:flex;flex-direction:column;justify-content:flex-start}.scrollable-content p{margin-top:0;text-align:center;width:100%}.scrollable-content::-webkit-scrollbar{width:6px}.scrollable-content::-webkit-scrollbar-track{background:transparent}.scrollable-content::-webkit-scrollbar-thumb{background:var(--gray-400);border-radius:3px}.flashcard-inner{position:relative;width:100%;height:100%;text-align:center;transition:transform .6s;transform-style:preserve-3d;box-shadow:var(--shadow-md);border-radius:var(--border-radius-md)}.flashcard.flipped .flashcard-inner{transform:rotateY(180deg)}.flashcard-back,.flashcard-front{position:absolute;width:100%;height:100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;display:flex;align-items:center;justify-content:center;padding:var(--spacing-md);border-radius:var(--border-radius-md)}.flashcard-front{background-color:#fff;color:var(--gray-800)}.flashcard-back{background-color:var(--primary-color);color:#fff;transform:rotateY(180deg)}.mermaid-container{margin:var(--spacing-xl) 0;display:flex;justify-content:center;width:100%}.mermaid-svg-container{display:inline-block;width:100%;overflow-x:auto;padding:var(--spacing-md);background-color:#fff;border-radius:var(--border-radius-lg);box-shadow:var(--shadow-md);position:relative;-webkit-overflow-scrolling:touch}.mermaid-svg-container svg{width:100%;height:auto;margin:0 auto}@media (min-width:769px){.mermaid-svg-container{min-width:500px}}.diagram-fullscreen-modal .modal-content{background-color:#fff;border:none;border-radius:var(--border-radius-lg);box-shadow:var(--shadow-xl);width:100%;max-width:100%}.mermaid-svg-container-fullscreen{width:100%;overflow:auto;max-height:80vh;display:flex;justify-content:center;background-color:#fff;border-radius:var(--border-radius-lg);padding:var(--spacing-md);-webkit-overflow-scrolling:touch}.mermaid-svg-container-fullscreen svg{width:100%;height:auto;margin:0 auto}@media (max-width:768px){.mermaid-svg-container-fullscreen{transform:scale(1)!important;padding:var(--spacing-sm)}.diagram-fullscreen-modal .btn{width:48px!important;height:48px!important;padding:0}.modal-dialog.modal-xl{max-width:100%;margin:.5rem}.mermaid-svg-container{min-width:auto;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.mermaid-svg-container-fullscreen::-webkit-scrollbar,.mermaid-svg-container::-webkit-scrollbar{height:6px;width:6px}.mermaid-svg-container-fullscreen::-webkit-scrollbar-track,.mermaid-svg-container::-webkit-scrollbar-track{background:transparent}.mermaid-svg-container-fullscreen::-webkit-scrollbar-thumb,.mermaid-svg-container::-webkit-scrollbar-thumb{background:var(--gray-400);border-radius:3px}.expand-button{width:48px!important;height:48px!important}}.landscape-hint{text-align:center;margin-top:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-sm);background-color:hsla(0,0%,100%,.9);border-radius:var(--border-radius-md);box-shadow:var(--shadow-sm)}@media (max-width:768px) and (orientation:landscape){.mermaid-container{margin:var(--spacing-md) 0}.diagram-fullscreen-modal .modal-content{height:95vh;display:flex;flex-direction:column}.diagram-fullscreen-modal .modal-body{flex:1 1;padding:var(--spacing-sm);overflow:hidden}.mermaid-svg-container-fullscreen{max-height:85vh;padding:var(--spacing-xs);transform:scale(.9)!important;transform-origin:center center}.diagram-fullscreen-modal .landscape-close-btn{position:absolute;top:0;right:0;z-index:1060}.mermaid-svg-container{width:100%;max-width:100%}.landscape-hint{display:none}}.user-topics-list{max-height:500px;overflow-y:auto}.user-topic-item{padding:var(--spacing-md);border-bottom:1px solid var(--gray-200);transition:background-color var(--transition-fast);cursor:pointer}.user-topic-item:hover{background-color:var(--gray-100)}.user-topic-item:last-child{border-bottom:none}.user-topic-title{font-weight:600;color:var(--gray-800);margin-bottom:var(--spacing-xs)}.user-topic-date{font-size:.85rem;color:var(--gray-600)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.fade-in{animation:fadeIn var(--transition-normal)}@keyframes slideInUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.slide-in-up{animation:slideInUp var(--transition-normal)}@keyframes gradient-animation{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.pulse{animation:pulse 2s ease-in-out infinite}.feature-carousel{position:relative;overflow:hidden}.feature-card{transition:all .5s ease-in-out;opacity:1;transform:translateY(0)}.feature-card.entering{opacity:0;transform:translateY(20px)}.feature-card.exiting{opacity:0;transform:translateY(-20px)}@media (max-width:768px){.learn-container{padding:var(--spacing-sm);width:100%;max-width:100%}.learning-content{padding:var(--spacing-md);border-radius:var(--border-radius-md);width:100%}.learning-content table{display:block;overflow-x:auto;white-space:nowrap}.learning-content blockquote{padding:var(--spacing-md);border-left:none;border-radius:var(--border-radius-md)}.nav-tabs .nav-link{padding:var(--spacing-sm) var(--spacing-md);font-size:.9rem}.search-container{padding:var(--spacing-md)!important}h1{font-size:1.8rem}h2{font-size:1.6rem}h3{font-size:1.4rem}.mermaid-svg-container{padding:var(--spacing-sm)}.flashcard{height:250px}div,p,span{word-wrap:break-word;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}.audio-recorder-container,.feedback-container,.question-item,.questions-list,.transcription-container{width:100%!important;max-width:100%!important;border-left:none!important}}@media (max-width:576px){.learn-container{padding:var(--spacing-xs)}.learning-content{padding:var(--spacing-sm)}.nav-tabs{gap:.25rem}.nav-tabs .nav-link{padding:var(--spacing-xs) var(--spacing-sm);font-size:.8rem}.container,.container-fluid{padding-left:.5rem;padding-right:.5rem}.module-buttons{justify-content:space-between!important}}@media (max-width:768px){.research-item{margin-bottom:1rem!important}.research-item h5{font-size:1.1rem!important;line-height:1.4!important}.research-item .p-4{padding:.75rem!important}.research-item .d-flex.justify-content-between{flex-direction:column!important}.research-item .d-flex.justify-content-between>div:first-child{margin-bottom:.75rem!important;width:100%!important}.research-item .d-flex.align-items-start{flex-direction:column!important}.research-item .d-flex.align-items-start>div:first-child{margin-bottom:.5rem!important;margin-right:0!important}.research-item .d-flex.align-items-center.flex-wrap{width:100%!important;justify-content:flex-start!important;margin-top:.5rem!important}.research-item .d-flex.align-items-center.gap-2{margin-top:.75rem!important;justify-content:flex-end!important;width:100%!important}.research-tag-manager .d-flex.flex-wrap.gap-2{gap:.5rem!important}.research-tag-manager .badge{font-size:.7rem!important;padding:.25rem .5rem!important}#research-details .card-body .p-4{padding:1rem!important}#research-details h2{font-size:1.5rem!important;line-height:1.3!important}.research-result{font-size:.95rem!important;line-height:1.6!important}.hero .display-4{font-size:2rem!important}.hero .lead{font-size:1rem!important}.d-flex.justify-content-between.align-items-center{flex-direction:column!important;align-items:flex-start!important}.d-flex.justify-content-between.align-items-center>div:first-child{margin-bottom:.75rem!important}.d-flex.align-items-center.flex-wrap.gap-1.mt-1{margin-top:.5rem!important;width:100%!important}.research-item.text-white .badge{background-color:hsla(0,0%,100%,.2)!important;color:#fff!important;border:1px solid hsla(0,0%,100%,.3)!important}.research-item.text-white .d-flex.align-items-center.flex-wrap.gap-1.mt-1 svg{color:#fff!important}.research-item.text-white .badge:empty{display:inline-block!important;min-width:40px!important;min-height:20px!important}}.research-item.text-white .badge{background-color:hsla(0,0%,100%,.2)!important;color:#fff!important;border:1px solid hsla(0,0%,100%,.3)!important}.research-item.text-white .d-flex.align-items-center.flex-wrap.gap-1.mt-1 svg{color:#fff!important}@media (max-width:576px){#research-details .card-body .p-4,.research-item .p-4{padding:.5rem!important}.research-item h5{font-size:1rem!important}.hero .display-4{font-size:1.75rem!important}.btn{padding:.375rem .75rem!important;font-size:.875rem!important}.btn.rounded-circle{width:36px!important;height:36px!important;display:flex!important;align-items:center!important;justify-content:center!important}.p-4.bg-light.border-bottom{padding:.75rem!important}.badge{padding:.35rem .65rem!important}.mb-3{margin-bottom:.75rem!important}.mb-4{margin-bottom:1rem!important}.container{padding-left:.75rem!important;padding-right:.75rem!important}.research-result-container{padding:0!important}}