:root{--text-body: #1e293b;--text-primary: #0f172a;--text-secondary: #475569;--text-muted: #64748b;--accent-yellow: #fbbf24;--accent-green: #10b981;--accent-violet: #6366f1;--accent-purple: #8b5cf6;--accent-blue: #3b82f6;--nav-black: #0f172a;--border-light: #e2e8f0;--border-medium: #cbd5e1;--shadow-sm: 0 1px 2px rgba(15, 23, 42, .04);--shadow-md: 0 4px 6px -1px rgba(15, 23, 42, .08), 0 2px 4px -1px rgba(15, 23, 42, .04);--shadow-lg: 0 10px 15px -3px rgba(15, 23, 42, .1), 0 4px 6px -2px rgba(15, 23, 42, .05);--shadow-xl: 0 20px 25px -5px rgba(15, 23, 42, .1), 0 10px 10px -5px rgba(15, 23, 42, .04);--transition-speed: .2s;--transition-ease: cubic-bezier(.4, 0, .2, 1);--app-motion-duration: .18s;--link-color: #0f172a;--app-content-width: 1200px;--app-page-gutter: 16px;--app-background: #f3f4f6;--app-surface-shadow: 0 10px 28px rgba(15, 23, 42, .14);--app-header-shadow: 0 8px 22px rgba(15, 23, 42, .12)}html{overflow-y:scroll;scrollbar-gutter:stable}*,*:before,*:after{box-sizing:border-box}body{margin:0;padding:0;color:var(--text-body);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.6;background:#fff;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body.theme-auth{background:#fff}body.theme-app{background:var(--app-background)!important;min-height:100vh}.app-loading-screen{display:flex;align-items:center;justify-content:center;min-height:100vh;font-size:18px;color:var(--text-primary);background:var(--app-background)}:root{--bg-primary: #ffffff;--bg-secondary: #f9fafb;--text-primary: #0f172a;--text-secondary: #475569;--text-muted: #64748b;--border-color: #e2e8f0}a{color:var(--link-color);text-decoration:none;transition:color .2s var(--transition-ease)}a:hover{color:#0f172a;text-decoration:underline}a:visited{color:var(--link-color)}a:focus-visible{outline:2px solid var(--accent-blue);outline-offset:2px;border-radius:4px}button{font-family:inherit;cursor:pointer;border:none;background:none}button,select,[role=button],.app-nav-link,.app-header,.app-menu,.app-menu__item,.landing-button,.topic-item__timed-badge,.app-select,nav a{-webkit-user-select:none;-moz-user-select:none;user-select:none}input,textarea,[contenteditable=true],.topic-theory__code-content{-webkit-user-select:text;-moz-user-select:text;user-select:text}*{scrollbar-width:thin;scrollbar-color:var(--nav-orange) transparent}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:var(--nav-orange);border:2px solid #ffffff}*::-webkit-scrollbar-thumb:hover{background:#ea770e}.loading-indicator{display:flex;min-height:220px;align-items:center;justify-content:center;flex-direction:column;gap:12px;color:var(--text-secondary);font-size:14px;font-weight:700}.loading-indicator--compact{min-height:88px}.loading-indicator__spinner{width:36px;height:36px;border:3px solid rgba(15,23,42,.14);border-top-color:#f97316;border-radius:999px;animation:loadingSpin .8s linear infinite}.loading-indicator__label{line-height:1.4}@keyframes loadingSpin{to{transform:rotate(360deg)}}.page{width:min(calc(100% - (var(--app-page-gutter) * 2)),var(--app-content-width));max-width:var(--app-content-width);margin:32px auto 48px;padding:40px 32px;background:#fff;border:2px solid black;border-radius:0;box-shadow:var(--app-surface-shadow);flex:1 1 auto;animation:appPageIn var(--app-motion-duration) ease-out both;position:relative;z-index:1;transform:translateZ(0)}@keyframes appPageIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateZ(0)}}@keyframes appSoftIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.page__title{font-size:36px;font-weight:900;letter-spacing:-.03em;margin:0 0 10px;color:#0f172a;line-height:1.2}.page__title:hover,.page__title:focus,.page__title:active{color:#0f172a}.page__subtitle{font-size:16px;margin:0 0 28px;color:#475569;line-height:1.6}.page__subtitle:hover,.page__subtitle:focus,.page__subtitle:active{color:#475569}.btn-primary{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;font-size:14px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;text-decoration:none;color:var(--nav-black);background:linear-gradient(135deg,#f97316,#fb923c);border:2px solid var(--nav-black);border-radius:0;transition:background .12s ease,box-shadow .12s ease;cursor:pointer;box-shadow:var(--shadow-sm)}.btn-primary:hover{background:linear-gradient(135deg,#fb923c,#fdba74);box-shadow:var(--shadow-sm);color:var(--nav-black);text-decoration:none}.btn-primary:active{box-shadow:var(--shadow-sm)}.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-primary:focus-visible{outline:2px solid var(--accent-blue);outline-offset:2px}@media(max-width:768px){.page{width:calc(100% - (var(--app-page-gutter) * 2));margin:24px auto;padding:28px 24px}.page__title{font-size:28px}.page__subtitle{font-size:15px}}body.theme-app :where(.page-enter,.course-card,.course-detail-header,.course-content,.course-reviews,.module-item,.learning-course-card,.learning-course-header,.learning-module,.topic-theory,.topic-practice,.settings-section,.profile-card,.profile-panel){animation:appSoftIn var(--app-motion-duration) ease-out both!important;animation-delay:0s!important}body.theme-app .page.page-enter{animation:appPageIn var(--app-motion-duration) ease-out both!important}body.theme-app :where(a,button,[role=button],.course-card,.course-detail-header,.course-content,.course-reviews,.module-item,.learning-course-header,.learning-module,.learning-topic,.settings-account__connection,.profile-avatar-large,.teacher-course-card,.teacher-module-item,.teacher-topic-item):hover{transform:none!important}html,body{max-width:100%;overflow-x:hidden}img,pre,table,video,canvas{max-width:100%}@media(max-width:768px){:root{--app-page-gutter: 12px}.page{margin:16px auto 28px;padding:22px 16px;min-height:calc(100vh - 150px)}.page__title{font-size:24px;word-break:break-word}}@media(max-width:480px){:root{--app-page-gutter: 10px}.page{margin:12px auto 22px;padding:18px 13px;border-width:1px}.page__title{font-size:21px}.page__subtitle{font-size:14px}.page,.profile-info,.profile-info h2,.profile-info p{overflow-wrap:anywhere}}.auth-container{min-height:100vh;display:flex;background:transparent}.auth-left{flex:1;background:linear-gradient(135deg,#6366f1,#8b5cf6 30%,#f97316 70%,#fb923c);color:#fff;display:flex;align-items:center;justify-content:center;padding:56px;position:relative;overflow:hidden;border-right:2px solid var(--nav-black)}.auth-left:before{content:"";position:absolute;inset:-40%;background:linear-gradient(0deg,rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px);background-size:44px 44px;opacity:.18;transform:rotate(10deg)}.auth-left__content{position:relative;z-index:1;max-width:420px;animation:authLeftIn .45s ease-out both}@keyframes authLeftIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.auth-left__logo{font-size:18px;font-weight:900;letter-spacing:-.02em;opacity:.95;margin-bottom:18px}.auth-left__title{font-size:38px;font-weight:900;letter-spacing:-.03em;margin:0 0 14px}.auth-left__subtitle{font-size:15px;opacity:.85;line-height:1.7;margin:0}.auth-right{flex:1;display:flex;align-items:center;justify-content:center;padding:56px 24px;background:#fff}.auth-form-wrapper{width:100%;max-width:440px;background:var(--bg-secondary);padding:34px;border:1.5px solid var(--nav-black);box-shadow:var(--shadow-md);animation:authCardIn .45s ease-out both}@keyframes authCardIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.auth-title{font-size:22px;font-weight:900;letter-spacing:-.02em;margin:0 0 6px;color:var(--text-primary)}.auth-subtitle{font-size:14px;color:var(--text-secondary);margin:0 0 22px}.auth-form{display:flex;flex-direction:column;gap:16px}.auth-field{display:flex;flex-direction:column;gap:8px}.auth-label{font-size:13px;font-weight:900;color:var(--text-primary)}.auth-label-required{color:#dc2626;font-weight:900;margin-left:2px}.auth-input{width:100%;padding:12px 14px;border:1.5px solid var(--nav-black);background:#fff;font-size:14px;color:var(--text-body);transition:box-shadow .12s ease,background-color .12s ease}.auth-input:hover{background:#fafafa}.auth-input:focus{outline:none;box-shadow:0 0 0 4px #45449429}.auth-button{width:100%;margin-top:6px;padding:12px 16px;font-size:14px;font-weight:900;color:#fff;background:var(--nav-black);border:1.5px solid var(--nav-black);transition:background-color .12s ease,box-shadow .12s ease}.auth-button:hover:not(:disabled){background:#111114;box-shadow:0 4px 12px #0b0b0d1f}.auth-button:disabled{opacity:.6;cursor:not-allowed}.auth-footer{margin-top:18px;text-align:center;font-size:13px;color:var(--text-secondary)}.auth-link{color:#0f172a;font-weight:900}.auth-link:hover{color:#0f172a;text-decoration:underline}.auth-error{margin-top:14px;padding:10px 12px;background:#b91c1c14;border:1px solid rgba(185,28,28,.35);color:#991b1b;font-size:13px}.auth-container--register .auth-left{background:linear-gradient(135deg,#6366f1,#8b5cf6 30%,#f97316 70%,#fb923c);border-right:2px solid var(--nav-black)}.auth-container--register .auth-left:before{opacity:.14}.auth-container--register .auth-input:focus{box-shadow:0 0 0 4px #6366f138}.auth-container--register .auth-button{color:#fff;background:var(--nav-black);border-color:var(--nav-black)}.auth-container--register .auth-button:hover:not(:disabled){background:#111114}.auth-oauth{display:flex;flex-direction:column;gap:12px;margin-bottom:8px}.auth-oauth-button{width:100%;padding:12px 16px;display:flex;align-items:center;justify-content:center;gap:12px;font-size:14px;font-weight:900;border:1.5px solid var(--nav-black);background:#fff;color:var(--text-primary);cursor:pointer;transition:box-shadow .12s ease,background-color .12s ease;position:relative}.auth-oauth-button:hover:not(:disabled){box-shadow:0 2px 8px #0b0b0d14;background:#fafafa}.auth-oauth-button:disabled{opacity:.5;cursor:not-allowed}.auth-oauth-button--google,.auth-oauth-button--github{border-color:var(--nav-black)}.auth-oauth-icon{flex-shrink:0;width:20px;height:20px;object-fit:contain}.auth-oauth-badge{position:absolute;right:12px;font-size:10px;font-weight:700;padding:2px 6px;background:var(--text-secondary);color:#fff;border-radius:2px;text-transform:uppercase;letter-spacing:.5px}.auth-divider{display:flex;align-items:center;text-align:center;margin:20px 0;color:var(--text-secondary);font-size:13px}.auth-divider:before,.auth-divider:after{content:"";flex:1;border-bottom:1px solid var(--nav-black);opacity:.2}.auth-divider span{padding:0 16px}.auth-button-back{width:100%;margin-top:12px;padding:10px 16px;font-size:13px;font-weight:700;color:var(--text-secondary);background:transparent;border:none;cursor:pointer;transition:color var(--transition-speed);text-align:center}.auth-button-back:hover{color:var(--text-primary)}.auth-control-btn{padding:8px 16px;border:2px solid var(--nav-black);background:#fff;font-size:13px;font-weight:800;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .14s ease,color .14s ease;color:var(--text-primary);min-width:44px;height:auto}.auth-control-btn:hover{background:#0b0b0d0d}.auth-container:not(.auth-container--register) .auth-button--outline{color:#fff!important;background:var(--nav-black);border-color:var(--nav-black)}.auth-container:not(.auth-container--register) .auth-button--outline:hover{background:#111114;border-color:var(--nav-black);color:#fff!important}@media(max-width:968px){.auth-container{flex-direction:column}.auth-left{min-height:260px;border-right:none;border-bottom:2px solid var(--nav-black)}}.landing-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#6366f1,#8b5cf6 30%,#f97316 70%,#fb923c);position:relative;overflow:hidden;padding:24px}.landing-container:before{content:"";position:absolute;inset:-40%;background:linear-gradient(0deg,rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px);background-size:44px 44px;opacity:.18;transform:rotate(10deg)}.landing-content{position:relative;z-index:1;text-align:center;max-width:500px;width:100%;animation:landingFadeIn .6s ease-out both}@keyframes landingFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.landing-header{margin-bottom:48px}.landing-title{font-size:56px;font-weight:900;letter-spacing:-.03em;color:#fff;margin:0 0 16px;text-shadow:0 2px 20px rgba(0,0,0,.1)}.landing-subtitle{font-size:18px;color:#ffffffe6;margin:0;line-height:1.6}.landing-actions{display:flex;flex-direction:column;gap:16px;text-decoration:none}.landing-button{display:block;width:100%;padding:16px 24px;font-size:16px;font-weight:900;text-align:center;text-decoration:none;border:2px solid;transition:box-shadow .12s ease,background-color .12s ease,border-color .12s ease;border-radius:0;color:#fff}.landing-button--primary{color:#fff!important;background:var(--nav-black);border-color:var(--nav-black)}.landing-button--primary:hover{color:#fff;background:#111114;box-shadow:0 4px 12px #0b0b0d24;text-decoration:none}.landing-button--secondary{color:var(--nav-black);background:#fff;border-color:#fff}.landing-button--secondary:hover{background:#fafafa;box-shadow:0 4px 12px #ffffff2e;text-decoration:none}@media(max-width:640px){.landing-title{font-size:42px}.landing-subtitle{font-size:16px}}.profile-container{max-width:800px;margin:0 auto}.profile-header{background:#fff;border:2px solid var(--nav-black);padding:24px;margin-bottom:16px}.profile-section{background:#fff;padding:4px 0 0}.profile-header-content,.profile-header-main{display:flex;align-items:center;gap:20px}.profile-header-content{justify-content:space-between}.profile-avatar-large{width:96px;height:96px;flex-shrink:0;background:var(--nav-orange);color:#fff;border:2px solid var(--nav-black);display:flex;align-items:center;justify-content:center;font-weight:900;font-size:32px}.profile-info h2{font-size:24px;font-weight:900;letter-spacing:-.02em;margin:0 0 6px;color:var(--text-primary);overflow-wrap:anywhere}.profile-info p{margin:0;font-size:14px;color:var(--text-primary)}.profile-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:2px solid var(--nav-black)}.profile-section-header h3{font-size:20px;font-weight:900;letter-spacing:-.02em;margin:0;color:var(--text-primary)}.profile-edit-btn,.profile-save-btn,.profile-cancel-btn{padding:10px 20px;font-size:14px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;border:2px solid var(--nav-black);background:#fff;color:var(--nav-black);cursor:pointer;transition:background-color .12s ease}.profile-save-btn{background:var(--nav-orange);margin-right:10px}.profile-edit-btn:hover,.profile-save-btn:hover:not(:disabled){background:var(--nav-orange)}.profile-cancel-btn:hover:not(:disabled){background:#0b0b0d0d}.profile-save-btn:disabled,.profile-cancel-btn:disabled{opacity:.6;cursor:not-allowed}.profile-action-buttons{display:flex;gap:10px}.profile-error,.profile-success{margin-bottom:20px;padding:12px 16px;border:2px solid var(--nav-black);font-size:14px;font-weight:700}.profile-error{background:#fdecec;color:#b91c1c;border-color:#ef4444}.profile-success{background:#e9f9f0;color:#047857;border-color:var(--accent-green)}.profile-form{display:flex;flex-direction:column;gap:14px}.profile-field{display:flex;flex-direction:column;gap:8px}.profile-field label{font-size:13px;font-weight:900;color:var(--text-primary);text-transform:uppercase;letter-spacing:.05em}.profile-input{width:100%;padding:12px 16px;border:2px solid var(--nav-black);background:#fff;font-size:14px;color:var(--text-body);font-family:inherit}.profile-input:focus{outline:none;border-color:var(--nav-orange)}.profile-input--disabled{background:#f9fafb;color:var(--text-muted);cursor:not-allowed}.profile-field-hint{font-size:12px;color:var(--text-muted);margin:0}@media(max-width:900px){.profile-container{max-width:100%}.profile-header-content,.profile-section-header{flex-direction:column;align-items:flex-start;gap:16px}.profile-action-buttons{width:100%;flex-direction:column}.profile-save-btn{margin-right:0}}.settings-section{background:#fff;padding:22px;margin-bottom:24px;border:2px solid var(--nav-black)}.settings-section__title{font-size:20px;font-weight:900;letter-spacing:-.02em;color:#0f172a;margin:0 0 20px}.settings-account__grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.settings-account__card{border:2px solid var(--nav-black);background:#fff;padding:16px}.settings-account__card-title{font-size:15px;font-weight:900;letter-spacing:-.02em;margin:0 0 12px;padding-bottom:10px;border-bottom:2px solid var(--nav-black)}.settings-account__row{display:flex;justify-content:space-between;gap:10px;padding:8px;border-bottom:1px solid rgba(11,11,13,.15)}.settings-account__row:last-child{border-bottom:0}.settings-account__label{font-weight:800}.settings-account__value{text-align:right;overflow-wrap:anywhere}.settings-account__connection{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 4px;border-bottom:1px solid rgba(11,11,13,.15);margin-bottom:0}.settings-account__connection:last-of-type{border-bottom:0}.settings-account__connection-left{display:flex;align-items:center;gap:12px}.settings-account__provider-icon{width:34px;height:34px;object-fit:contain}.settings-account__connection-name{font-weight:900}.settings-account__connection-status{font-size:14px;display:inline-flex;align-items:center;gap:8px}.settings-account__status-icon{width:18px;height:18px;object-fit:contain}.settings-account__btn{border:2px solid var(--nav-black);background:#fff;color:#0f172a;padding:10px 18px;min-width:150px;text-align:center;cursor:pointer;font-weight:800;text-transform:uppercase;letter-spacing:.04em;transition:filter .12s ease}.settings-account__btn:hover:not(:disabled){filter:brightness(.93)}.settings-account__btn:disabled{opacity:.6;cursor:not-allowed}.settings-account__btn--connect{background:#16a34a;color:#fff}.settings-account__btn--danger{background:#dc2626;color:#fff}.settings-account__error,.settings-account__success{margin-bottom:12px;padding:12px;border:2px solid var(--nav-black);font-weight:800}.settings-account__error{background:#fdecec;color:#b91c1c;border-color:#ef4444}.settings-account__success{background:#e9f9f0;color:#047857;border-color:var(--accent-green)}.settings-account__hint{margin:0 0 12px;color:var(--text-secondary);font-size:14px}.settings-become-teacher__form{display:flex;align-items:center;gap:10px}.settings-become-teacher__input{flex:1;min-width:0;padding:10px 12px;border:2px solid var(--nav-black);background:#fff;font-weight:700}.settings-become-teacher__input:focus{outline:none;border-color:var(--nav-orange)}@media(max-width:768px){.settings-account__grid{grid-template-columns:1fr}.settings-become-teacher__form{flex-direction:column;align-items:stretch}}.app-select{position:relative;display:inline-block;-webkit-user-select:none;user-select:none}.app-select--block{display:block;width:100%}.app-select__control{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:10px 12px;border:2px solid var(--nav-black);border-radius:0;background:#fff;color:#0f172a;font:inherit;font-weight:800;cursor:pointer}.app-select__control:disabled{opacity:.6;cursor:not-allowed}.app-select__control:focus-visible{outline:none;border-color:var(--nav-orange)}.app-select__arrow{width:0;height:0;flex-shrink:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:6px solid var(--nav-orange)}.app-select__list{position:absolute;top:calc(100% - 2px);left:0;right:0;z-index:50;margin:0;padding:0;list-style:none;background:#fff;border:2px solid var(--nav-black);max-height:240px;overflow-y:auto}.app-select__option{display:block;width:100%;padding:10px 12px;border:none;background:#fff;color:#0f172a;font:inherit;font-weight:700;text-align:left;cursor:pointer}.app-select__option:hover{background:#f9731624}.app-select__option--active,.app-select__option--active:hover{background:var(--nav-orange);color:#0f172a}.help-tip{position:relative;display:inline-flex;margin-left:6px;vertical-align:middle}.help-tip__button{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;padding:0;border:1px solid #cbd5e1;border-radius:999px;background:#fff;color:#64748b;font-size:11px;font-weight:700;line-height:1;cursor:pointer}.help-tip__button:hover,.help-tip__button:focus-visible{border-color:#94a3b8;color:#334155;outline:none}.help-tip__bubble{position:absolute;top:calc(100% + 8px);left:0;z-index:50;width:max-content;max-width:340px;padding:10px 12px;background:#0f172a;color:#f8fafc;font-size:12.5px;font-weight:500;line-height:1.5;white-space:pre-line;border-radius:6px;box-shadow:0 8px 24px #02061747}.courses-list{display:flex;flex-direction:column;gap:20px;margin-top:32px}.courses-page--state{min-height:calc(100vh - 160px);display:flex;align-items:center;justify-content:center}.courses-state{width:min(100%,720px);margin:0 auto;padding:44px 34px;border:2px solid var(--nav-black);background:#fff;box-shadow:var(--shadow-sm);text-align:center;position:relative;overflow:hidden}.courses-state:before{content:"";position:absolute;top:0;left:0;right:0;height:8px;background:linear-gradient(90deg,#f97316,#fb923c 55%,#f59e0b)}.courses-state--error{background:#fff7ed}.courses-state__code{color:#f97316;font-size:76px;font-weight:900;line-height:1;margin-bottom:14px}.courses-state__title{margin:0 0 10px;color:#0f172a;font-size:24px;font-weight:900}.courses-state__text{max-width:520px;margin:0 auto;color:var(--text-secondary);font-size:15px;line-height:1.6}.courses-state__button{margin-top:20px;min-height:44px;border:2px solid var(--nav-black);background:linear-gradient(135deg,#f97316,#fb923c);color:#0f172a;font-size:14px;font-weight:900;padding:10px 18px;cursor:pointer}.courses-state__button:hover{background:linear-gradient(135deg,#fb923c,#fdba74)}.courses-filter-panel{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:14px;align-items:end;margin-top:28px;padding:18px;background:#fff;border:2px solid var(--nav-black);box-shadow:var(--shadow-sm)}.courses-filter-panel__field{display:flex;flex-direction:column;gap:8px;min-width:0}.courses-filter-panel__label{color:#0f172a;font-size:13px;font-weight:900}.courses-filter-panel__input{width:100%;min-height:44px;border:2px solid var(--nav-black);border-radius:0;background:#fff;color:#0f172a;font:inherit;font-size:14px;padding:10px 12px}.courses-filter-panel__input:focus{outline:none;box-shadow:0 0 0 4px #0b0b0d1a}.courses-filter-panel__reset{min-height:44px;border:2px solid var(--nav-black);border-radius:0;background:#fff;color:#0f172a;font-size:13px;font-weight:900;padding:10px 16px;cursor:pointer}.courses-filter-panel__reset:hover{background:#0b0b0d0d}.courses-filter-empty{margin-top:24px;color:var(--text-secondary);font-weight:700}.course-card{background-color:#fff;padding:0;border-radius:0;border:2px solid var(--nav-black);box-shadow:var(--shadow-sm);transition:border-color .12s ease,box-shadow .12s ease;animation:fadeInUp .5s ease-out both;position:relative;overflow:hidden;display:flex;flex-direction:row;min-height:200px;align-items:stretch}.course-card:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#f973161a,#fb923c1a);opacity:0;transition:opacity .14s ease;z-index:0;pointer-events:none}.course-card>*{position:relative;z-index:1}.course-card:hover{box-shadow:0 4px 14px #0b0b0d1f;border-color:var(--nav-black)}.course-card:hover:before{opacity:1}.course-card__content{flex:1;padding:24px;display:flex;flex-direction:column;background:linear-gradient(135deg,#f973161a,#fb923c1a)}.course-card__title{font-size:24px;font-weight:900;letter-spacing:-.02em;color:#0f172a;margin:0 0 8px}.course-card__title:hover,.course-card__title:focus,.course-card__title:active{color:#0f172a}.course-card__author{font-size:13px;color:#64748b;margin:0 0 12px;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.course-card__author:hover,.course-card__author:focus,.course-card__author:active{color:#64748b}.course-rating{display:inline-flex;align-items:center;gap:10px;color:#0f172a;font-weight:800}.course-rating__stars{color:#f59e0b;letter-spacing:0;white-space:nowrap;display:inline-flex;align-items:center;gap:2px;line-height:1}.course-rating__star{position:relative;display:inline-block;width:1em;height:1em}.course-rating__star-base,.course-rating__star-fill{position:absolute;inset:0;display:block;line-height:1}.course-rating__star-base{color:#cbd5e1}.course-rating__star-fill{color:#f59e0b;overflow:hidden}.course-rating__text{color:#475569;font-size:15px;font-weight:900}.course-rating--card{margin-bottom:14px;font-size:22px}.course-rating--detail{margin-top:14px;font-size:28px}.course-rating--detail .course-rating__text{font-size:18px}.course-rating--message{margin-top:8px;font-size:20px}.course-rating--message .course-rating__text{font-size:14px}.course-card__completed-badge{align-self:flex-start;display:inline-block;margin:0 0 12px;padding:4px 12px;border:2px solid var(--accent-green);background:#e9f9f0;color:#047857;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.course-card__description{font-size:15px;color:#475569;margin:0 0 20px;line-height:1.7;flex:1}.course-card__description:hover,.course-card__description:focus,.course-card__description:active{color:#475569}.course-card__footer{display:flex;justify-content:flex-end;margin-top:auto;padding-top:16px;border-top:1px solid var(--border-light)}.course-detail-back{margin-bottom:20px}.course-detail-back-btn{background-color:var(--bg-secondary);color:var(--text-primary);border:2px solid var(--nav-black);padding:12px 24px;font-size:14px;font-weight:600;cursor:pointer;transition:background-color .12s ease,color .12s ease,box-shadow .12s ease;display:inline-flex;align-items:center;gap:8px}.course-detail-back-btn:hover{background-color:#f59e0b;color:#fff;box-shadow:0 0 0 1px var(--nav-black)}.course-detail-header,.course-content,.course-reviews{background-color:#fff;padding:32px;margin-bottom:20px;border-radius:0;border:2px solid var(--nav-black);box-shadow:var(--shadow-md);transition:box-shadow .12s ease;animation:fadeInUp .5s ease-out both}.course-detail-hero{display:flex;align-items:flex-start;gap:28px}.course-detail-hero__content{flex:1;min-width:0}.course-detail-description{width:100%;margin:0;color:#334155;font-size:15px;line-height:1.7}.course-detail-hero+.course-detail-description{margin-top:20px}.course-detail-actions{margin-top:24px;display:flex;gap:12px;flex-wrap:wrap}.section-title{font-size:24px;font-weight:900;letter-spacing:-.02em;color:#0f172a;margin:0 0 20px;padding-bottom:12px;border-bottom:2px solid var(--nav-black)}.section-title:hover,.section-title:focus,.section-title:active{color:#0f172a}.course-content .section-title{border-bottom:none;padding-bottom:0}.module-list{list-style:none;counter-reset:module-counter;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}.module-item{counter-increment:module-counter;padding:14px 4px;background-color:transparent;border-radius:0;border:none;transition:background-color .12s ease;position:relative;animation:fadeInUp .5s ease-out both}.module-item:nth-child(1){animation-delay:.1s}.module-item:nth-child(2){animation-delay:.2s}.module-item:nth-child(3){animation-delay:.3s}.module-item:nth-child(4){animation-delay:.4s}.module-item:nth-child(5){animation-delay:.5s}.module-item:before{content:counter(module-counter) ".";position:absolute;left:0;top:14px;font-weight:900;font-size:18px;color:var(--nav-black)}.module-item strong{display:block;font-size:16px;font-weight:700;color:#0f172a;margin-left:28px;margin-bottom:12px}.module-item strong:hover,.module-item strong:focus,.module-item strong:active{color:#0f172a}.module-item:hover{background:linear-gradient(135deg,#f973160d,#fb923c0d)}.topic-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.topic-item{padding:10px 14px;background:#0b0b0d08;border:1px solid rgba(11,11,13,.1);border-radius:0;font-size:14px;color:var(--text-secondary);transition:border-color .14s ease,background-color .14s ease;display:flex;align-items:center;gap:8px}.topic-item__timed-badge{display:inline-block;font-size:13px;color:#f59e0b;font-weight:700;margin-left:auto}.topic-item:hover{border-color:var(--nav-black);background:#0b0b0d0d}.course-reviews__header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.course-reviews__header .section-title{flex:1}.course-reviews .section-title{border-bottom:none;padding-bottom:0}.course-review-form{display:flex;flex-direction:column;gap:12px;padding:4px 0 22px;border:none;border-bottom:1px solid var(--border-light);background:transparent;margin-bottom:22px}.course-review-form__label{color:#0f172a;font-size:14px;font-weight:800}.course-review-stars{display:flex;gap:2px}.course-review-stars__button{width:32px;height:32px;border:none;background:transparent;color:#94a3b8;cursor:pointer;font-size:26px;line-height:1;padding:0;transition:color .12s ease}.course-review-stars__button:hover,.course-review-stars__button.is-active{color:#f59e0b}.course-review-form__textarea{width:100%;resize:vertical;min-height:110px;border:2px solid var(--nav-black);background:#fff;color:#0f172a;padding:12px 14px;font:inherit;line-height:1.5}.course-review-form__textarea:focus{outline:none;box-shadow:0 0 0 3px #f59e0b47}.course-review-form__footer{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.course-review-form__message{font-size:14px;font-weight:700}.course-review-form__message--error{color:#dc2626}.course-review-form__message--success{color:#15803d}.course-review-thread{display:flex;flex-direction:column;gap:12px}.course-review-thread__empty{color:#64748b;margin:0}.course-review-message{border:1px solid var(--border-light);border-left:4px solid #f59e0b;background:#0b0b0d04;padding:16px}.course-review-message__meta{display:flex;justify-content:space-between;gap:12px;color:#0f172a;font-size:14px}.course-review-message__meta span{color:#64748b;font-size:13px;font-weight:700}.course-review-message__comment{color:#475569;margin:10px 0 0;line-height:1.6;white-space:pre-wrap}.course-review-message__comment--empty{color:#94a3b8;font-style:italic}@media(max-width:768px){.course-card{flex-direction:column}.courses-filter-panel{grid-template-columns:1fr}.courses-page--state{min-height:calc(100vh - 120px)}.courses-state{padding:38px 22px}.courses-state__code{font-size:58px}.course-detail-header,.course-content,.course-reviews{padding:24px 20px}.course-detail-hero,.course-reviews__header,.course-review-message__meta{flex-direction:column}}.playground-page{display:flex;flex-direction:column}.playground{display:flex;flex-direction:column;gap:14px;flex:1;min-height:0}.playground__toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.playground__title{font-size:28px;font-weight:900;letter-spacing:-.02em;color:#0f172a;margin:0}.playground__controls{display:flex;align-items:stretch;gap:12px}.playground__controls .app-select{display:flex;width:150px}.playground__controls .app-select__control{height:100%;width:100%;padding:10px 16px;font-size:14px}.playground__run-btn{padding:10px 28px;border:2px solid var(--nav-black);border-radius:0;background:linear-gradient(135deg,#f97316,#fb923c);color:var(--nav-black);font-size:14px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;cursor:pointer;transition:background .12s ease;box-shadow:var(--shadow-sm)}.playground__run-btn:hover:not(:disabled){background:linear-gradient(135deg,#fb923c,#fdba74)}.playground__run-btn:disabled{opacity:.6;cursor:not-allowed}.playground__editor{flex:1;width:100%;min-height:240px;resize:vertical;padding:14px 16px;border:2px solid var(--nav-black);border-radius:0;background:#f6f7f9;color:#334155;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:13.5px;line-height:1.55;tab-size:4}.playground__editor:focus{outline:none;box-shadow:inset 0 0 0 2px #f9731659}.playground__error{padding:12px;border:2px solid #ef4444;background:#fdecec;color:#b91c1c;font-weight:800}.playground__output{border:2px solid var(--nav-black);background:#fff}.playground__output-head{padding:6px 12px;border-bottom:2px solid var(--nav-black);background:#eef0f3;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;display:flex;align-items:center;gap:10px}.playground__output-head--err{border-top:2px solid var(--nav-black);border-bottom:0;background:#fdecec;color:#b91c1c}.playground__badge{color:#b91c1c}.playground__exit{color:var(--text-muted)}.playground__stream{margin:0;padding:12px 16px;white-space:pre-wrap;word-break:break-word;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:13px;line-height:1.5;color:#334155}.playground__stream--err{color:#b91c1c}.learning-empty{text-align:center;padding:64px 32px;background-color:#fff;border-radius:0;border:2px solid var(--nav-black);box-shadow:var(--shadow-sm);animation:fadeInUp .5s ease-out both}.learning-empty__title{font-size:24px;font-weight:900;letter-spacing:-.02em;color:var(--text-primary);margin:0 0 12px}.learning-empty__text{font-size:16px;color:var(--text-secondary);margin-bottom:24px;line-height:1.6}.learning-course-header{background-color:#fff;padding:32px;border-radius:0;border:2px solid var(--nav-black);box-shadow:var(--shadow-sm);margin-bottom:24px;transition:box-shadow .12s ease;animation:fadeInUp .5s ease-out both}.learning-course-header:hover{box-shadow:0 4px 14px #0b0b0d1f}.learning-back-link{display:inline-flex;align-items:center;gap:6px;padding:10px 16px;margin-bottom:20px;border-radius:0;border:2px solid var(--nav-black);background:#fff;font-size:14px;font-weight:700;color:var(--nav-black);transition:background-color .12s ease;cursor:pointer}.learning-back-link:hover{background:linear-gradient(135deg,#f97316,#fb923c)}.learning-back-link:hover,.learning-back-link:focus,.learning-back-link:active{color:var(--nav-black)}.learning-course-description{margin-top:16px;font-size:15px;color:var(--text-secondary);line-height:1.7}.learning-course-description__link{color:#0f172a;font-weight:900}.learning-course-description__link:hover{color:#0f172a;text-decoration:underline}.learning-course-progress{margin-top:24px;padding:20px;background-color:#0b0b0d05;border-radius:0;border:1px solid var(--border-light)}.learning-course-progress__info{display:flex;flex-wrap:wrap;gap:8px;align-items:baseline;justify-content:space-between;margin-bottom:12px}.learning-course-progress__label{font-size:14px;font-weight:900;color:var(--text-primary)}.learning-course-progress__value{font-size:14px;color:var(--text-secondary);font-weight:600}.learning-course-progress__percent{font-size:14px;font-weight:900;color:#f97316}.learning-progress-bar{margin-top:12px;width:100%;height:12px;background-color:var(--border-light);border-radius:0;overflow:hidden;border:1px solid var(--nav-black)}.learning-progress-bar__fill{height:100%;background:linear-gradient(90deg,#f97316,#fb923c 55%,#f59e0b);transition:width .4s ease-out;border-radius:0}.learning-modules{margin-top:24px;display:flex;flex-direction:column;gap:16px}.learning-module{background-color:#fff;border-radius:0;border:2px solid var(--nav-black);box-shadow:var(--shadow-sm);overflow:hidden;transition:box-shadow .12s ease;animation:fadeInUp .5s ease-out both}.learning-module:nth-child(1){animation-delay:.1s}.learning-module:nth-child(2){animation-delay:.2s}.learning-module:nth-child(3){animation-delay:.3s}.learning-module:nth-child(4){animation-delay:.4s}.learning-module:nth-child(5){animation-delay:.5s}.learning-module:hover{box-shadow:0 4px 14px #0b0b0d1f}.learning-module__header{width:100%;padding:20px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer;background:#fff;border:none;transition:background-color var(--transition-speed)}.learning-module__header-left{flex:1;min-width:0;text-align:left}.learning-module__header:hover{background:#0b0b0d05}.learning-module__title{font-size:17px;font-weight:700;color:#0f172a;letter-spacing:-.01em}.learning-module__title:hover,.learning-module__title:focus,.learning-module__title:active{color:#0f172a}.learning-module__meta{font-size:13px;color:var(--text-muted);margin-top:4px;display:block;font-weight:600;white-space:nowrap}.learning-module__chevron{display:inline-flex;align-items:center;justify-content:center;color:#0f172a;font-size:26px;line-height:1;font-weight:900;flex-shrink:0;min-width:20px}.learning-module__chevron.open{color:#0f172a}.learning-topic-list{list-style:none;padding:0 24px 20px;margin:0;border-top:1px solid var(--border-light)}.learning-topic-wrapper{max-height:0;overflow:hidden;opacity:0;transition:max-height .35s ease,opacity .2s ease}.learning-topic-wrapper--open{opacity:1}.learning-topic{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 0;cursor:pointer;border:1px solid transparent;border-radius:0;transition:background-color .12s ease,border-color .12s ease;margin-bottom:8px}.learning-topic:hover{background:#0b0b0d05;border-color:var(--nav-black)}.learning-topic__title{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:15px;padding-left:8px;color:#0f172a;font-weight:600}.learning-topic__title:hover,.learning-topic__title:focus,.learning-topic__title:active{color:#0f172a}.learning-topic__status{display:grid;grid-template-columns:108px 52px;align-items:center;justify-content:end;column-gap:10px;min-width:140px;font-size:12px;padding-right:8px}.learning-topic__status-pill{width:100%;min-height:28px;padding:4px 10px;border-radius:0;display:inline-flex;align-items:center;justify-content:center;text-align:center;font-weight:700;font-size:11px;border:1px solid var(--nav-black);background:#fff;color:var(--text-secondary);box-sizing:border-box}.learning-topic--in_progress .learning-topic__status-pill{background:#e0f2fe;border-color:#0284c7;color:#0c4a6e}.learning-topic--completed .learning-topic__status-pill{background:#d1fae5;border-color:#10b981;color:#064e3b}.learning-topic--failed .learning-topic__status-pill{background:#fee2e2;border-color:#ef4444;color:#991b1b}.learning-topic__score{font-weight:700;color:#0f172a;font-size:13px;min-width:52px;text-align:right}.learning-topic__score:hover,.learning-topic__score:focus,.learning-topic__score:active{color:#0f172a}.learning-topic__timed-badge{display:inline-flex;align-items:center;padding:2px 8px;border:1px solid #f59e0b;background:#fff7ed;color:#b45309;font-size:10px;line-height:1.2;font-weight:800;letter-spacing:.05em}.topic-meta__timed-badge{display:inline-block;margin-left:12px;padding:4px 10px;border-radius:0;border:1px solid #f59e0b;background:#fff7ed;color:#f59e0b;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.topic-page-header{margin-bottom:24px}.topic-page-header__row{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.topic-page-header__back-results{margin-left:auto;margin-bottom:0}.topic-page-header__title{text-align:center}.topic-meta{font-size:13px;color:var(--text-muted);margin-bottom:8px;font-weight:600}.topic-section-title{font-size:20px;font-weight:900;color:#0f172a;margin:0 0 12px;letter-spacing:-.02em}.topic-section-title:hover,.topic-section-title:focus,.topic-section-title:active{color:#0f172a}.topic-theory{background-color:#fff;padding:24px;border-radius:0;border:2px solid var(--nav-black);box-shadow:var(--shadow-sm);margin-bottom:24px;animation:fadeInUp .5s ease-out both}.topic-practice{background-color:transparent;padding:0;border-radius:0;border:none;box-shadow:none;margin-bottom:24px;animation:fadeInUp .5s ease-out both}.topic-theory__content{margin-top:16px;font-size:18px;line-height:1.85;color:var(--text-secondary)}.topic-theory__text-block{white-space:pre-line}.topic-theory__text-block+.topic-theory__text-block,.topic-theory__text-block+.topic-theory__code-block,.topic-theory__code-block+.topic-theory__text-block{margin-top:18px}.topic-theory__code-block{margin:12px 0;overflow:hidden;border:1px solid #e2e8f0;border-radius:6px;background:#f6f7f9;color:#334155;box-shadow:none}.topic-theory__code-block figcaption{display:flex;align-items:center;gap:10px;min-height:26px;padding:4px 12px;border-bottom:1px solid #e7eaef;background:#eef0f3;color:#94a3b8;font-size:11px;font-weight:700;text-transform:none}.topic-theory__code-window-dots{display:inline-flex;gap:6px}.topic-theory__code-window-dots span{width:9px;height:9px;border-radius:999px;box-shadow:inset 0 0 0 1px #0f172a14}.topic-theory__code-window-dots span:nth-child(1){background:#f0a8a4}.topic-theory__code-window-dots span:nth-child(2){background:#f3d29b}.topic-theory__code-window-dots span:nth-child(3){background:#a9dcb6}.topic-theory__code-block pre{margin:0;padding:8px 0;overflow-x:auto;white-space:pre}.topic-theory__code-block code{display:block;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:13.5px;line-height:1.55;tab-size:2}.topic-theory__code-line{display:grid;grid-template-columns:2.6em 1fr;align-items:start}.topic-theory__code-line:hover{background:#0f172a09}.topic-theory__code-ln{-webkit-user-select:none;user-select:none;text-align:right;padding-right:12px;color:#b6bdc9;font-variant-numeric:tabular-nums}.topic-theory__code-content{padding-right:16px;white-space:pre}.topic-theory__code-token--keyword{color:#7c3aed}.topic-theory__code-token--string{color:#047857}.topic-theory__code-token--number{color:#b45309}.topic-theory__code-token--comment{color:#6b7280;font-style:italic}.topic-practice__primary-btn{padding:12px 24px;border-radius:0;border:2px solid var(--accent-green);background:linear-gradient(135deg,#0ea371,#2ecf8a);color:#fff;font-size:14px;font-weight:900;transition:background-color .12s ease,box-shadow .12s ease;cursor:pointer;box-shadow:var(--shadow-sm)}.topic-practice__primary-btn:hover:not(:disabled){background:linear-gradient(135deg,#0ea371,#2ecf8a);box-shadow:0 4px 12px #10b98129}.topic-theory__actions{display:flex;justify-content:center;margin-top:24px}.topic-theory__practice-btn{width:100%;max-width:520px;padding:14px 28px;border-radius:0;border:2px solid var(--accent-green);background:#e9f9f0;color:#0f172a;font-size:15px;font-weight:800;text-align:center;transition:background-color .12s ease,box-shadow .12s ease;cursor:pointer;box-shadow:var(--shadow-sm)}.topic-theory__practice-btn:hover{background:#d6f4e6;box-shadow:0 4px 12px #10b98129}.practice-timer{min-width:120px;padding:12px 20px;border-radius:0;border:2px solid var(--nav-black);background:linear-gradient(135deg,#f97316,#fb923c);color:#0f172a;font-weight:900;font-size:16px;letter-spacing:.05em;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #00000026;transition:background-color .3s ease,border-color .3s ease,transform .2s ease}.practice-timer--safe{background:linear-gradient(135deg,#f97316,#fb923c);border-color:var(--nav-black);color:#0f172a}.practice-timer--warning{background:linear-gradient(135deg,#f97316,#fbbf24);border-color:var(--nav-black);color:#0f172a;animation:pulse-warning 1s ease-in-out infinite}.practice-timer--danger{background:linear-gradient(135deg,#f97316,#fb923c);border-color:var(--nav-black);color:#0f172a;animation:pulse-danger .8s ease-in-out infinite}@keyframes pulse-warning{0%,to{box-shadow:0 2px 8px #f59e0b4d}50%{box-shadow:0 4px 16px #f59e0b80;transform:scale(1.02)}}@keyframes pulse-danger{0%,to{box-shadow:0 2px 8px #dc262666}50%{box-shadow:0 4px 20px #dc262699;transform:scale(1.03)}}.topic-practice__option-button{width:100%;text-align:left;border-radius:0;border:1px solid var(--border-light);padding:14px 16px;background-color:#fff;display:flex;align-items:center;gap:12px;transition:background-color .12s ease,border-color .12s ease;cursor:pointer;margin-bottom:8px;color:var(--text-primary)}.topic-practice__option-button:hover{background:#0b0b0d05;border-color:var(--nav-black)}.topic-practice__option-button--selected{background:#fff7ed;border-color:#f97316;color:#0f172a;font-weight:700}.topic-practice__option-button--selected:hover{background:#ffedd5;border-color:#ea580c}.topic-practice__secondary-btn{padding:10px 20px;border-radius:0;border:2px solid var(--nav-black);background-color:#fff;font-size:14px;font-weight:700;color:var(--text-primary);transition:background-color .12s ease;cursor:pointer}.topic-practice__secondary-btn:hover:not(:disabled){background:#0b0b0d0d}.topic-practice__secondary-btn:hover,.topic-practice__secondary-btn:focus,.topic-practice__secondary-btn:active{color:var(--text-primary)}.topic-practice__feedback{padding:12px 16px;border-radius:0;font-weight:700;font-size:14px;margin-bottom:16px;border:2px solid}.topic-practice__feedback--success{background:#d1fae5;border-color:#10b981;color:#064e3b}.topic-practice__feedback--fail,.topic-practice__feedback--error{background:#fee2e2;border-color:#ef4444;color:#991b1b}.topic-practice__feedback--neutral{background:#f3f4f6;border-color:#9ca3af;color:#1f2937}.topic-practice__verdict{display:block;width:fit-content;margin:12px auto 2px;padding:5px 18px;border-radius:0;border:2px solid;font-size:14px;font-weight:800;line-height:1.5;text-align:center;-webkit-user-select:none;user-select:none}.topic-practice__verdict--ok{background:#e9f9f0;border-color:#10b981;color:#047857}.topic-practice__verdict--bad{background:#fdecec;border-color:#ef4444;color:#b91c1c}.topic-practice__completed-block{padding:12px 0 8px;border-radius:0;border:0;background:transparent;margin-bottom:24px}.topic-practice__completed{max-width:520px;margin:0 auto 18px;color:var(--text-secondary);font-size:21px;font-weight:700;text-align:center}.topic-practice__completed--passed{color:#047857}.topic-practice__completed--failed{padding:10px 16px;border:1px solid #fca5a5;background:#fff1f2;color:#0f172a}.topic-practice__completed--timeout{color:#b91c1c}.topic-practice__subtitle{font-size:15px;color:var(--text-secondary);margin:0 0 20px;line-height:1.6}.practice-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;flex-wrap:wrap;margin:24px 0 18px;border-top:1px solid rgba(11,11,13,.14);border-bottom:1px solid rgba(11,11,13,.14)}.practice-summary--timed{grid-template-columns:repeat(3,minmax(0,1fr))}.practice-summary__item{min-width:120px;padding:18px 20px;border-radius:0;border:0;border-right:1px solid rgba(11,11,13,.14);background:transparent;text-align:left}.practice-summary__item:last-child{border-right:0}.practice-summary__label{font-size:13px;font-weight:600;color:var(--text-muted);margin-bottom:8px;text-transform:uppercase;letter-spacing:.05em}.practice-summary__value{font-size:24px;font-weight:900;color:#0f172a}.practice-community-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:0 0 18px;border-top:1px solid rgba(11,11,13,.14);border-bottom:1px solid rgba(11,11,13,.14)}.practice-community-stats__title{grid-column:1 / -1;margin:0;padding:12px 16px;border-bottom:1px solid rgba(11,11,13,.14);color:#0f172a;font-size:14px;font-weight:900;text-align:center}.practice-community-stats__item{display:flex;flex-direction:column;gap:6px;min-width:0;padding:16px 20px;border-right:1px solid rgba(11,11,13,.14)}.practice-community-stats__item:last-child{border-right:0}.practice-community-stats__item span{color:var(--text-muted);font-size:12px;font-weight:800;letter-spacing:.05em;line-height:1.3;text-transform:uppercase}.practice-community-stats__item strong{color:#0f172a;font-size:20px;font-weight:900;line-height:1.2}.topic-practice__completed-actions{margin-top:10px}.topic-practice__question-card{padding:24px;border-radius:0;border:2px solid var(--nav-black);background:#fff;margin-bottom:24px;animation:fadeInUp .5s ease-out both}.topic-practice__question-header{display:flex;align-items:baseline;gap:12px;margin-bottom:20px;flex-wrap:nowrap;flex-direction:row-reverse}.topic-practice__question-meta{display:flex;justify-content:flex-end;align-items:flex-start;margin-bottom:8px;font-size:13px;font-weight:600;color:var(--text-muted)}.topic-practice__question-index{color:var(--text-muted)}.topic-practice__type{padding:4px 10px;border-radius:0;border:1px solid var(--border-light);background:#0b0b0d05;color:#0f172a;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;flex-shrink:0;white-space:nowrap}.topic-practice__question-text{font-size:18px;font-weight:700;color:#0f172a;margin:0;line-height:1.6;flex:1;min-width:0}.topic-practice__options{list-style:none;padding:0;margin:0 0 20px}.topic-practice__code-area{margin:0 0 20px}.topic-practice__code-label,.topic-practice__code-output-label{display:block;color:#0f172a;font-size:13px;font-weight:900;margin-bottom:8px}.topic-practice__code-editor{width:100%;min-height:260px;resize:vertical;padding:14px 16px;border:0;border-radius:0;background:#f6f7f9;color:#334155;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:14px;line-height:1.65;tab-size:2;box-sizing:border-box}.topic-practice__code-editor:focus{outline:none;box-shadow:inset 0 0 0 2px #f9731659}.topic-practice__code-editor:disabled{opacity:.72;cursor:not-allowed}.topic-practice__code-editor-window{overflow:hidden;border:2px solid var(--nav-black);border-radius:0;background:#fff;color:#0f172a}.topic-practice__code-editor-titlebar{display:flex;align-items:center;gap:12px;min-height:34px;padding:7px 13px;border-bottom:2px solid var(--nav-black);background:#eef0f3;color:#0f172a;font-size:12px;font-weight:800;text-transform:none}.topic-practice__code-output{display:grid;gap:12px;margin-top:14px}.topic-practice__code-output--history{margin:0 0 18px}.topic-practice__code-output-box{min-height:52px;max-height:260px;overflow:auto;margin:0;padding:12px 14px;border:2px solid var(--nav-black);background:#f8fafc;color:#0f172a;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:13px;line-height:1.55;white-space:pre-wrap}.topic-practice__code-output-box--error{background:#fef2f2;color:#991b1b;border-color:#ef4444}.topic-practice__code-output-box--muted{background:#e9edf2;color:#334155;border-color:#cbd5e1}.topic-practice__option-indicator{width:14px;height:14px;border-radius:999px;border:2px solid #0f172a;background:transparent;flex-shrink:0}.topic-practice__option-indicator--selected{border-color:#f97316;background:#f97316}.topic-practice__option-indicator--selected-history,.topic-practice__option-indicator--correct{border-color:#0f172a;background:#0f172a}.topic-practice__option-text{flex:1;font-size:15px;line-height:1.6}.topic-practice__option-button_history{cursor:default;position:relative}.topic-practice__option-button--success{background:#d1fae5!important;border-color:#10b981!important}.topic-practice__option-button--fail{background:#fff7ed!important;border-color:#f97316!important}.topic-practice__option-button--selected-history{background:#fff7ed!important;border-color:#f97316!important;border-width:2px}.topic-practice__option-correct-label{margin-left:auto;padding:4px 10px;border-radius:0;font-size:11px;font-weight:700;background:#10b981;color:#fff;text-transform:uppercase;letter-spacing:.05em}.topic-practice__history{margin-top:24px}.topic-practice__history-list{display:flex;flex-direction:column;gap:24px}.topic-practice__question-card--readonly{opacity:1}.topic-practice__empty{text-align:center;padding:32px;color:var(--text-muted);font-size:14px}.topic-practice__buttons-row{display:flex;gap:12px;flex-wrap:wrap}.topic-practice__hint-toggle{min-height:43px;padding:10px 20px;border-radius:0;border:2px solid var(--nav-black);background:#fff7ed;color:#0f172a;display:inline-flex;align-items:center;gap:9px;font-size:14px;font-weight:700;cursor:pointer;transition:background-color .12s ease}.topic-practice__hint-toggle:hover:not(:disabled){background:#0b0b0d0d}.topic-practice__hint-toggle[aria-expanded=true]{background:#f97316;color:#0f172a}.topic-practice__hint-toggle[aria-expanded=true]:hover,.topic-practice__hint-toggle[aria-expanded=true]:focus,.topic-practice__hint-toggle[aria-expanded=true]:active{background:#f97316;color:#0f172a}.topic-practice__hint-toggle:disabled{cursor:not-allowed;opacity:.65}.topic-practice__hint-icon{position:relative;width:16px;height:18px;flex:0 0 16px}.topic-practice__hint-icon:before{content:"";position:absolute;top:1px;left:2px;width:12px;height:12px;border:2px solid currentColor;border-radius:999px;background:#ffffff59;box-sizing:border-box}.topic-practice__hint-icon:after{content:"";position:absolute;left:5px;bottom:0;width:6px;height:6px;border-top:2px solid currentColor;border-bottom:2px solid currentColor;box-sizing:border-box}.topic-practice__hint-panel{margin-top:12px;padding:16px;border:2px solid var(--nav-black);background:#f973160a}.topic-practice__hint-card{margin:0 0 14px;padding:14px 16px;border:2px solid var(--nav-black);border-left:6px solid #f97316;background:#fff7ed}.topic-practice__hint-text{margin:0;color:#0f172a;font-size:14px;line-height:1.7;white-space:pre-line}.topic-practice__hint-meta{margin-top:10px;color:#0f172a;font-size:12px;font-weight:700}.topic-practice__hint-next{margin-top:10px;padding:8px 12px;font-size:12px}.topic-practice__hint-next:hover{text-decoration:none}.topic-practice__hint-end,.topic-practice__hint-locked{margin:10px 0 0;color:var(--text-muted);font-size:12px;font-weight:800}.topic-practice__hint-empty,.topic-practice__hint-error{margin:0 0 14px;font-size:13px;font-weight:700}.topic-practice__hint-empty{color:var(--text-muted)}.topic-practice__hint-error{color:#991b1b}.topic-practice__hint-form{display:flex;align-items:flex-start;gap:10px}.topic-practice__hint-input{flex:1;height:64px;min-height:64px;max-height:64px;resize:none;padding:10px 12px;border:2px solid var(--nav-black);border-radius:0;background:#fff;color:var(--text-primary);font:inherit;font-size:14px;line-height:1.5}.topic-practice__hint-submit{flex-shrink:0}.topic-practice__history-btn{background:linear-gradient(135deg,#f97316,#fb923c);border-color:var(--nav-black);color:#0f172a}.topic-practice__history-btn:hover:not(:disabled){background:linear-gradient(135deg,#fb923c,#fdba74);color:#0f172a}@keyframes fadeInUp{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.topic-theory{padding:20px}.learning-course-header{padding:24px 20px}.practice-summary,.practice-community-stats{grid-template-columns:1fr}.practice-summary__item,.practice-community-stats__item{border-right:0;border-bottom:1px solid rgba(11,11,13,.14);padding:14px 0}.practice-summary__item:last-child,.practice-community-stats__item:last-child{border-bottom:0}.topic-practice__hint-form{flex-direction:column}.topic-practice__hint-input,.topic-practice__hint-submit{width:100%}}.course-review-modal-overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px;background:#0b0b0d8c;overflow-y:auto}.course-review-modal{width:100%;max-width:560px;background:#fff;border:2px solid var(--nav-black);padding:28px}.course-review-modal__title{margin:0 0 6px;font-size:24px;font-weight:900;letter-spacing:-.02em;color:#0f172a}.course-review-modal__subtitle{margin:0 0 20px;font-size:14px;color:var(--text-muted)}.course-review-modal__question{margin-bottom:18px;display:flex;flex-direction:column;gap:8px}.course-review-modal__label{font-size:14px;font-weight:800;color:#0f172a}.course-review-modal__stars{display:flex;gap:6px}.course-review-modal__star{border:none;background:none;padding:0;font-size:28px;line-height:1;color:#cbd5e1;cursor:pointer}.course-review-modal__star--on{color:var(--nav-orange)}.course-review-modal__textarea{width:100%;padding:12px 14px;border:2px solid var(--nav-black);background:#fff;font-family:inherit;font-size:14px;color:var(--text-body);resize:vertical}.course-review-modal__textarea:focus{outline:none;border-color:var(--nav-orange)}.course-review-modal__error{margin:0 0 14px;padding:10px 14px;border:2px solid #ef4444;background:#fdecec;color:#b91c1c;font-size:14px;font-weight:700}.course-review-modal__submit{width:100%;padding:12px 20px;border:2px solid var(--nav-black);background:var(--nav-orange);color:var(--nav-black);font-size:14px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;cursor:pointer;transition:background-color .12s ease}.course-review-modal__submit:disabled{opacity:.6;cursor:not-allowed}.teacher-courses-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px;flex-wrap:wrap;gap:16px}.teacher-create-btn{padding:12px 24px;border-radius:0;border:2px solid var(--nav-black);background:linear-gradient(135deg,#f97316,#fb923c);color:var(--nav-black);font-size:14px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;cursor:pointer;transition:background .12s ease}.teacher-create-btn:hover:not(:disabled){background:linear-gradient(135deg,#fb923c,#fdba74)}.teacher-empty{text-align:center;padding:64px 32px;background-color:#fff;border-radius:0;border:2px solid var(--nav-black)}.teacher-empty p{font-size:16px;color:var(--text-secondary);margin-bottom:24px}.teacher-courses-grid-wrapper{position:relative}.teacher-courses-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px;position:relative}.teacher-course-card{position:relative;background-color:#fff;padding:18px 18px 16px;border-radius:0;border:2px solid var(--nav-black);display:flex;flex-direction:column;gap:14px}.teacher-course-card__body{display:flex;flex-direction:column;gap:8px}.teacher-course-card__title{font-size:17px;font-weight:900;color:#0f172a;margin:0;letter-spacing:-.02em;line-height:1.3;overflow-wrap:anywhere}.teacher-course-card__meta{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-muted);font-weight:600}.teacher-course-card__actions{display:flex;gap:10px}.teacher-course-card__actions .teacher-card-btn{flex:1}.teacher-card-btn{padding:10px 16px;border:2px solid var(--nav-black);border-radius:0;font-size:13px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;cursor:pointer;transition:background .12s ease}.teacher-card-btn--edit{color:var(--nav-black);background:linear-gradient(135deg,#f97316,#fb923c)}.teacher-card-btn--edit:hover{background:linear-gradient(135deg,#fb923c,#fdba74)}.teacher-card-btn--delete{color:#b91c1c;background:#fdecec;border-color:#ef4444}.teacher-card-btn--delete:hover{background:#fbdada}.teacher-error-inline{color:#dc2626;font-weight:600}.teacher-delete-modal-overlay{position:fixed;inset:0;background:#0b0b0d66;display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px;animation:teacher-modal-fade .2s ease}@keyframes teacher-modal-fade{0%{opacity:0}to{opacity:1}}.teacher-delete-modal{background:#fff;border:2px solid var(--nav-black);padding:24px;max-width:360px;width:100%;animation:teacher-modal-in .2s ease}@keyframes teacher-modal-in{0%{opacity:0;transform:scale(.96) translateY(-8px)}to{opacity:1;transform:scale(1) translateY(0)}}.teacher-delete-modal__title{font-size:16px;font-weight:900;color:#0f172a;margin:0 0 20px;line-height:1.4}.teacher-delete-modal__actions{display:flex;gap:12px;justify-content:flex-end}.teacher-delete-modal__btn{padding:10px 20px;border:2px solid var(--nav-black);font-size:14px;font-weight:700;cursor:pointer;transition:background-color .12s ease}.teacher-delete-modal__btn:disabled{opacity:.6;cursor:not-allowed}.teacher-delete-modal__btn--cancel{background:#fff;color:#0f172a}.teacher-delete-modal__btn--cancel:hover:not(:disabled){background:#0b0b0d0d}.teacher-delete-modal__btn--confirm{background:#fdecec;color:#b91c1c;border-color:#ef4444}.teacher-delete-modal__btn--confirm:hover:not(:disabled){background:#fbdada}.teacher-course-edit-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px;flex-wrap:wrap;gap:16px;padding-bottom:20px;border-bottom:1px solid var(--border-light)}.teacher-course-edit-back{margin:0}.teacher-course-edit-title{font-size:32px;font-weight:900;letter-spacing:-.02em;color:#0f172a;margin:0}.teacher-course-edit-footer{margin-top:40px;padding-top:32px;border-top:1px solid var(--border-light)}.teacher-course-edit-actions{display:flex;gap:12px;justify-content:flex-end}.teacher-save-btn{padding:12px 24px;border-radius:0;border:2px solid var(--nav-black);background:linear-gradient(135deg,#f97316,#fb923c);color:var(--nav-black);font-size:14px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;cursor:pointer;transition:background .12s ease}.teacher-save-btn:hover:not(:disabled){background:linear-gradient(135deg,#fb923c,#fdba74)}.teacher-save-btn:disabled{opacity:.6;cursor:not-allowed}.teacher-cancel-btn{padding:12px 24px;border-radius:0;border:2px solid var(--nav-black);background:#fff;color:#0f172a;font-size:14px;font-weight:900;cursor:pointer;transition:background-color .14s ease}.teacher-cancel-btn:hover:not(:disabled){background:#0b0b0d0d}.teacher-delete-btn{padding:12px 24px;border-radius:0;border:2px solid var(--nav-black);background:#fee2e2;color:#991b1b;font-size:14px;font-weight:900;cursor:pointer;transition:background-color .14s ease}.teacher-delete-btn:hover:not(:disabled){background:#fecaca}.teacher-delete-btn:disabled{opacity:.6;cursor:not-allowed}.teacher-course-edit-form{background:#fff;padding:32px;border-radius:0;border:none}.teacher-form-group{margin-bottom:24px}.teacher-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.teacher-form-label{display:block;font-size:14px;font-weight:900;color:#0f172a;margin-bottom:8px}.teacher-form-input,.teacher-form-textarea{width:100%;padding:12px;border-radius:0;border:2px solid var(--nav-black);background:#fff;color:#0f172a;font-size:14px;font-family:inherit}.teacher-form-input:focus,.teacher-form-textarea:focus{outline:none;border-color:var(--nav-orange);border-radius:0}.teacher-form-textarea{resize:none;overflow:hidden;min-height:100px}.teacher-form-textarea--autogrow{overflow:hidden;resize:none}.teacher-form-textarea--theory{min-height:260px;line-height:1.65}.teacher-form-textarea--large{min-height:200px}.teacher-form-textarea--code-output{min-height:110px;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;white-space:pre}.teacher-file-input-wrapper{position:relative}.teacher-file-input{position:absolute;width:.1px;height:.1px;opacity:0;overflow:hidden;z-index:-1}.teacher-file-input-label{display:inline-block;padding:12px 24px;border-radius:0;border:2px solid var(--nav-black);background:#fff;color:#0f172a;font-size:14px;font-weight:700;cursor:pointer;transition:background-color .14s ease;width:100%;text-align:center}.teacher-file-input-label:hover{background:#0b0b0d0d}.teacher-file-input:focus+.teacher-file-input-label{outline:none}.teacher-course-modules{margin-top:32px;padding-top:32px;border-top:1px solid var(--border-light)}.teacher-modules-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.teacher-modules-title{font-size:24px;font-weight:900;color:#0f172a;margin:0}.teacher-modules-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.teacher-add-module-btn{padding:8px 16px;border-radius:0;border:2px solid var(--nav-black);background:var(--nav-orange);color:#0f172a;font-size:13px;font-weight:900;cursor:pointer}.teacher-add-module-btn:hover:not(:disabled){background:#ea770e}.teacher-add-module-btn--secondary{background:#fff;color:var(--nav-black)}.teacher-add-module-btn--secondary:hover:not(:disabled){background:#0b0b0d0d}.teacher-modules-list{display:flex;flex-direction:column;gap:10px}.teacher-module-item{padding:14px;border:none;background:#fff}.teacher-module-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;gap:8px}.teacher-module-toggle{width:24px;height:24px;border:2px solid var(--nav-black);background:#fff;font-size:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .14s ease;flex-shrink:0;padding:0}.teacher-module-toggle:hover{background:#0b0b0d0d}.teacher-module-title{font-size:16px;font-weight:900;color:#0f172a;margin:0}.teacher-module-title-input{flex:1;min-width:0;font-size:16px;font-weight:900}.teacher-module-delete-btn{padding:6px 12px;border-radius:0;border:2px solid var(--nav-black);background:#fee2e2;color:#991b1b;font-size:12px;font-weight:700;cursor:pointer;transition:background-color .14s ease}.teacher-module-delete-btn:hover{background:#fecaca}.teacher-topics-section{margin-top:20px;padding-top:20px;border-top:1px solid var(--border-light)}.teacher-topics-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.teacher-topics-title{font-size:18px;font-weight:900;color:#0f172a;margin:0}.teacher-add-topic-btn{padding:6px 12px;border-radius:0;border:2px solid var(--nav-black);background:var(--nav-orange);color:#0f172a;font-size:12px;font-weight:900;cursor:pointer}.teacher-add-topic-btn:hover{background:#ea770e}.teacher-topics-list{display:flex;flex-direction:column;gap:10px}.teacher-topic-item{padding:12px;border:none;background:#fff;margin-left:20px}.teacher-topic-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;gap:8px}.teacher-topic-toggle{width:20px;height:20px;border:1px solid var(--nav-black);background:#fff;font-size:10px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .14s ease;flex-shrink:0;padding:0}.teacher-topic-toggle:hover{background:#0b0b0d0d}.teacher-topic-title{font-size:14px;font-weight:900;color:#0f172a;margin:0}.teacher-topic-edit-btn{padding:4px 8px;border-radius:0;border:1px solid var(--nav-black);background:#fff;color:var(--nav-black);font-size:11px;font-weight:700;cursor:pointer;transition:background-color .12s ease}.teacher-topic-edit-btn:hover:not(:disabled){background:linear-gradient(135deg,#f97316,#fb923c)}.teacher-topic-edit-btn:disabled{opacity:.5;cursor:not-allowed}.teacher-topic-delete-btn{padding:4px 8px;border-radius:0;border:1px solid var(--nav-black);background:#fee2e2;color:#991b1b;font-size:11px;font-weight:700;cursor:pointer;transition:background-color .14s ease}.teacher-topic-delete-btn:hover{background:#fecaca}.teacher-form-checkbox-label{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:#0f172a;cursor:pointer}.teacher-form-checkbox-label input[type=checkbox],.teacher-form-checkbox-label input[type=radio]{width:18px;height:18px;cursor:pointer;accent-color:#0f172a}.teacher-questions-section{margin-top:20px;padding-top:20px;border-top:1px solid var(--border-light)}.teacher-questions-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.teacher-questions-title{font-size:20px;font-weight:900;color:#0f172a;margin:0}.teacher-add-question-btn{padding:6px 12px;border-radius:0;border:2px solid var(--nav-black);background:var(--nav-orange);color:#0f172a;font-size:12px;font-weight:900;cursor:pointer}.teacher-add-question-btn:hover{background:#ea770e}.teacher-questions-list{display:flex;flex-direction:column;gap:10px}.teacher-question-item{padding:12px;border:none;background:#fff;margin-left:20px}.teacher-question-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.teacher-question-title{font-size:16px;font-weight:900;color:#0f172a;margin:0}.teacher-question-delete-btn{padding:4px 8px;border-radius:0;border:1px solid var(--nav-black);background:#fee2e2;color:#991b1b;font-size:11px;font-weight:700;cursor:pointer;transition:background-color .14s ease}.teacher-question-delete-btn:hover{background:#fecaca}.teacher-options-section{margin-top:16px;padding-top:16px;border:none}.teacher-options-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.teacher-add-option-btn{padding:4px 10px;border-radius:0;border:1px solid var(--nav-black);background:var(--nav-orange);color:#0f172a;font-size:11px;font-weight:900;cursor:pointer;transition:background-color .12s ease}.teacher-add-option-btn:hover{background:#ea770e}.teacher-options-list{display:flex;flex-direction:column;gap:8px}.teacher-option-item{padding:8px;border:none;background:#ffffff80}.teacher-option-content{display:flex;gap:8px;align-items:center}.teacher-option-content .teacher-form-input{flex:1;margin:0}.teacher-option-delete-btn{padding:4px 8px;border:1px solid var(--nav-black);background:#fee2e2;color:#991b1b;font-size:16px;font-weight:900;cursor:pointer;width:28px;height:28px;display:flex;align-items:center;justify-content:center;transition:background-color .14s ease}.teacher-option-delete-btn:hover{background:#fecaca}.teacher-empty-text{color:var(--text-muted);font-size:14px;text-align:center;padding:32px}.teacher-empty-text-small{color:var(--text-muted);font-size:12px;text-align:center;padding:16px}.teacher-error{padding:12px 16px;margin-bottom:20px;background:#fee2e2;border:2px solid #ef4444;border-radius:0;font-size:14px;font-weight:600;color:#dc2626}@media(max-width:768px){.teacher-course-edit-actions{width:100%;flex-direction:column}.teacher-save-btn,.teacher-delete-btn{width:100%}.teacher-courses-grid{grid-template-columns:1fr}.teacher-course-edit-form{padding:20px}.teacher-form-grid{grid-template-columns:1fr;gap:0}}body.theme-app .page.page-enter.teacher-page{animation:none!important}.app-root{min-height:100vh;display:flex;flex-direction:column;background:var(--app-background)}:root{--nav-black: #0b0b0d;--nav-orange: #f97316}.app-header{background:transparent;position:sticky;top:0;z-index:100;height:56px;isolation:isolate;padding:0 var(--app-page-gutter);transform:translateZ(0)}.app-header:before{content:"";position:absolute;inset:0;border:2px solid var(--nav-black);pointer-events:none;z-index:3;display:none}.app-header__container{position:relative;z-index:1;width:100%;max-width:var(--app-content-width);margin:0 auto;padding:0;height:56px;display:flex;align-items:stretch;justify-content:flex-start;background:#fff;border:2px solid var(--nav-black);box-shadow:var(--app-header-shadow);overflow:hidden}.app-header__left{display:flex;align-items:stretch;flex:1}.app-header__right{margin-left:auto;display:flex;align-items:stretch;gap:0}.app-logo{display:flex;align-items:center;height:100%;padding:0 22px;font-weight:900;font-size:18px;letter-spacing:-.02em;color:var(--nav-black);background:#fff;box-sizing:border-box}.app-nav{display:flex;align-items:stretch}.app-nav-link{position:relative;display:flex;align-items:center;height:100%;padding:0 22px;font-size:15.5px;font-weight:900;letter-spacing:.09em;text-transform:uppercase;color:#0f172a;background:#fff;box-sizing:border-box;border-left:2px solid var(--nav-black);text-decoration:none!important;-webkit-tap-highlight-color:transparent;transition:background-color .1s ease}.app-nav-link:hover,.app-nav-link:focus,.app-nav-link:active,.app-nav-link:visited{text-decoration:none!important}.app-nav-link:hover{background:#0b0b0d08}.app-nav-link:hover,.app-nav-link:focus,.app-nav-link:active{color:#0f172a}.app-nav-link:before{content:"";position:absolute;left:50%;bottom:9px;transform:translate(-50%);width:0;height:2px;background:var(--nav-black);opacity:.9;transition:width .1s ease}.app-nav-link:hover:before{width:42px}.app-nav-link--active:before{width:0!important}.app-nav-link--active:after{content:"";position:absolute;left:50%;bottom:9px;transform:translate(-50%);width:50px;height:3px;background:var(--nav-black)}.app-nav-link--learning{background:#fb923c;color:#0f172a}.app-nav-link--learning:hover,.app-nav-link--learning:focus,.app-nav-link--learning:active{background:#ea770e;color:#0f172a}.app-nav-link--disabled{pointer-events:none;opacity:.55}.profile-button{height:100%;display:flex;align-items:center;gap:10px;padding:0 18px;background:#fff;color:#0f172a;font-size:15.5px;font-weight:900;border:0;cursor:pointer;text-decoration:none;box-sizing:border-box;border-left:2px solid var(--nav-black);-webkit-tap-highlight-color:transparent;transition:background-color .1s ease}.profile-button:hover,.profile-button:focus,.profile-button:active,.profile-button:visited{text-decoration:none!important}.profile-button{position:relative;overflow:hidden}.profile-button:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#7c3aed,#a855f7);opacity:0;transition:opacity .1s ease;z-index:0}.profile-button>*{position:relative;z-index:1}.profile-button:hover{background:transparent}.profile-button:hover:before{opacity:.08}.profile-button:hover,.profile-button:hover .profile-name{color:var(--nav-black)}.profile-button:hover .profile-avatar{box-shadow:0 0 0 2px var(--nav-black),0 4px 12px #7c3aed33}.profile-button--active{background:#0b0b0d08}.profile-button--active:before{opacity:.06}.profile-avatar{width:34px;height:34px;border-radius:999px;background:linear-gradient(135deg,#f97316,#fb923c);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:14px;transition:box-shadow .1s ease;border:2px solid var(--nav-black)}.profile-name{white-space:nowrap}.burger-button{height:100%;width:56px;display:inline-flex;align-items:center;justify-content:center;background:#fff;border:0;cursor:pointer;box-sizing:border-box;border-left:2px solid var(--nav-black);border-right:0;transition:background-color .1s ease}.burger-button:hover{background:#0b0b0d08}.burger-icon{width:20px;height:14px;display:flex;flex-direction:column;justify-content:space-between}.burger-icon span{height:2px;width:100%;background:var(--nav-black);border-radius:2px;display:block;transition:transform .1s ease,opacity .1s ease}.burger-icon.open span:nth-child(1){transform:translateY(6px) rotate(45deg)}.burger-icon.open span:nth-child(2){opacity:0}.burger-icon.open span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}.app-menu{position:fixed;inset:0;z-index:400;background:#0b0b0d6b;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);animation:menuBackdropIn .12s ease-out both}.app-menu.is-closing{animation:menuBackdropOut .12s ease-in both}@keyframes menuBackdropIn{0%{opacity:0}to{opacity:1}}@keyframes menuBackdropOut{0%{opacity:1}to{opacity:0}}.app-menu__panel{position:fixed;top:0;right:0;height:100vh;height:100dvh;width:320px;max-width:86vw;display:flex;flex-direction:column;background:linear-gradient(135deg,#fff,#f9fafb);border-left:2px solid var(--nav-black);border-radius:0;box-shadow:0 0 60px #0b0b0d47;overflow:auto;animation:menuPanelIn .16s ease-out both}.app-menu__panel.is-closing{animation:menuPanelOut .16s ease-in both}@keyframes menuPanelIn{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes menuPanelOut{0%{transform:translate(0)}to{transform:translate(100%)}}.app-menu__top{height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 18px;border-bottom:2px solid var(--nav-black);background:linear-gradient(135deg,#fff,#f9fafb)}.app-menu__title{font-weight:900;font-size:16px;letter-spacing:.06em;text-transform:uppercase;color:var(--nav-black)}.app-menu__close{height:40px;width:40px;border-radius:0;border:2px solid var(--nav-black);background:#fff;color:var(--nav-black);cursor:pointer;font-weight:900;transition:background-color .05s ease}.app-menu__close:hover{background:linear-gradient(135deg,#f97316,#fb923c)}.app-menu__nav{flex:1;padding:16px 14px;display:flex;flex-direction:column;gap:10px}.app-menu__link{width:100%;padding:15px 18px;border-radius:0;font-weight:900;font-size:15px;letter-spacing:.1em;text-transform:uppercase;color:#0f172a;background:#fff;border:2px solid var(--nav-black);text-decoration:none;cursor:pointer;transition:background-color .05s ease,border-color .05s ease,color .05s ease;position:relative;overflow:visible;z-index:1}.app-menu__link:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#f97316,#fb923c);opacity:0;transition:opacity .05s ease;z-index:-1}.app-menu__link>*{position:relative;z-index:1}.app-menu__link:hover,.app-menu__link:focus,.app-menu__link:active,.app-menu__link:visited{text-decoration:none!important}.app-menu__link:hover{background:transparent;border-color:#f97316}.app-menu__link:hover,.app-menu__link:focus,.app-menu__link:active{color:#0f172a}.app-menu__link:hover:before{opacity:.12}.app-menu__link.active{background:linear-gradient(135deg,#f97316,#fb923c);box-shadow:inset 0 0 0 1px #0b0b0d1a;color:#0f172a}.app-menu__link.active:hover,.app-menu__link.active:focus,.app-menu__link.active:active{color:#0f172a}.app-menu__link--danger{color:#b91c1c;background:transparent;border-color:#b91c1c;box-shadow:-2px 0 #b91c1c;transition:background-color .1s ease,border-color .1s ease,box-shadow .1s ease}.app-menu__link--danger:before{background:linear-gradient(135deg,#b91c1c1a,#b91c1c26)}.app-menu__link--danger:hover{background:transparent;border-color:#b91c1c;box-shadow:-2px 0 #b91c1c}.app-main{flex:1;width:100%;position:relative;z-index:1;display:flex;flex-direction:column}.app-navigation-lock{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;gap:10px;width:min(calc(100% - (var(--app-page-gutter) * 2)),var(--app-content-width));max-width:var(--app-content-width);margin:24px auto -8px;padding:12px 16px;background:linear-gradient(135deg,#f97316,#fb923c);color:#0b0b0d;border:2px solid var(--nav-black);border-radius:0;box-shadow:var(--shadow-sm);font-weight:800;line-height:1.4;text-align:center}.app-navigation-lock+.page{margin-top:18px}.app-navigation-lock__dot{width:10px;height:10px;border-radius:999px;background:#0b0b0d;box-shadow:0 0 0 2px #0b0b0d33}@media(max-width:768px){.app-header__container{padding:0}.app-nav,.profile-name{display:none}.app-logo{padding:0 14px;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:60vw;display:block;line-height:52px}.profile-button{padding:0 14px}.app-menu__panel{top:0;width:100vw;max-width:100vw;height:100vh;height:100dvh;border-left:none}.profile-button{border-left:0}}.cookie-consent__backdrop{position:fixed;inset:0;background:#0b0b0d8c;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:999;animation:cookieBackdropIn .08s ease-out both}@keyframes cookieBackdropIn{0%{opacity:0}to{opacity:1}}.cookie-consent{position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:2px solid #0b0b0d;padding:20px;z-index:1000;box-shadow:0 -4px 12px #0000001a;animation:cookieConsentIn .08s ease-out both}@keyframes cookieConsentIn{0%{transform:translateY(8px);opacity:.95}to{transform:translateY(0);opacity:1}}.cookie-consent__content{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap}.cookie-consent__icon{font-size:32px;line-height:1;flex-shrink:0}.cookie-consent__text-wrap{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:center}.cookie-consent__text{max-width:340px}.cookie-consent__text strong{display:block;font-size:16px;font-weight:700;margin-bottom:8px;color:#0b0b0d}.cookie-consent__text p{margin:0;font-size:14px;line-height:1.5;color:#4b5563}.cookie-consent__button{padding:12px 24px;background:#f97316;color:#0b0b0d;border:none;border-radius:4px;font-size:14px;font-weight:700;cursor:pointer;transition:background .1s ease;white-space:nowrap;position:relative;outline:none}.cookie-consent__button:before{content:"";position:absolute;inset:-4px;border:2px solid #0b0b0d;border-radius:6px;opacity:0;transition:opacity .1s ease;pointer-events:none}.cookie-consent__button:hover:before{opacity:1}.cookie-consent__button:hover{background:#fb923c}.cookie-consent__button:active{background:#ea580c}@media(max-width:768px){.cookie-consent__content{flex-direction:column;align-items:center}.cookie-consent__text-wrap{flex-direction:column;align-items:center;gap:10px}.cookie-consent__text{max-width:100%;text-align:center}.cookie-consent__button{width:100%;max-width:200px}}
