.btn{display:inline-flex;align-items:center;justify-content:center;gap:clamp(.375rem,1.5vw,.5rem);padding:clamp(.5rem,1.5vw,.625rem) clamp(1rem,2.5vw,1.25rem);font-size:clamp(.8125rem,1.2vw,.875rem);font-weight:var(--font-weight-semibold);border:none;border-radius:8px;cursor:pointer;transition:all var(--transition-fast);text-decoration:none;white-space:nowrap;max-width:100%;letter-spacing:.01em}.btn-primary{background:linear-gradient(135deg,var(--color-primary) 0,var(--color-primary-dark) 100%);color:white;box-shadow:0 2px 8px rgba(45,122,95,.2);position:relative;overflow:hidden;text-decoration:none!important}.btn-primary:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.15),transparent);transition:left .5s}.btn-primary:hover{background:linear-gradient(135deg,var(--color-primary-dark) 0,var(--color-primary) 100%);box-shadow:0 4px 12px rgba(45,122,95,.3);transform:translateY(-1px);text-decoration:none!important}.btn-primary:hover:before{left:100%}.btn-secondary{background-color:var(--color-primary);color:white}.btn-secondary:hover{background-color:var(--color-primary-light)}.btn-sm{padding:clamp(.3125rem,1.2vw,.4375rem) clamp(.625rem,2vw,.875rem);font-size:clamp(.75rem,1vw,.8125rem);border-radius:6px;gap:clamp(.25rem,1vw,.375rem)}.btn-lg{padding:clamp(.875rem,2.5vw,1.5rem) clamp(1.5rem,4vw,3rem);font-size:clamp(1rem,2vw,1.25rem);font-weight:var(--font-weight-bold);min-width:clamp(140px,30vw,200px)}@media (max-width:480px){.btn{width:100%;justify-content:center}.btn-lg{width:100%;padding:1rem 1.5rem;font-size:1rem}}@media (min-width:481px) and (max-width:768px){.btn-lg{padding:1.125rem 2rem;font-size:1.125rem}}@media (min-width:1024px){.btn-lg{padding:1.5rem 3rem;font-size:1.25rem}}.card{background-color:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border-light);padding:var(--spacing-lg);transition:all var(--transition-base)}.card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.card-compact{padding:var(--spacing-md)}.role-card{display:flex;flex-direction:column;gap:var(--spacing-md);background-color:var(--color-surface);border-radius:var(--radius-lg);padding:var(--spacing-lg);border:1px solid var(--color-border-light);transition:all var(--transition-base);cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.05);position:relative;overflow:hidden}.role-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--color-primary),var(--color-primary-light));opacity:0;transition:opacity var(--transition-fast)}.role-card:hover{box-shadow:0 12px 24px rgba(0,0,0,.12);transform:translateY(-6px);border-color:var(--color-primary)}.role-card:hover:before{opacity:1}.role-card-header{display:flex;align-items:flex-start;gap:var(--spacing-md)}.role-icon{font-size:2.5rem;min-width:60px;width:60px;height:60px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,rgba(45,122,95,.1),rgba(74,155,127,.1));border-radius:var(--radius-md)}.role-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin:0;flex:1 1}.role-description{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-normal);margin:0}.role-meta{display:flex;gap:var(--spacing-md);flex-wrap:wrap;margin-top:var(--spacing-sm)}.badge{display:inline-block;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);border:1px solid var(--color-border-light)}.badge-primary{background-color:#e0f2f1;color:var(--color-primary);border-color:rgba(45,122,95,.2)}.badge-secondary{background-color:#f3e5f5;color:var(--color-accent-purple);border-color:rgba(155,89,182,.2)}.badge-warning{background-color:#fff3e0;color:var(--color-secondary-orange);border-color:rgba(255,152,0,.2)}.topic-count{font-size:var(--font-size-xs);background-color:var(--color-surface-light);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-md);border:1px solid var(--color-border-light);font-weight:var(--font-weight-medium)}.role-list-item,.topic-count{color:var(--color-text-secondary)}.role-list-item{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);text-decoration:none;border-left:3px solid transparent;background:linear-gradient(90deg,transparent,transparent)}.role-list-item:hover{background:linear-gradient(to right,rgba(45,122,95,.08),var(--color-surface-light));transform:translateX(4px);box-shadow:0 2px 8px rgba(45,122,95,.1)}.role-list-item.active,.role-list-item:hover{color:var(--color-primary);border-left-color:var(--color-primary)}.role-list-item.active{background:linear-gradient(90deg,rgba(45,122,95,.15),#e0f2f1);font-weight:var(--font-weight-semibold);box-shadow:0 2px 8px rgba(45,122,95,.15)}.role-list-item-icon{min-width:1.5rem;text-align:center}.role-list-item-chevron{margin-left:auto;color:var(--color-text-light)}.sidebar{background-color:var(--color-surface);border-radius:var(--radius-lg);padding:var(--spacing-lg);border:1px solid var(--color-border-light);height:-moz-fit-content;height:fit-content;position:-webkit-sticky;position:sticky;top:var(--spacing-lg)}.sidebar-section{margin-bottom:var(--spacing-lg)}.sidebar-section:last-child{margin-bottom:0}.sidebar-title{font-size:var(--font-size-base);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin-bottom:var(--spacing-md);display:flex;align-items:center;gap:var(--spacing-sm)}.sidebar-title.collapsible{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.sidebar-title.collapsible:hover{color:var(--color-primary)}.sidebar-list{list-style:none}.sidebar-list-nested{list-style:none;margin-left:var(--spacing-lg);border-left:2px solid var(--color-border-light);padding-left:var(--spacing-md)}.hero{background-color:var(--color-surface);padding:clamp(2rem,5vw,3rem) clamp(1rem,3vw,1.5rem);border-bottom:1px solid var(--color-border-light)}.hero-content{display:grid;grid-template-columns:1fr;grid-gap:clamp(1.5rem,4vw,2rem);gap:clamp(1.5rem,4vw,2rem);align-items:center;max-width:min(1280px,95vw);margin:0 auto}@media (min-width:768px){.hero-content{grid-template-columns:1fr 1fr}}@media (max-width:767px){.hero-content{grid-template-columns:1fr}}.hero-text h1{font-size:clamp(1.75rem,5vw,3rem);font-weight:var(--font-weight-bold);color:var(--color-text-primary);line-height:var(--line-height-tight)}.hero-text h1,.hero-text p{margin-bottom:clamp(1rem,3vw,1.5rem)}.hero-text p{font-size:clamp(1rem,2vw,1.25rem);color:var(--color-text-secondary);line-height:var(--line-height-relaxed)}.hero-features{list-style:none;display:flex;flex-direction:column;gap:clamp(.75rem,2vw,1rem);margin-bottom:clamp(1.5rem,3vw,2rem)}.hero-features li{display:flex;align-items:center;gap:clamp(.5rem,2vw,1rem);font-size:clamp(.875rem,1.5vw,1rem);color:var(--color-text-secondary)}.hero-features li:before{content:"✓";font-weight:var(--font-weight-bold);color:var(--color-success);font-size:clamp(1rem,2vw,1.25rem);flex-shrink:0}.hero-image-wrapper{width:100%;height:clamp(250px,40vw,400px);display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:clamp(.75rem,2vw,1rem);position:relative;overflow:hidden;box-shadow:0 20px 60px rgba(102,126,234,.3);transition:all var(--transition-base)}@media (max-width:480px){.hero-image-wrapper{height:250px}}[data-theme=dark] .hero-image-wrapper{background:linear-gradient(135deg,#4a5568,#2d3748);box-shadow:0 20px 60px rgba(0,0,0,.5)}.hero-image-wrapper:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at top right,rgba(255,255,255,.1),transparent 50%);pointer-events:none}.hero-image-icon{font-size:clamp(5rem,15vw,10rem);text-align:center;filter:drop-shadow(0 4px 8px rgba(0,0,0,.2));position:relative;z-index:1;animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.hero-image-caption{position:absolute;bottom:clamp(1rem,3vw,2rem);left:clamp(1rem,3vw,2rem);right:clamp(1rem,3vw,2rem);color:white;font-size:clamp(1rem,2.5vw,1.5rem);font-weight:700;text-align:center;text-shadow:0 2px 4px rgba(0,0,0,.3)}@media (max-width:480px){.hero-image-caption{font-size:.875rem;bottom:.75rem}}.section{padding:var(--spacing-2xl) var(--spacing-md)}.section-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin-bottom:var(--spacing-xl)}.section-subtitle{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:var(--spacing-lg)}.topic-card{display:flex;flex-direction:column;gap:var(--spacing-md);background-color:var(--color-surface);border-radius:var(--radius-lg);padding:var(--spacing-lg);border:1px solid var(--color-border-light);transition:all var(--transition-base);cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.05);position:relative;overflow:hidden}.topic-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--color-primary),var(--color-primary-light));opacity:0;transition:opacity var(--transition-fast)}.topic-card:hover{box-shadow:0 12px 24px rgba(0,0,0,.12);transform:translateY(-6px);border-color:var(--color-primary)}.topic-card:hover:before{opacity:1}.topic-card-header{display:flex;align-items:flex-start;gap:var(--spacing-md)}.topic-icon{font-size:2.5rem;min-width:60px;width:60px;height:60px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,rgba(0,102,204,.1),rgba(51,133,214,.1));border-radius:var(--radius-md)}.topic-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin:0;flex:1 1}.topic-description{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-normal);margin:0}.topic-meta{display:flex;gap:var(--spacing-md);flex-wrap:wrap;margin-top:var(--spacing-sm)}.question-count{font-size:var(--font-size-xs);color:var(--color-text-secondary);background-color:var(--color-surface-light);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-md);border:1px solid var(--color-border-light);font-weight:var(--font-weight-medium);display:inline-block}.question-viewer{max-width:1200px;margin:0 auto;padding:var(--spacing-xl);width:100%}@media (min-width:1440px){.question-viewer{max-width:1400px;padding:3rem}.question-card{padding:3rem}.question-text{font-size:var(--font-size-2xl)}.answer-content{padding:var(--spacing-2xl)}}@media (min-width:1024px) and (max-width:1439px){.question-viewer{max-width:1100px;padding:2.5rem}.question-card{padding:2.5rem}}.question-viewer-header{display:flex;align-items:flex-start;gap:var(--spacing-lg);margin-bottom:var(--spacing-2xl)}.btn-back{background-color:transparent;border:1px solid var(--color-border);color:var(--color-text-primary);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);white-space:nowrap;min-height:40px;display:flex;align-items:center;justify-content:center}.btn-back:hover{background-color:var(--color-surface-light);border-color:var(--color-primary);color:var(--color-primary)}.question-progress{flex:1 1}.question-progress h2{margin:0 0 var(--spacing-sm) 0;font-size:var(--font-size-2xl);color:var(--color-text-primary)}.question-progress p{margin:0 0 var(--spacing-md) 0;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.progress-bar{width:100%;height:6px;background-color:var(--color-border-light);border-radius:var(--radius-full);overflow:hidden}.progress-bar-fill{height:100%;background:linear-gradient(90deg,var(--color-primary),var(--color-primary-light));transition:width var(--transition-base)}.question-card{background-color:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);padding:var(--spacing-2xl);margin-bottom:var(--spacing-2xl);box-shadow:0 2px 12px rgba(0,0,0,.08)}.question-content{margin-bottom:var(--spacing-xl)}.question-text{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);line-height:var(--line-height-relaxed);margin:0}.answer-section{margin-top:var(--spacing-xl);padding-top:var(--spacing-xl);border-top:1px solid var(--color-border-light)}.answer-content{background-color:var(--color-surface-light);padding:var(--spacing-lg);border-radius:var(--radius-md);border-left:4px solid var(--color-primary)}.answer-content h4{margin:0 0 var(--spacing-sm) 0;font-size:var(--font-size-base);font-weight:var(--font-weight-bold);color:var(--color-primary)}.answer-text{font-size:var(--font-size-base);color:var(--color-text-primary)}.answer-text,.explanation-text{margin:0;line-height:var(--line-height-relaxed)}.explanation-text{font-size:var(--font-size-sm);color:var(--color-text-secondary);font-style:italic}.question-navigation{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-lg);margin-bottom:var(--spacing-2xl);flex-wrap:wrap}.question-counter{font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:var(--color-text-secondary);min-width:60px;text-align:center}.question-indicators{display:flex;gap:var(--spacing-sm);flex-wrap:wrap;margin-top:var(--spacing-xl);padding-top:var(--spacing-xl);border-top:1px solid var(--color-border-light)}.question-indicators .indicator{width:40px;height:40px;border-radius:50%;background-color:var(--color-surface-light);border:2px solid var(--color-border);color:var(--color-text-secondary);font-weight:var(--font-weight-bold);cursor:pointer;transition:all var(--transition-fast);font-size:var(--font-size-sm)}.question-indicators .indicator.active,.question-indicators .indicator:hover{border-color:var(--color-primary);background-color:var(--color-primary);color:white}.question-indicators .indicator.completed{background-color:#48bb78;border-color:#48bb78;color:white}@media (min-width:768px) and (max-width:1023px){.question-viewer{padding:2rem 1.5rem}.question-card{padding:2rem}.question-text{font-size:var(--font-size-lg)}.question-navigation{flex-direction:column;gap:var(--spacing-md)}.question-indicators{justify-content:center}}@media (max-width:767px){.question-viewer{padding:1rem}.question-viewer-header{flex-direction:column;gap:var(--spacing-md)}.btn-back{width:100%}.question-card{padding:1.5rem}.question-text{font-size:var(--font-size-base)}.answer-content{padding:var(--spacing-md)}.question-navigation{flex-direction:column;gap:var(--spacing-md)}.question-navigation button{width:100%}.question-indicators .indicator{width:35px;height:35px;font-size:.8rem}}