:root{--primary-color: #0d6efd;--secondary-color: #6c757d;--success-color: #198754;--info-color: #0dcaf0;--warning-color: #ffc107;--danger-color: #dc3545;--light-color: #f8f9fa;--dark-color: #212529;--section-padding: 3rem;--card-padding: 1.5rem;--border-radius: 0.5rem;--border-radius-lg: 0.75rem;--font-family-base: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);--shadow-md: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);--shadow-lg: 0 4px 12px rgba(0, 0, 0, 0.1);--transition-fast: 0.2s ease;--transition-normal: 0.3s ease}body{font-family:var(--font-family-base);line-height:1.6}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-semibold);margin-bottom:1rem}h2{font-size:clamp(1.5rem, 4vw, 2rem);margin-bottom:1.5rem}h3{font-size:clamp(1.25rem, 3vw, 1.5rem);margin-bottom:1rem}h5{font-size:clamp(1rem, 2.5vw, 1.25rem)}.fade-in{animation:fadeIn 0.5s ease-in}@keyframes fadeIn{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}html{scroll-behavior:smooth}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0}a:focus,button:focus,input:focus{outline:2px solid var(--primary-color);outline-offset:2px}.btn:focus,.card:focus{box-shadow:0 0 0 0.2rem rgba(13,110,253,0.25);outline:none}.card{border:none;box-shadow:var(--shadow-sm);transition:all var(--transition-normal);border-radius:var(--border-radius-lg)}.card:hover{box-shadow:var(--shadow-md);transform:translateY(-3px)}.card-header{background-color:var(--light-color);border-bottom:1px solid rgba(0,0,0,0.125);font-weight:var(--font-weight-semibold)}.btn{font-weight:var(--font-weight-medium);border-radius:var(--border-radius);transition:all var(--transition-normal)}.btn-lg{padding:0.75rem 2rem;font-size:1.1rem}.badge{font-size:0.75em;font-weight:var(--font-weight-medium)}.difficulty-beginner{background-color:var(--success-color) !important}.difficulty-intermediate{background-color:var(--warning-color) !important;color:var(--dark-color) !important}.difficulty-advanced{background-color:var(--danger-color) !important}.callout{border-radius:var(--border-radius);padding:1.5rem;margin:1.5rem 0;border-left:4px solid}.callout-info{background-color:#e3f2fd;border-left-color:#2196f3;color:#0d47a1}.callout-warning{background-color:#fff3e0;border-left-color:#ff9800;color:#e65100}.callout-success{background-color:#e8f5e8;border-left-color:#4caf50;color:#1b5e20}.callout-danger{background-color:#ffebee;border-left-color:#f44336;color:#b71c1c}.important-admission{background:linear-gradient(135deg, #fff3cd 0%, #fef7e0 100%);border:2px solid #ffc107;border-left:6px solid #f59e0b;border-radius:var(--border-radius-lg);padding:2rem;margin:2rem 0;position:relative;box-shadow:0 4px 12px rgba(245,158,11,0.15)}.important-admission::before{content:"💡";position:absolute;top:-10px;left:20px;background:#ffc107;padding:8px 12px;border-radius:50%;font-size:1.2rem;box-shadow:0 2px 8px rgba(0,0,0,0.1)}.important-admission h3{color:#b45309;font-weight:var(--font-weight-bold);margin-bottom:1rem;margin-top:0.5rem}.important-admission p{color:#92400e;font-size:1.05rem;line-height:1.6;margin-bottom:1rem}.important-admission p:last-child{margin-bottom:0}.important-admission strong{color:#78350f;font-weight:var(--font-weight-semibold)}.spinner{display:inline-block;width:1rem;height:1rem;border:0.125rem solid rgba(0,0,0,0.1);border-radius:50%;border-top-color:var(--primary-color);animation:spin 1s ease-in-out infinite}@keyframes spin{to{transform:rotate(360deg)}}.stats-card{text-align:center;padding:2rem}.stats-card .stats-number{font-size:3rem;font-weight:var(--font-weight-bold);color:var(--primary-color);display:block}.stats-card .stats-label{font-size:1.1rem;color:var(--secondary-color);text-transform:uppercase;letter-spacing:0.5px}.grid-auto-fit{display:grid;gap:1.5rem;margin-bottom:2rem}.quick-start-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(300px, 1fr));gap:1.5rem;margin-bottom:3rem}.philosophy-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(250px, 1fr));gap:1.5rem;margin-bottom:3rem}.involvement-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(200px, 1fr));gap:1.5rem;margin-bottom:3rem}.question-grid,.subject-grid{display:grid;gap:1.5rem;margin-bottom:2rem}.question-grid{grid-template-columns:repeat(auto-fill, minmax(300px, 1fr))}.subject-grid{grid-template-columns:repeat(auto-fill, minmax(350px, 1fr))}.subjects-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(350px, 1fr));gap:1.5rem;margin-top:2rem}.framework-docs-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(300px, 1fr));gap:1.5rem;margin-bottom:2rem}.usage-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(250px, 1fr));gap:1.5rem;margin:2rem 0}@media (max-width: 768px){.question-grid,.subject-grid,.quick-start-grid,.philosophy-grid,.involvement-grid,.framework-docs-grid,.subjects-grid,.usage-grid{grid-template-columns:1fr}.planned-subjects ul{columns:1}}@media (min-width: 992px){.planned-subjects ul{columns:2;column-gap:2rem}}.hero-section{background:linear-gradient(135deg, var(--primary-color) 0%, #0b5ed7 100%);color:white;padding:4rem 0 5rem 0;margin-bottom:0}.hero-section h1{font-size:clamp(2rem, 5vw, 3.5rem);font-weight:var(--font-weight-bold);margin-bottom:1.5rem;line-height:1.2}.hero-section .lead{font-size:clamp(1.1rem, 3vw, 1.4rem);margin-bottom:2rem;opacity:0.95}.hero-illustration{animation:float 3s ease-in-out infinite}@keyframes float{0%, 100%{transform:translateY(0px)}50%{transform:translateY(-20px)}}.quick-start-card{background:var(--light-color);border-radius:var(--border-radius);padding:2rem;text-align:center;transition:transform var(--transition-fast),box-shadow var(--transition-fast);height:100%;display:flex;flex-direction:column}.quick-start-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.quick-start-card .icon{font-size:2.5rem;margin-bottom:1rem}.quick-start-card h3{margin-bottom:1rem;font-size:1.25rem}.quick-start-card p{flex-grow:1;margin-bottom:1.5rem;color:var(--secondary-color)}.philosophy-card{border:2px solid #e9ecef;border-radius:var(--border-radius);padding:1.5rem;height:100%}.philosophy-card.primary{border-color:var(--primary-color)}.philosophy-card.success{border-color:var(--success-color)}.philosophy-card.info{border-color:var(--info-color)}.philosophy-card.warning{border-color:var(--warning-color)}.philosophy-card.secondary{border-color:var(--secondary-color)}.philosophy-card h3{margin-bottom:1rem;font-size:1.1rem}.involvement-card{background:white;border:1px solid #e9ecef;border-radius:var(--border-radius);padding:1.5rem;text-align:center;height:100%;display:flex;flex-direction:column}.involvement-card .icon{font-size:3rem;margin-bottom:1rem}.involvement-card h3{margin-bottom:1rem;font-size:1.1rem}.involvement-card ul{text-align:left;flex-grow:1;margin-bottom:0}.subject-card{background:white;border:1px solid #e9ecef;border-radius:var(--border-radius);overflow:hidden;transition:transform var(--transition-fast),box-shadow var(--transition-fast);height:100%;display:flex;flex-direction:column}.subject-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.subject-card-header{background:var(--light-color);padding:1.25rem;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:1rem}.subject-card-header h3{margin:0;font-size:1.25rem;font-weight:var(--font-weight-semibold)}.subject-card-header h3 a{color:var(--primary-color);text-decoration:none}.subject-card-header h3 a:hover{text-decoration:underline}.subject-card-body{padding:1.25rem;flex-grow:1;display:flex;flex-direction:column}.subject-card-body>p{margin-bottom:1rem}.subject-details{margin-bottom:1rem}.subject-detail-item{margin-bottom:0.5rem;font-size:0.9rem}.subject-topics{margin-top:auto}.subject-topics ul{margin-bottom:0;font-size:0.9rem;padding-left:1.2rem}.subject-topics li{margin-bottom:0.25rem}.subject-card-footer{padding:1.25rem;border-top:1px solid #e9ecef;background:#fafafa;display:flex;gap:0.75rem;flex-wrap:wrap}.subject-card-footer .btn{flex:1;min-width:120px}.coming-soon-section{margin-top:3rem;padding:2rem;background:var(--light-color);border-radius:var(--border-radius);border-left:4px solid var(--primary-color)}.planned-subjects{margin-top:1rem}.planned-subjects ul{margin-bottom:0}.planned-subjects li{break-inside:avoid;margin-bottom:0.5rem}.usage-card{background:white;border:1px solid #e9ecef;border-radius:var(--border-radius);padding:1.5rem}.usage-card h3{color:var(--primary-color);margin-bottom:1rem}.usage-card ol{margin-bottom:0}.usage-card li{margin-bottom:0.5rem}.support-resources{background:#e3f2fd;border-radius:var(--border-radius);padding:1.5rem;margin-top:2rem}.support-resources ul{margin-bottom:0}.support-resources li{margin-bottom:0.5rem}@media (max-width: 768px){.subject-card-header{flex-direction:column;align-items:stretch}.subject-card-footer{flex-direction:column}.subject-card-footer .btn{flex:none}}.question-content{font-size:1.1rem}.question-content h2{color:var(--primary-color);border-bottom:2px solid var(--primary-color);padding-bottom:0.5rem;margin-top:2rem}.question-content h3{color:var(--secondary-color);margin-top:1.5rem}.question-content blockquote{border-left:4px solid var(--primary-color);padding-left:1rem;margin:1.5rem 0;background-color:var(--light-color);padding:1rem;border-radius:0.25rem}.question-content code{background-color:var(--light-color);padding:0.2rem 0.4rem;border-radius:0.25rem;font-size:0.9em}.question-content pre{background-color:var(--dark-color);color:white;padding:1rem;border-radius:0.25rem;overflow-x:auto}.question-content ul,.question-content ol{margin-bottom:1.5rem}.question-content li{margin-bottom:0.5rem}.question-content input[type="checkbox"]{margin-right:0.5rem}.tag-cloud{display:flex;flex-wrap:wrap;gap:0.5rem;margin-bottom:2rem}.tag-filter{cursor:pointer;transition:all var(--transition-normal)}.tag-filter:hover{transform:scale(1.05)}.tag-filter.active{background-color:var(--primary-color) !important;color:white !important}.search-results{max-height:400px;overflow-y:auto}.search-result-item{padding:1rem;border-bottom:1px solid #dee2e6}.search-result-item:last-child{border-bottom:none}.search-highlight{background-color:yellow;padding:0.1rem 0.2rem;border-radius:0.25rem}.filter-buttons{margin-bottom:2rem}.filter-buttons .btn{margin-right:0.5rem;margin-bottom:0.5rem}.my-5{margin-top:var(--section-padding) !important;margin-bottom:var(--section-padding) !important}.framework-section{margin-bottom:var(--section-padding)}@media (max-width: 576px){.g-4{--bs-gutter-x: 1rem;--bs-gutter-y: 1rem}.hero-section{padding:2rem 0 3rem 0}.btn-lg{padding:0.6rem 1.5rem;font-size:1rem}.container{padding-left:1rem;padding-right:1rem}.d-flex.flex-column.flex-sm-row{gap:0.75rem !important}.my-5{margin-top:2rem !important;margin-bottom:2rem !important}}@media (max-width: 768px){.hero-section h1{font-size:2.5rem}.hero-section .lead{font-size:1.25rem}.my-5{margin-top:2rem !important;margin-bottom:2rem !important}}.fa-10x{font-size:8em}@media (max-width: 768px){.fa-10x{font-size:5em}}@media print{.navbar,footer,.card:not(.question-content),.btn{display:none !important}.container{max-width:none !important;padding:0 !important}.question-content{font-size:12pt;line-height:1.4}.question-content h1,.question-content h2{page-break-after:avoid}}.framework-hero{background:linear-gradient(135deg, var(--primary-color) 0%, #0b5ed7 100%);color:white;padding:4rem 0 5rem 0;margin-bottom:0}.framework-hero-title{font-size:clamp(2rem, 5vw, 3.5rem);font-weight:var(--font-weight-bold);margin-bottom:1.5rem;line-height:1.2}.framework-hero-description{font-size:clamp(1.1rem, 3vw, 1.4rem);margin-bottom:2rem;opacity:0.95;max-width:700px;margin-left:auto;margin-right:auto;line-height:1.6}.framework-content{padding:4rem 0;background:var(--light-color)}.framework-content h2{color:var(--primary-color);margin-bottom:2rem;font-weight:var(--font-weight-semibold);font-size:clamp(1.5rem, 3vw, 2rem);text-align:center}.framework-content h3{color:var(--primary-color);margin-top:3rem;margin-bottom:2rem;font-weight:var(--font-weight-semibold);font-size:clamp(1.3rem, 2.5vw, 1.75rem);display:flex;align-items:center;justify-content:center;gap:0.75rem}.framework-component{background:white;border-radius:var(--border-radius);padding:2rem;margin-bottom:1.5rem;box-shadow:var(--shadow-sm);transition:transform var(--transition-fast),box-shadow var(--transition-fast);border:1px solid #e9ecef;height:100%;display:flex;flex-direction:column;text-align:center}.framework-component:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.framework-component h4{margin-top:0;color:var(--primary-color);font-size:1.25rem;margin-bottom:1rem;font-weight:var(--font-weight-semibold)}.framework-component h4 a{color:inherit;text-decoration:none}.framework-component h4 a:hover{text-decoration:underline}.framework-component p{color:var(--secondary-color);margin-bottom:1.5rem;line-height:1.6;flex-grow:1}.framework-component .btn{border-radius:var(--border-radius);padding:0.75rem 2rem;font-weight:var(--font-weight-medium);text-decoration:none;transition:all var(--transition-normal);margin-top:auto;align-self:center;display:inline-flex;align-items:center;gap:0.5rem}.framework-philosophy{background:white;border-radius:var(--border-radius);padding:3rem 2rem;margin:3rem 0;box-shadow:var(--shadow-sm);border:1px solid #e9ecef}.framework-philosophy h2{margin-bottom:3rem;text-align:center;color:var(--primary-color);font-size:clamp(1.75rem, 3vw, 2.25rem)}.framework-philosophy h3{color:var(--primary-color);display:flex;align-items:center;margin-bottom:1.5rem;margin-top:2.5rem;font-size:1.25rem;font-weight:var(--font-weight-semibold)}.framework-philosophy h3:first-of-type{margin-top:0}.framework-philosophy h3::before{content:attr(data-icon);font-size:1.5rem;margin-right:1rem;width:2.5rem;height:2.5rem;background:linear-gradient(135deg, var(--primary-color) 0%, #0b5ed7 100%);border-radius:50%;display:flex;align-items:center;justify-content:center;color:white;flex-shrink:0;box-shadow:var(--shadow-sm)}.framework-philosophy ul{list-style:none;padding-left:0;margin-bottom:2rem;background:var(--light-color);border-radius:var(--border-radius);padding:1.5rem}.framework-philosophy li{padding:0.75rem 0;border-bottom:1px solid #e9ecef;position:relative;padding-left:2rem;line-height:1.6;color:var(--dark-color)}.framework-philosophy li:last-child{border-bottom:none;padding-bottom:0}.framework-philosophy li::before{content:"→";color:var(--primary-color);font-weight:bold;position:absolute;left:0;top:0.75rem;font-size:1.1rem}.framework-actions{background:white;padding:4rem 0;border-top:1px solid #e9ecef}.framework-actions h3{font-size:clamp(1.5rem, 3vw, 2rem);color:var(--dark-color);margin-bottom:2.5rem;font-weight:var(--font-weight-semibold)}.framework-action-buttons{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;margin-bottom:2rem}.framework-action-buttons .btn{border-radius:var(--border-radius);padding:0.875rem 2.5rem;font-weight:var(--font-weight-medium);text-decoration:none;transition:all var(--transition-normal);font-size:1.1rem;display:inline-flex;align-items:center;gap:0.5rem;min-width:200px;justify-content:center}.framework-action-buttons .btn-primary:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.framework-action-buttons .btn-outline-primary:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm)}.framework-action-buttons .btn-success:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.framework-components-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(320px, 1fr));gap:2rem;margin-bottom:3rem}@media (max-width: 768px){.framework-hero{padding:3rem 0 4rem 0}.framework-hero-title{font-size:clamp(1.8rem, 4vw, 2.5rem)}.framework-hero-description{font-size:clamp(1rem, 2.5vw, 1.2rem)}.framework-content{padding:3rem 0}.framework-component{padding:1.5rem}.framework-philosophy{padding:2rem}.framework-action-buttons{flex-direction:column;align-items:center}.framework-action-buttons .btn{width:100%;max-width:280px}.framework-components-grid{grid-template-columns:1fr}}@media (max-width: 576px){.framework-component h4{font-size:1.1rem}.framework-philosophy h3{font-size:1.1rem}.framework-philosophy li{padding-left:1.5rem;font-size:0.95rem}}
