.twzie-hero{background:linear-gradient(135deg,var(--color-primary) 0,var(--color-primary-dark) 100%);color:var(--color-text-inverse);padding-block:var(--spacing-xl)}.twzie-hero__header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md)}.twzie-hero__title{font-size:var(--font-size-h2);font-weight:var(--font-weight-bold);line-height:var(--line-height-heading);-webkit-margin-after:var(--spacing-xs);margin-block-end:var(--spacing-xs)}.twzie-hero__subtitle{font-size:var(--font-size-body);opacity:.9}.lang-toggle{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);background-color:rgba(255,255,255,.15);border:2px solid rgba(255,255,255,.3);border-radius:var(--radius-full);font-size:var(--font-size-small);font-weight:var(--font-weight-bold);color:rgba(255,255,255,.7);min-height:44px;flex-shrink:0;transition:background-color var(--transition-fast),border-color var(--transition-fast)}.lang-toggle:hover{background-color:rgba(255,255,255,.25);border-color:rgba(255,255,255,.5)}.lang-toggle:focus-visible{outline:2px solid var(--color-background);outline-offset:2px}.lang-toggle__option{transition:color var(--transition-fast)}.lang-toggle__option--active{color:var(--color-text-inverse)}.lang-toggle__divider{opacity:.5}.twzie-controls{padding-block:var(--spacing-lg);background-color:var(--color-surface);-webkit-border-after:1px solid var(--color-border);border-block-end:1px solid var(--color-border)}.grade-selector{display:flex;gap:var(--spacing-sm);-webkit-margin-after:var(--spacing-md);margin-block-end:var(--spacing-md)}.grade-selector__btn{padding:var(--spacing-sm) var(--spacing-lg);font-size:var(--font-size-body);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);background-color:var(--color-background);border:2px solid var(--color-border);border-radius:var(--radius-full);min-height:44px;transition:background-color var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast)}.grade-selector__btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.grade-selector__btn--active{background-color:var(--color-primary);color:var(--color-text-inverse);border-color:var(--color-primary)}.grade-selector__btn--active:hover{background-color:var(--color-primary-dark);border-color:var(--color-primary-dark);color:var(--color-text-inverse)}.grade-selector__btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.subject-tabs{display:flex;gap:var(--spacing-sm);overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin;-webkit-padding-after:var(--spacing-xs);padding-block-end:var(--spacing-xs)}.subject-tabs::-webkit-scrollbar{height:4px}.subject-tabs::-webkit-scrollbar-track{background:transparent}.subject-tabs::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-full)}.subject-tabs__btn{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-small);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);background-color:transparent;border:1px solid var(--color-border);border-radius:var(--radius-md);white-space:nowrap;min-height:40px;transition:background-color var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast)}.subject-tabs__btn:hover{background-color:var(--color-background)}.subject-tabs__btn--active,.subject-tabs__btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.subject-tabs__btn--active{background-color:var(--color-primary-light);font-weight:var(--font-weight-bold)}.subject-tabs__btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.twzie-content{padding-block:var(--spacing-xl)}.twzie-content__header{display:flex;align-items:baseline;justify-content:space-between;gap:var(--spacing-md);-webkit-margin-after:var(--spacing-lg);margin-block-end:var(--spacing-lg);flex-wrap:wrap}.twzie-content__title{font-size:var(--font-size-h3);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.twzie-content__semester{font-size:var(--font-size-small);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);background-color:var(--color-surface);padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-full);border:1px solid var(--color-border)}.curriculum-table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--color-border);border-radius:var(--radius-lg)}.curriculum-table{width:100%;border-collapse:collapse;font-size:var(--font-size-small);min-width:600px}.curriculum-table__th{font-weight:var(--font-weight-bold);text-align:start;background-color:var(--color-surface);-webkit-border-after:2px solid var(--color-border);border-block-end:2px solid var(--color-border);white-space:nowrap}.curriculum-table__td,.curriculum-table__th{padding:var(--spacing-sm) var(--spacing-md);color:var(--color-text-primary)}.curriculum-table__td{-webkit-border-after:1px solid var(--color-border);border-block-end:1px solid var(--color-border);vertical-align:top}.curriculum-table__td--week{font-weight:var(--font-weight-bold);text-align:center;white-space:nowrap;width:70px}.curriculum-table__td--status{text-align:center;width:90px}.curriculum-table tbody tr:nth-child(2n){background-color:var(--color-surface)}.curriculum-table__row--review{background-color:#fff8e1!important}.curriculum-table__row--exam{background-color:#fce4ec!important}.curriculum-table__badge{display:inline-block;padding:2px var(--spacing-sm);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);white-space:nowrap}.curriculum-table__badge--review{background-color:var(--color-accent);color:#5d4037}.curriculum-table__badge--exam{background-color:var(--color-danger);color:var(--color-text-inverse)}@media (max-width:480px){.twzie-hero__header{flex-direction:column;text-align:center}.twzie-hero__title{font-size:var(--font-size-h3)}.grade-selector{flex-direction:column}.grade-selector__btn{width:100%;text-align:center}.twzie-content__header{flex-direction:column;gap:var(--spacing-sm)}}@media (min-width:768px){.twzie-hero{padding-block:var(--spacing-2xl)}.twzie-hero__title{font-size:var(--font-size-h1)}.curriculum-table{font-size:var(--font-size-body)}}@media (min-width:1024px){.twzie-content{padding-block:var(--spacing-2xl)}}