.btn{position:relative}.btn-content{display:inline-flex;align-items:center;justify-content:center;gap:inherit}.btn-content.is-loading{visibility:hidden}.btn-spinner{position:absolute;width:16px;height:16px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:ui-spin .7s linear infinite}.progress-sm{height:4px}.progress-md{height:8px}.metric-tile{display:grid;justify-items:center;align-content:center;gap:var(--space-2);min-height:150px;text-align:center}.metric-tile-icon{display:inline-flex}.metric-tile-label,.metric-tile-detail{color:var(--color-text-muted);font-size:var(--text-xs)}.metric-tile-value{font-size:var(--text-stat);line-height:1}.info-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:var(--space-3);align-items:center;padding:var(--space-3) 0;border-bottom:1px solid var(--color-border)}.info-row:last-child{border-bottom:0}.info-row-icon,.info-row-actions{display:inline-flex;align-items:center}.info-row-content{display:grid;gap:var(--space-1);min-width:0}.info-row-content span{color:var(--color-text-muted);font-size:var(--text-sm)}.profile-course-progress-bar{margin-top:var(--space-2)}.async-search-select{display:contents}@keyframes ui-spin{to{transform:rotate(360deg)}}:root{--font-sans: "Inter", "Segoe UI", "Helvetica Neue", Arial, sans-serif;--color-bg: #f4f7fb;--color-surface: #ffffff;--color-surface-muted: #f8fafc;--color-surface-elevated: rgba(255, 255, 255, .88);--color-white: #ffffff;--color-border: #e2e8f0;--color-border-strong: #cbd5e1;--color-text: #0f172a;--color-text-soft: #475569;--color-text-muted: #64748b;--color-primary-50: #eef4ff;--color-primary-100: #dce8ff;--color-primary-200: #bfd4ff;--color-primary-300: #94b5ff;--color-primary-400: #6d93ff;--color-primary-500: #3668f7;--color-primary-600: #1e56df;--color-primary-700: #1747b4;--color-primary-800: #173d8f;--color-primary-900: #16326f;--color-gray-50: #f8fafc;--color-gray-100: #f1f5f9;--color-gray-200: #e2e8f0;--color-gray-300: #cbd5e1;--color-gray-400: #94a3b8;--color-gray-500: #64748b;--color-gray-600: #475569;--color-gray-700: #334155;--color-gray-800: #1e293b;--color-gray-900: #0f172a;--color-success-50: #e8faef;--color-success-100: #bbf7d0;--color-success-300: #86efac;--color-success-500: #22c55e;--color-success-600: #16a34a;--color-warning-50: #fff7db;--color-warning-200: #fde68a;--color-warning-500: #f59e0b;--color-warning-600: #d97706;--color-danger-50: #feeceb;--color-danger-500: #ef4444;--color-danger-600: #dc2626;--color-danger-700: #b91c1c;--color-backdrop: rgba(15, 23, 42, .42);--color-theory-50: #ecfeff;--color-theory-500: #06b6d4;--color-theory-700: #0e7490;--color-test-50: #f5f3ff;--color-test-500: #8b5cf6;--color-test-700: #6d28d9;--color-homework-50: #fff7ed;--color-homework-500: #f97316;--color-homework-700: #c2410c;--color-deadline-50: #fffbeb;--color-deadline-500: #f59e0b;--color-deadline-700: #b45309;--shadow-sm: 0 1px 2px rgba(15, 23, 42, .05);--shadow-md: 0 16px 40px rgba(15, 23, 42, .08);--shadow-lg: 0 24px 70px rgba(15, 23, 42, .12);--shadow-focus: 0 0 0 3px rgba(54, 104, 247, .18);--radius-xs: 8px;--radius-sm: 12px;--radius-md: 16px;--radius-lg: 24px;--radius-pill: 999px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--text-2xs: .625rem;--text-xs: .6875rem;--text-sm: .75rem;--text-base: .8125rem;--text-md: .875rem;--text-body: .9375rem;--text-ui: 1rem;--text-card: clamp(1rem, 1vw + .875rem, 1.125rem);--text-heading: clamp(1.125rem, 1vw + .875rem, 1.25rem);--text-title-sm: clamp(1.1875rem, 1.25vw + .875rem, 1.375rem);--text-title: clamp(1.25rem, 1.5vw + .875rem, 1.5rem);--text-title-lg: clamp(1.375rem, 1.5vw + 1rem, 1.625rem);--text-stat: clamp(1.375rem, 1.5vw + 1rem, 1.625rem);--text-display-sm: clamp(1.5rem, 2vw + 1rem, 1.875rem);--text-display: clamp(1.5rem, 2.5vw + .875rem, 2rem);--page-max-width: 1480px;--admin-sidebar-width: 280px;--student-sidebar-width: 260px;--student-sidebar-collapsed-width: 84px;--student-topbar-height: 56px}*,*:before,*:after{box-sizing:border-box}html{color-scheme:light;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:360px;min-height:100vh;font-family:var(--font-sans);font-optical-sizing:auto;font-feature-settings:"cv02" 1,"cv03" 1,"cv04" 1,"cv11" 1;color:var(--color-text);background:radial-gradient(circle at top left,rgba(109,147,255,.18),transparent 24%),radial-gradient(circle at top right,rgba(34,197,94,.08),transparent 18%),linear-gradient(180deg,#f8fbff 0%,var(--color-bg) 100%)}#root{min-height:100vh}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled,input:disabled,select:disabled,textarea:disabled{cursor:not-allowed}img,svg,video,canvas{display:block;max-width:100%}h1,h2,h3,h4,p{margin-top:0}h1,.text-h1{margin-bottom:var(--space-4);font-size:clamp(1.875rem,4vw,2.75rem);line-height:1.08;letter-spacing:0}h2,.text-h2{margin-bottom:var(--space-3);font-size:clamp(1.5rem,3vw,2rem);line-height:1.14;letter-spacing:0}h3,.text-h3{margin-bottom:var(--space-2);font-size:var(--text-heading);line-height:1.22;letter-spacing:0}p{color:var(--color-text-soft)}.muted,.text-muted{color:var(--color-text-muted)}.text-soft{color:var(--color-text-soft)}.small{font-size:var(--text-base)}.small-muted{color:var(--color-text-muted);font-size:var(--text-sm)}.stat-label,.stat-detail{color:var(--color-text-muted);font-size:var(--text-base)}.stat-value{display:block;font-size:var(--text-stat);font-weight:800}.caption{color:var(--color-text-muted);font-size:var(--text-sm);font-weight:600;letter-spacing:.04em;text-transform:uppercase}.page{width:min(var(--page-max-width),calc(100% - 32px));margin:0 auto;padding:24px 0 48px}.page-narrow{width:min(1040px,calc(100% - 32px));margin:0 auto;padding:24px 0 48px}.stack{display:grid;gap:var(--space-4)}.stack-sm{display:grid;gap:var(--space-2)}.link-button{color:var(--color-primary-700);cursor:pointer;font-size:var(--text-xs);font-weight:850}.link-button:hover{color:var(--color-primary-600)}.cluster{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center}.split{display:flex;gap:var(--space-4);align-items:center;justify-content:space-between}.grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:18px}.span-12{grid-column:span 12}.span-8{grid-column:span 8}.span-6{grid-column:span 6}.span-4{grid-column:span 4}.span-3{grid-column:span 3}.panel,.card{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-sm)}.panel{padding:22px}.panel-muted{background:var(--color-surface-muted)}.panel-elevated{border-color:#ffffffb3;background:var(--color-surface-elevated);box-shadow:var(--shadow-md);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.panel-head,.section-head{display:flex;gap:var(--space-4);align-items:flex-start;justify-content:space-between;margin-bottom:var(--space-5)}.panel-title{margin:0 0 var(--space-2);font-size:var(--text-heading);line-height:1.2}.panel-copy{margin:0;color:var(--color-text-muted);font-size:var(--text-md)}.manual-reviews-panel{display:flex;flex-direction:column;gap:var(--space-5, 20px)}.manual-reviews-header{display:flex;flex-direction:column;gap:var(--space-3, 12px);align-items:flex-start}.subject-inline-form{display:flex;flex-direction:column;gap:var(--space-3, 12px);padding:var(--space-3, 12px);border:1px solid var(--color-border);border-radius:var(--radius-xs);background:var(--color-surface-muted)}.subject-inline-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.utm-prep{display:flex;flex-direction:column;gap:var(--space-2)}.utm-prep-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--space-2)}.utm-prep-card{display:flex;flex-direction:column;gap:2px;padding:var(--space-3, 12px);text-align:left;border:1px solid var(--color-border);border-radius:var(--radius-xs);background:var(--color-surface-muted, #f5f8ff);cursor:pointer;transition:border-color .14s ease,background .14s ease}.utm-prep-card:hover{border-color:var(--color-primary-300, #93c5fd);background:var(--color-primary-50, #eff6ff)}.utm-prep-card code{font-size:var(--text-xs);color:var(--color-primary-700, #1d4ed8)}.utm-inputs{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--space-4)}.utm-input{display:flex;flex-direction:column;gap:var(--space-2)}.utm-chips{display:flex;flex-wrap:wrap;gap:6px}.utm-chip{padding:3px 10px;font-size:var(--text-xs);font-weight:700;color:var(--color-text-soft);border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface-muted, #f5f8ff);cursor:pointer;transition:all .14s ease}.utm-chip:hover{border-color:var(--color-primary-300, #93c5fd);color:var(--color-primary-700, #1d4ed8);background:var(--color-primary-50, #eff6ff)}.utm-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.utm-results{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-3)}.utm-result-card{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-muted, #f5f8ff)}.utm-result-card h3{margin:0}.utm-result-link{width:100%;padding:var(--space-2);text-align:left;word-break:break-all;font-size:var(--text-sm);color:var(--color-text);border:1px dashed var(--color-border);border-radius:var(--radius-xs);background:var(--color-white, #fff);cursor:pointer;transition:all .14s ease}.utm-result-link:disabled{cursor:default;color:var(--color-text-muted)}.utm-result-link:not(:disabled):hover{border-color:var(--color-primary-300, #93c5fd)}.utm-result-link.is-short{color:var(--color-primary-700, #1d4ed8);border-style:solid}.utm-result-link.is-copied{border-color:var(--color-success-600, #16a34a);color:var(--color-success-600, #16a34a)}.utm-result-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.utm-all-links{display:flex;flex-direction:column;gap:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--color-border)}.utm-all-link{display:flex;flex-direction:column;gap:4px}.trainers-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-4)}.trainer-card{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface, #fff);color:var(--color-text);text-decoration:none;transition:border-color .14s ease,transform .14s ease,box-shadow .14s ease}.trainer-card:hover{border-color:var(--color-primary-300, #93c5fd);transform:translateY(-2px);box-shadow:var(--shadow-sm, 0 8px 24px rgba(15, 23, 42, .08))}.trainer-card-icon{display:inline-flex;width:48px;height:48px;align-items:center;justify-content:center;border-radius:var(--radius-sm);background:var(--color-primary-50, #eff6ff);color:var(--color-primary-700, #1d4ed8)}.trainer-card strong{font-size:var(--text-lg, 1.125rem)}.trainer-card-desc{color:var(--color-text-muted);font-size:var(--text-sm)}.chem-trainer,.trainer-page{display:flex;flex-direction:column;gap:var(--space-4)}.chem-trainer .page-header{flex-wrap:wrap}.trainer-title-row{display:flex;align-items:center;gap:var(--space-2)}.trainer-title-row .page-title{margin-bottom:0}.trainer-guide-trigger,.trainer-download-link{flex:0 0 auto;color:var(--color-primary-700)}.trainer-guide{display:grid;gap:var(--space-4)}.trainer-guide p,.trainer-guide ul{margin:0}.trainer-guide section{display:grid;gap:var(--space-2)}.trainer-guide h3{margin:0}.trainer-guide ul{display:grid;gap:var(--space-2);padding-left:var(--space-5);color:var(--color-text-soft)}.trainer-guide li{line-height:1.5}.trainer-guide strong{color:var(--color-text)}.chem-score{display:flex;gap:var(--space-2);align-items:center;flex-wrap:wrap}.chem-toggle-row{display:flex;flex-wrap:wrap;gap:var(--space-3)}.chem-toggle{display:inline-flex;gap:4px;padding:4px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-muted, #f5f8ff)}.chem-toggle button{border:none;background:transparent;padding:7px 14px;border-radius:var(--radius-xs);font-weight:700;color:var(--color-text-soft);cursor:pointer}.chem-toggle button.active{background:var(--color-white, #fff);color:var(--color-primary-700, #1d4ed8);box-shadow:var(--shadow-xs, 0 1px 2px rgba(15, 23, 42, .08))}.chem-toggle.subtle{padding:2px}.chem-toggle.subtle button{padding:4px 10px;font-size:var(--text-sm)}.chem-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,340px);gap:var(--space-4);align-items:start}.chem-main{display:flex;flex-direction:column;gap:var(--space-4);min-width:0}.chem-kinds{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-2)}.chem-kind{display:inline-flex;gap:6px;align-items:center;font-size:var(--text-sm);color:var(--color-text-soft)}.chem-card{display:flex;flex-direction:column;gap:var(--space-4);align-items:center}.chem-prompt{display:flex;width:100%;min-height:96px;align-items:center;justify-content:center;padding:var(--space-5);font-size:clamp(1.6rem,4vw,2.4rem);text-align:center;border:1px dashed var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-muted, #f5f8ff)}.chem-answer{display:flex;gap:var(--space-3);align-items:center;flex-wrap:wrap;justify-content:center;font-size:var(--text-lg, 1.125rem)}.chem-actions{display:flex;gap:var(--space-2);flex-wrap:wrap;justify-content:center}.chem-options-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--space-2);width:100%}.chem-option{padding:14px 16px;font-size:var(--text-md);font-weight:600;text-align:center;color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-xs);background:var(--color-white, #fff);cursor:pointer;transition:all .14s ease}.chem-option:not(:disabled):hover{border-color:var(--color-primary-300, #93c5fd)}.chem-option:disabled{cursor:default}.chem-option.is-correct{border-color:var(--color-success-600, #16a34a);background:var(--color-success-50, #f0fdf4);color:var(--color-success-700, #15803d)}.chem-option.is-wrong{border-color:var(--color-danger-600, #dc2626);background:var(--color-danger-50, #fef2f2);color:var(--color-danger-600, #dc2626)}.chem-feedback{display:flex;gap:var(--space-3);align-items:center;flex-wrap:wrap;justify-content:center}.chem-board-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);margin-bottom:var(--space-3);flex-wrap:wrap}.chem-board-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.chem-board-row{display:grid;grid-template-columns:24px 32px 1fr auto;gap:var(--space-2);align-items:center;padding:6px 8px;border-radius:var(--radius-xs)}.chem-board-row.is-me{background:var(--color-primary-50, #eff6ff)}.chem-board-rank{font-weight:800;color:var(--color-text-muted);text-align:center}.chem-board-avatar{display:inline-flex;width:28px;height:28px;border-radius:50%;align-items:center;justify-content:center;overflow:hidden;background:var(--color-primary-50, #eff6ff);color:var(--color-primary-700, #1d4ed8);font-weight:800;font-size:var(--text-xs)}.chem-board-avatar img{width:100%;height:100%;object-fit:cover}.chem-board-name{min-width:0;overflow:hidden;font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap}.chem-board-points{font-weight:800;color:var(--color-primary-700, #1d4ed8)}.formula-text{white-space:nowrap}@media(max-width:940px){.chem-layout{grid-template-columns:1fr}}.btn{display:inline-flex;min-height:40px;align-items:center;justify-content:center;gap:var(--space-2);border:1px solid transparent;border-radius:var(--radius-xs);padding:9px 14px;font-size:var(--text-md);font-weight:700;line-height:1;text-decoration:none;transition:background .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease,transform .16s ease}.btn-sm{min-height:34px;padding:7px 11px;font-size:var(--text-base)}.btn-md{min-height:40px}.btn:focus-visible,.input:focus,.select:focus,.textarea:focus,.choice:focus-within{outline:none;box-shadow:var(--shadow-focus)}.btn:active,.btn.active{transform:translateY(1px)}.btn-primary{border-color:var(--color-primary-600);background:var(--color-primary-600);color:var(--color-white)}.btn-primary:hover,.btn-primary.hover{border-color:var(--color-primary-700);background:var(--color-primary-700)}.btn-secondary{border-color:var(--color-border-strong);background:var(--color-surface);color:var(--color-text)}.btn-secondary:hover,.btn-secondary.hover{border-color:var(--color-primary-200);background:var(--color-primary-50);color:var(--color-primary-700)}.btn-ghost{border-color:transparent;background:transparent;color:var(--color-text-soft)}.btn-ghost:hover,.btn-ghost.hover{background:var(--color-gray-100);color:var(--color-text)}.btn-danger{border-color:var(--color-danger-600);background:var(--color-danger-600);color:var(--color-white)}.btn-danger:hover,.btn-danger.hover{border-color:var(--color-danger-700);background:var(--color-danger-700)}.btn:disabled,.btn.disabled{border-color:var(--color-border);background:var(--color-gray-100);color:var(--color-gray-400);pointer-events:none}.btn-icon{width:40px;padding:0}.field{display:grid;gap:6px}.label{color:var(--color-text-soft);font-size:var(--text-base);font-weight:700}.input,.select,.textarea{width:100%;border:1px solid var(--color-border-strong);border-radius:var(--radius-xs);background:var(--color-surface);color:var(--color-text);font-size:var(--text-md);transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}.input,.select{min-height:42px;padding:9px 12px}.textarea{min-height:120px;padding:12px;resize:vertical}.input::placeholder,.textarea::placeholder{color:var(--color-gray-400)}.input[type=file]{height:auto;min-height:42px;padding:6px}.input[type=file]::file-selector-button{min-height:30px;margin-right:12px;border:1px solid var(--color-border-strong);border-radius:var(--radius-xs);padding:6px 10px;background:var(--color-surface);color:var(--color-text);font:inherit;font-size:var(--text-base);font-weight:800;cursor:pointer;transition:background .16s ease,border-color .16s ease,color .16s ease}.input[type=file]::file-selector-button:hover{border-color:var(--color-primary-200);background:var(--color-primary-50);color:var(--color-primary-700)}.input:disabled,.select:disabled,.textarea:disabled{border-color:var(--color-border);background:var(--color-gray-100);color:var(--color-gray-500)}.input.is-error,.select.is-error,.textarea.is-error{border-color:var(--color-danger-500)}.input.is-success,.select.is-success,.textarea.is-success{border-color:var(--color-success-500)}.hint{color:var(--color-text-muted);font-size:var(--text-sm)}.hint.error{color:var(--color-danger-600)}.hint.success{color:var(--color-success-600)}.async-combobox-field{min-width:0}.async-combobox{position:relative;min-width:0}.async-combobox .input{padding-right:82px;padding-left:38px}.async-combobox-search{position:absolute;z-index:1;top:50%;left:13px;color:var(--color-text-muted);pointer-events:none;transform:translateY(-50%)}.async-combobox-actions{position:absolute;z-index:2;top:50%;right:4px;display:flex;align-items:center;transform:translateY(-50%)}.async-combobox-action{width:30px;min-height:30px;padding:0}.async-combobox-loader{margin:0 7px;color:var(--color-primary-600);animation:spin .9s linear infinite}.async-combobox-menu{position:absolute;z-index:80;top:calc(100% + var(--space-1));right:0;left:0;display:grid;max-height:280px;overflow-y:auto;overscroll-behavior:contain;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);box-shadow:var(--shadow-lg)}.async-combobox-option{display:flex;width:100%;gap:var(--space-3);align-items:center;justify-content:space-between;border:0;border-bottom:1px solid var(--color-border);padding:10px 12px;background:transparent;color:var(--color-text-soft);cursor:pointer;font:inherit;font-size:var(--text-base);text-align:left}.async-combobox-option:last-child{border-bottom:0}.async-combobox-option:hover,.async-combobox-option.is-active{background:var(--color-primary-50);color:var(--color-primary-700)}.async-combobox-option.is-selected{color:var(--color-primary-700);font-weight:800}.async-combobox-message{margin:0;padding:var(--space-4);color:var(--color-text-muted);font-size:var(--text-sm);text-align:center}.async-combobox-message.error{color:var(--color-danger-600)}.choice{display:flex;gap:10px;align-items:center;border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:12px;background:#fff;color:var(--color-text-soft);font-size:var(--text-md)}.choice:hover{border-color:var(--color-primary-200);background:var(--color-primary-50)}.toggle{position:relative;display:inline-flex;width:42px;height:24px;border-radius:var(--radius-pill);background:var(--color-gray-300);transition:background .16s ease}.toggle:after{position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:var(--shadow-sm);content:"";transition:transform .16s ease}.toggle.on{background:var(--color-primary-600)}.toggle.on:after{transform:translate(18px)}.badge,.status,.chip{display:inline-flex;align-items:center;justify-content:center;width:fit-content;border-radius:var(--radius-pill);font-size:var(--text-sm);font-weight:800;line-height:1;white-space:nowrap}.badge,.status{padding:6px 10px}.chip{border:1px solid var(--color-border);padding:7px 11px;background:#fff;color:var(--color-text-soft)}.badge.info,.status.info,.status.published,.badge.published{background:var(--color-primary-50);color:var(--color-primary-700)}.badge.success,.status.success,.status.correct{background:var(--color-success-50);color:var(--color-success-600)}.badge.warning,.status.warning,.status.progress,.status.needs-review,.badge.needs-review{background:var(--color-warning-50);color:var(--color-warning-600)}.badge.danger,.status.danger,.status.incorrect,.status.expired{background:var(--color-danger-50);color:var(--color-danger-600)}.badge.neutral,.badge.locked,.status.neutral,.status.draft,.status.archived,.status.hidden,.status.skipped{background:var(--color-gray-100);color:var(--color-gray-600)}.badge.theory,.badge.classic{background:var(--color-theory-50);color:var(--color-theory-700)}.badge.test,.badge.variant{background:var(--color-test-50);color:var(--color-test-700)}.badge.homework,.badge.zachet{background:var(--color-homework-50);color:var(--color-homework-700)}.badge.deadline,.badge.letuchka{background:var(--color-deadline-50);color:var(--color-deadline-700)}.table-wrap{overflow-x:auto;border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fff}.table{width:100%;border-collapse:collapse;font-size:var(--text-md)}.table th,.table td{border-bottom:1px solid var(--color-border);padding:13px 14px;text-align:left;vertical-align:top}.table th{background:var(--color-gray-50);color:var(--color-text-soft);font-size:var(--text-sm);font-weight:800;letter-spacing:.04em;text-transform:uppercase}.table tr:last-child td{border-bottom:0}.table-link{color:var(--color-text);font-weight:800;text-decoration:none}.table-link:hover{color:var(--color-primary-700);text-decoration:underline}.page-back-link{display:inline-flex;width:fit-content;align-items:center;color:var(--color-primary-700);font-size:var(--text-md);font-weight:800;text-decoration:none}.page-back-link:before{margin-right:6px;content:"←"}.page-back-link:hover{color:var(--color-primary-800);text-decoration:underline}.preview-box{margin-top:var(--space-2);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-muted)}.preview-box.is-plain{background:var(--color-surface)}.nested-panel{margin-top:var(--space-4);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface)}.pill-list{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-2)}.pill{display:inline-flex;align-items:center;width:fit-content;border:1px solid var(--color-primary-100);border-radius:var(--radius-pill);padding:6px 9px;background:var(--color-primary-50);color:var(--color-primary-700);font-size:var(--text-base);font-weight:700}.pill.success{border-color:var(--color-success-100);background:var(--color-success-50);color:var(--color-success-600)}.option-list{display:grid;gap:var(--space-2);margin-top:var(--space-2)}.option-row{padding:9px;border:1px solid var(--color-border);border-radius:var(--radius-xs);background:var(--color-surface-muted)}.two-column-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3);margin-top:var(--space-2)}.activity-calendar-wrap{position:relative;width:fit-content}.activity-calendar{display:grid;grid-template-columns:repeat(15,18px);gap:4px;align-items:center}.activity-day{width:18px;height:18px;border:1px solid var(--color-border);border-radius:4px;background:var(--color-gray-100)}.activity-day.level-1{background:var(--color-success-50)}.activity-day.level-2{background:var(--color-success-300)}.activity-day.level-3{background:var(--color-success-600)}.activity-tooltip{position:absolute;left:calc(100% + 10px);bottom:0;z-index:2;width:max-content;max-width:260px;border:1px solid var(--color-border-strong);border-radius:var(--radius-xs);padding:8px 10px;background:var(--color-surface);box-shadow:var(--shadow-sm);color:var(--color-text);font-size:var(--text-base);font-weight:600;white-space:nowrap}.responsive-grid-wide{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-4)}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--space-5)}.summary-grid strong{display:block;margin-top:3px}.responsive-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-3)}.grant-access-grid{display:grid;grid-template-columns:minmax(220px,1fr) 180px 180px auto;gap:var(--space-3);align-items:end}.access-date-grid{display:grid;grid-template-columns:repeat(2,minmax(210px,1fr));gap:var(--space-3);min-width:440px}.metadata-cell{max-width:320px}.admin-modal-backdrop{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:24px;background:#0f172a73}.admin-modal-card{display:grid;overflow:hidden;width:min(1180px,100%);max-height:90vh;grid-template-rows:auto auto 1fr auto;border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-lg)}.admin-modal-head,.admin-modal-filters,.admin-modal-footer{padding:var(--space-4);border-color:var(--color-border)}.admin-modal-head{display:flex;gap:var(--space-4);justify-content:space-between;border-bottom:1px solid var(--color-border)}.admin-modal-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;align-items:end;border-bottom:1px solid var(--color-border)}.admin-modal-body{display:grid;min-height:0;grid-template-columns:minmax(320px,.9fr) minmax(360px,1.1fr)}.admin-modal-list{overflow:auto;border-right:1px solid var(--color-border);padding:var(--space-3)}.admin-modal-preview{overflow:auto;padding:var(--space-4)}.admin-modal-footer{display:flex;gap:var(--space-3);justify-content:flex-end;border-top:1px solid var(--color-border)}.problem-option{cursor:pointer;padding:10px;border:1px solid var(--color-border);border-radius:var(--radius-xs);background:var(--color-surface);text-align:left}.problem-option.is-selected{border-color:var(--color-primary-600);background:var(--color-primary-50)}.problem-option-preview{overflow:hidden;max-height:42px;margin-top:6px;color:var(--color-text-soft);font-size:var(--text-sm)}.warning-box{margin-bottom:var(--space-3);padding:10px;border:1px solid var(--color-warning-200);border-radius:var(--radius-xs);background:var(--color-warning-50);color:var(--color-warning-600)}.answer-editor{display:grid;gap:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4);background:var(--color-surface-muted)}.answer-editor-row{display:grid;grid-template-columns:minmax(120px,.8fr) minmax(180px,1.4fr) auto;gap:var(--space-3);align-items:end}.answer-editor-row.compact{grid-template-columns:minmax(120px,1fr) auto}.answer-editor-list{display:grid;gap:var(--space-3)}.answer-editor-choice{display:flex;gap:var(--space-3);align-items:center;min-height:42px}.answer-editor-preview{align-items:center;color:var(--color-text-muted);display:inline-flex;font-size:var(--font-size-sm);gap:var(--space-2);min-height:42px}.inline-html{color:inherit;display:inline}.inline-html *{display:inline;margin:0}.rich-text-field{gap:var(--space-2)}.rich-text-label-row{align-items:center}.rich-text-editor{overflow:hidden;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface)}.rich-text-editor:focus-within{border-color:var(--color-primary-500);box-shadow:var(--shadow-focus)}.rich-text-toolbar{display:flex;flex-wrap:wrap;gap:4px;align-items:center;border-bottom:1px solid var(--color-border);padding:8px;background:var(--color-surface-muted)}.rich-text-tool{display:inline-flex;align-items:center;justify-content:center;min-width:30px;min-height:30px;border:1px solid transparent;border-radius:var(--radius-xs);padding:5px 8px;background:transparent;color:var(--color-text-soft);font-size:var(--text-sm);font-weight:800}.rich-text-tool:hover{border-color:var(--color-primary-100);background:var(--color-primary-50);color:var(--color-primary-700)}.rich-text-tool.active{border-color:var(--color-primary-200);background:var(--color-primary-50);color:var(--color-primary-700)}.rich-text-tool:disabled{color:var(--color-gray-400);cursor:not-allowed}.rich-text-divider{width:1px;height:22px;margin:0 3px;background:var(--color-border)}.rich-text-editor-content{min-height:220px;padding:16px;outline:none}.rich-text-editor-content .is-editor-empty:first-child:before{float:left;height:0;color:var(--color-gray-400);content:attr(data-placeholder);pointer-events:none}.rich-text-source{min-height:220px;border:0;border-radius:0;font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,monospace}.rich-text-source:focus{box-shadow:none}.content-renderer{color:var(--color-text);line-height:1.65}.content-renderer>*:first-child{margin-top:0}.content-renderer>*:last-child{margin-bottom:0}.content-renderer p{margin-bottom:.85em}.content-renderer h2,.content-renderer h3{margin-top:1.2em;color:var(--color-text)}.content-renderer ul,.content-renderer ol{margin:0 0 1em;padding-left:1.5em}.content-renderer li{margin:.25em 0}.content-renderer blockquote{margin:1em 0;border-left:4px solid var(--color-primary-200);padding:10px 14px;background:var(--color-primary-50);color:var(--color-text-soft)}.content-renderer code{border-radius:var(--radius-xs);padding:2px 5px;background:var(--color-gray-100);font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.92em}.content-renderer pre{overflow:auto;border-radius:var(--radius-sm);padding:14px;background:var(--color-gray-900);color:#fff}.content-renderer a{color:var(--color-primary-700);font-weight:700;text-decoration:underline}.content-renderer img{max-width:100%;border-radius:var(--radius-sm)}.content-renderer table{width:100%;margin:1em 0;border-collapse:collapse}.content-renderer th,.content-renderer td{border:1px solid var(--color-border);padding:8px 10px;vertical-align:top}.content-renderer th{background:var(--color-gray-50);color:var(--color-text-soft);font-weight:800}.content-renderer hr{border:0;border-top:1px solid var(--color-border);margin:1.25em 0}.inline-code{display:block;overflow:hidden;padding:4px 6px;border-radius:var(--radius-xs);background:var(--color-surface-muted);text-overflow:ellipsis;white-space:nowrap}.progress,.progress-bar{overflow:hidden;height:8px;border-radius:var(--radius-pill);background:var(--color-gray-100)}.progress>span,.progress-bar>span{display:block;height:100%;border-radius:inherit;background:var(--color-primary-600)}.progress.success>span,.progress-bar.success>span{background:var(--color-success-500)}.progress.warning>span,.progress-bar.warning>span{background:var(--color-warning-500)}.progress.danger>span,.progress-bar.danger>span{background:var(--color-danger-500)}.tabs,.segment-group{display:inline-flex;flex-wrap:wrap;gap:4px;border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:4px;background:var(--color-gray-50)}.tab,.segment{border-radius:9px;padding:8px 12px;color:var(--color-text-soft);font-size:var(--text-base);font-weight:800}.tab.active,.segment.active{background:#fff;color:var(--color-primary-700);box-shadow:var(--shadow-sm)}.modal-backdrop{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:24px;background:var(--color-backdrop)}.modal{width:min(720px,100%);max-height:min(760px,calc(100vh - 48px));overflow:auto;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-lg)}.modal-head,.modal-body,.modal-actions{padding:20px}.modal-head{border-bottom:1px solid var(--color-border)}.modal-body{display:grid;gap:var(--space-4)}.modal-actions{display:flex;flex-wrap:wrap;gap:var(--space-3);justify-content:flex-end;border-top:1px solid var(--color-border)}.toast{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:12px 14px;background:#fff;color:var(--color-text-soft);box-shadow:var(--shadow-md)}.toast.success{border-color:#22c55e47;background:var(--color-success-50);color:var(--color-success-600)}.toast.error{border-color:#ef444447;background:var(--color-danger-50);color:var(--color-danger-600)}.toast.info{border-color:#3668f738;background:var(--color-primary-50);color:var(--color-primary-700)}.empty-card,.empty-state{display:grid;gap:var(--space-3);place-items:center;border:1px dashed var(--color-border-strong);border-radius:var(--radius-md);padding:28px;background:var(--color-gray-50);color:var(--color-text-muted);text-align:center}.empty-state--error{border-color:var(--color-danger-300, #fca5a5);background:var(--color-danger-50, #fff5f5);color:var(--color-danger-700)}.inline-error{margin:8px 0 0;font-size:var(--text-sm);color:var(--color-danger-600, #dc2626)}.skeleton{display:block;overflow:hidden;border-radius:var(--radius-xs);background:linear-gradient(90deg,var(--color-gray-100) 0%,var(--color-gray-200) 45%,var(--color-gray-100) 90%);background-size:220% 100%;animation:skeleton-pulse 1.2s ease-in-out infinite}.skeleton-text{display:grid;gap:8px}.skeleton-table,.skeleton-row{display:grid;gap:10px}@keyframes skeleton-pulse{0%{background-position:220% 0}to{background-position:-220% 0}}.rich-content{color:var(--color-text);line-height:1.65}.rich-content p,.rich-content ul,.rich-content ol,.rich-content table{margin-bottom:var(--space-4)}.rich-content img,.rich-content video,.rich-content iframe{max-width:100%;border:0;border-radius:var(--radius-sm)}.admin-shell,.student-shell{min-height:100vh;background:transparent}.main-frame{display:flex;min-height:100vh;flex-direction:column}.main-shell{display:grid;flex:1;min-height:0;grid-template-columns:var(--student-sidebar-width) minmax(0,1fr);background:transparent;transition:grid-template-columns .18s ease}.main-shell.is-sidebar-collapsed{grid-template-columns:var(--student-sidebar-collapsed-width) minmax(0,1fr)}.admin-shell{display:grid;grid-template-columns:var(--admin-sidebar-width) minmax(0,1fr)}.main-sidebar{position:fixed;z-index:15;top:var(--student-topbar-height);left:0;display:flex;width:var(--student-sidebar-width);height:calc(100vh - var(--student-topbar-height));flex-direction:column;overflow:hidden;border-right:1px solid var(--color-border);background:#ffffffe0;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);padding:var(--space-5);transition:width .18s ease,padding .18s ease}.main-sidebar.is-drawer{z-index:45;width:min(320px,calc(100vw - 48px));overflow-y:auto;transform:translate(-104%);transition:transform .18s ease}.main-sidebar.is-drawer.is-mobile-open{transform:translate(0)}.main-sidebar.is-drawer .main-nav{grid-template-columns:1fr}.main-sidebar-overlay.is-drawer.is-open{position:fixed;z-index:40;inset:var(--student-topbar-height) 0 0;display:block;background:color-mix(in srgb,var(--color-text) 34%,transparent)}.admin-sidebar,.student-sidebar{border-right:1px solid var(--color-border);background:#ffffffdb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.main-sidebar-head{display:flex;gap:var(--space-3);align-items:center;justify-content:space-between;padding-bottom:var(--space-5);border-bottom:1px solid var(--color-border)}.main-brand{display:inline-flex;min-width:0;align-items:center;gap:var(--space-2);color:var(--color-text);font-weight:900;text-decoration:none}.main-brand-mark{display:inline-flex;width:34px;height:34px;flex:0 0 auto;align-items:center;justify-content:center;border-radius:var(--radius-sm);background:linear-gradient(135deg,var(--color-primary-600),#0f766e);color:#fff;box-shadow:0 12px 26px #3668f73d}.main-brand-text{overflow:hidden;font-size:var(--text-ui);letter-spacing:0;text-overflow:ellipsis;white-space:nowrap}.main-nav{display:grid;gap:6px;margin-top:var(--space-5)}.main-nav-link{display:flex;min-height:46px;align-items:center;gap:var(--space-3);border-radius:var(--radius-xs);padding:11px 12px;color:var(--color-text-soft);font-weight:800;text-decoration:none;transition:background .16s ease,color .16s ease,box-shadow .16s ease}.main-nav-link:hover{background:var(--color-gray-100);color:var(--color-text)}.main-nav-link.active{background:var(--color-primary-50);color:var(--color-primary-700);box-shadow:inset 0 0 0 1px #3668f71f}.main-nav-link svg{flex:0 0 auto}.main-sidebar-card{display:flex;gap:var(--space-3);align-items:flex-start;margin-top:auto;border:1px solid rgba(37,99,235,.16);border-radius:var(--radius-sm);padding:var(--space-4);background:radial-gradient(circle at 88% 12%,rgba(96,165,250,.22),transparent 32%),linear-gradient(135deg,var(--color-primary-50),#ffffff);box-shadow:var(--shadow-sm)}.main-sidebar-card-icon{display:inline-flex;width:34px;height:34px;flex:0 0 auto;align-items:center;justify-content:center;border-radius:var(--radius-xs);background:var(--color-primary-600);box-shadow:0 10px 22px #2563eb33;color:#fff}.main-sidebar-card-text a{width:fit-content;margin-top:var(--space-1);color:var(--color-primary-700);font-size:var(--text-xs);font-weight:900;text-decoration:none}.main-sidebar-card-text{display:grid;gap:3px;min-width:0}.main-sidebar-card-text strong{font-size:var(--text-base)}.main-sidebar-card-text span{color:var(--color-text-muted);font-size:var(--text-sm);line-height:1.35}.main-sidebar-foot{display:flex;margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-border)}.main-shell.is-sidebar-collapsed .main-sidebar{width:var(--student-sidebar-collapsed-width);padding-right:var(--space-3);padding-left:var(--space-3)}.main-shell.is-sidebar-collapsed .main-sidebar-foot,.main-shell.is-sidebar-collapsed .main-sidebar-head{justify-content:center}.main-shell.is-sidebar-collapsed .main-brand-text,.main-shell.is-sidebar-collapsed .main-nav-link span,.main-shell.is-sidebar-collapsed .main-sidebar-card-text{display:none}.main-shell.is-sidebar-collapsed .main-sidebar-head .btn{position:absolute;top:88px}.main-shell.is-sidebar-collapsed .main-nav{margin-top:var(--space-5)}.main-shell.is-sidebar-collapsed .main-nav-link{justify-content:center;padding-right:0;padding-left:0}.main-shell.is-sidebar-collapsed .main-sidebar-card{justify-content:center;padding:var(--space-3)}.main-layout{display:grid;grid-column:2;min-width:0;grid-template-rows:1fr auto}.main-topbar{position:sticky;z-index:20;top:0;display:grid;min-height:var(--student-topbar-height);grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(220px,1fr);gap:var(--space-3);align-items:center;border-bottom:1px solid var(--color-border);background:#f8fbffdb;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);padding:8px 20px}.main-topbar-left,.main-topbar-actions{display:flex;min-width:0;align-items:center}.main-topbar-left{gap:var(--space-2)}.main-mobile-menu-toggle,.main-sidebar-overlay{display:none}.main-topbar-title{margin:0;overflow:hidden;font-size:var(--text-md);font-weight:700;color:var(--color-text, #0f172a);text-overflow:ellipsis;white-space:nowrap}.main-topbar-logo{color:var(--color-primary-800);font-size:var(--text-md);font-weight:900;letter-spacing:.04em;text-transform:uppercase}.main-topbar-center{display:flex;min-width:0;align-items:center;justify-content:center;gap:var(--space-2);border:0;padding:0;background:transparent;color:var(--color-text-muted);font-size:var(--text-md);font-weight:650}.main-topbar-center span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.main-topbar-actions{justify-content:flex-end;gap:var(--space-2)}.main-user-chip{display:inline-flex;min-width:0;align-items:center;gap:var(--space-2);margin-left:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-pill);padding:3px 9px 3px 3px;background:#fff;color:var(--color-text);text-decoration:none;box-shadow:var(--shadow-sm);cursor:pointer;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.main-user-chip:hover{border-color:var(--color-primary-300);box-shadow:var(--shadow-md);transform:translateY(-1px)}.main-user-avatar{display:inline-flex;width:30px;height:30px;flex:0 0 auto;align-items:center;justify-content:center;border-radius:50%;background:var(--color-primary-50);color:var(--color-primary-700);font-weight:900;overflow:hidden}.main-user-avatar-img{width:100%;height:100%;border-radius:50%;object-fit:cover}.main-user-meta{display:grid;gap:1px;min-width:0}.main-user-meta strong,.main-user-meta span{overflow:hidden;max-width:180px;text-overflow:ellipsis;white-space:nowrap}.main-user-meta strong{color:var(--color-text);font-size:var(--text-sm)}.main-user-meta span{color:var(--color-text-muted);font-size:var(--text-xs)}.notification-bell{position:relative;display:inline-flex}.notification-bell-button{position:relative}.notification-bell-count{position:absolute;top:-4px;right:-4px;display:inline-flex;min-width:18px;height:18px;align-items:center;justify-content:center;border:2px solid var(--color-surface);border-radius:var(--radius-pill);background:var(--color-danger-600);color:#fff;font-size:10px;font-weight:900;line-height:1}.notification-dropdown{position:absolute;z-index:70;top:calc(100% + var(--space-2));right:0;display:grid;width:min(380px,calc(100vw - 32px));overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-lg)}.notification-dropdown-head,.notification-item-foot,.notification-card-actions{display:flex;gap:var(--space-3);align-items:center;justify-content:space-between}.notification-dropdown-head{border-bottom:1px solid var(--color-border);padding:var(--space-4)}.notification-dropdown-head>div{display:grid;gap:2px}.notification-dropdown-head strong{font-size:var(--text-md)}.notification-dropdown-head span,.notification-empty,.notification-item p,.notification-item time,.notification-card time{color:var(--color-text-muted);font-size:var(--text-sm)}.notification-dropdown-list{display:grid;max-height:420px;overflow:auto}.notification-empty{margin:0;padding:var(--space-5);text-align:center}.notification-item{display:grid;gap:var(--space-2);border-bottom:1px solid var(--color-border);padding:var(--space-4)}.notification-item.is-unread,.notification-card.is-unread{background:var(--color-primary-50)}.notification-item-head{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center;color:var(--color-text-muted);font-size:var(--text-sm);font-weight:700}.notification-item strong,.notification-card h2{margin:0;color:var(--color-text);font-size:var(--text-md);line-height:1.25}.notification-item p,.notification-card p{margin:0;line-height:1.45}.notification-mark-read{min-height:30px;padding:5px 8px;color:var(--color-primary-700);font-size:var(--text-xs)}.notification-mark-read:hover{background:var(--color-primary-100);color:var(--color-primary-700)}.notification-dropdown-all{padding:var(--space-3) var(--space-4);color:var(--color-primary-700);font-size:var(--text-sm);font-weight:850;text-align:center;text-decoration:none}.notification-dropdown-all:hover{background:var(--color-primary-50)}.main-content{min-width:0;width:min(var(--page-max-width),100%);padding:24px}.main-footer{margin-top:var(--space-6);padding:var(--space-6) 24px var(--space-5);border-top:1px solid var(--color-border);background:var(--color-surface-muted, #f5f8ff);color:var(--color-text-soft)}.main-footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:var(--space-5)}.main-footer-brand strong{color:var(--color-text);font-size:var(--text-md);font-weight:800}.main-footer-brand p{margin:var(--space-2) 0 0;font-size:var(--text-sm);line-height:1.6}.main-footer-operator{color:var(--color-text-muted)}.main-footer-col{display:flex;flex-direction:column;gap:8px}.main-footer-title{margin-bottom:2px;font-size:var(--text-sm);font-weight:800;color:var(--color-text)}.main-footer-col a,.main-footer-brand a{color:var(--color-text-soft);font-size:var(--text-sm);text-decoration:none}.main-footer-col a:hover,.main-footer-brand a:hover{color:var(--color-primary-700, #1d4ed8);text-decoration:underline}.main-footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--space-2);margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--color-border);font-size:var(--text-xs);color:var(--color-text-muted)}.main-footer-bottom a{color:var(--color-text-muted)}.legal-page{min-height:100vh;padding:var(--space-6) var(--space-4);background:var(--color-bg, #f4f7fb)}.legal-shell{max-width:820px;margin:0 auto}.legal-back{display:inline-block;margin-bottom:var(--space-4);color:var(--color-primary-700, #1d4ed8);font-weight:700;text-decoration:none}.legal-lead{color:var(--color-text-muted)}.legal-list{display:flex;flex-direction:column;gap:var(--space-2);margin:var(--space-4) 0 0;padding:0;list-style:none}.legal-list a{display:flex;flex-direction:column;gap:2px;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-xs);background:var(--color-surface, #fff);text-decoration:none}.legal-list a:hover{border-color:var(--color-primary-300, #93c5fd)}.legal-list strong{color:var(--color-text)}.legal-list span{color:var(--color-text-muted);font-size:var(--text-sm)}.legal{padding:clamp(20px,4vw,40px);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface, #fff)}.legal h1{margin:0 0 var(--space-4);font-size:clamp(1.6rem,4vw,2.2rem);color:var(--color-text)}.legal h2{margin:var(--space-5) 0 var(--space-2);padding-top:var(--space-4);border-top:1px solid var(--color-border);font-size:var(--text-lg, 1.2rem);color:var(--color-text)}.legal h3{margin:var(--space-4) 0 var(--space-2);font-size:var(--text-md);color:var(--color-text)}.legal p,.legal li{margin:0 0 var(--space-2);font-size:var(--text-sm);line-height:1.7;color:var(--color-text-soft)}.legal strong{color:var(--color-text)}.legal ul{margin:var(--space-2) 0 var(--space-3);padding-left:var(--space-4)}.legal a{color:var(--color-primary-700, #1d4ed8)}.legal code{padding:1px 5px;border-radius:4px;background:var(--color-surface-muted, #f1f5f9);font-size:.92em}.legal__meta{display:grid;margin:0 0 var(--space-4);overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-xs)}.legal__meta>div{display:grid;grid-template-columns:minmax(140px,.4fr) 1fr;gap:var(--space-3);padding:10px 14px;border-top:1px solid var(--color-border);background:var(--color-surface-muted, #f8fafc)}.legal__meta>div:first-child{border-top:0}.legal__meta dt{margin:0;font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted)}.legal__meta dd{margin:0;font-size:var(--text-sm);color:var(--color-text)}@media(max-width:760px){.main-footer-grid{grid-template-columns:1fr 1fr}}@media(max-width:480px){.main-footer-grid{grid-template-columns:1fr}.legal__meta>div{grid-template-columns:1fr;gap:2px}}.course-page{display:grid;gap:var(--space-4)}.course-breadcrumbs{display:flex;align-items:center;gap:10px;color:var(--color-text-muted);font-size:var(--text-sm);font-weight:600}.course-breadcrumbs a{color:var(--color-text-muted)}.course-breadcrumbs a:hover{color:var(--color-primary-700)}.course-chevron{display:inline-block;width:8px;height:8px;border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;transform:rotate(-45deg)}.course-chevron.right{transform:rotate(-45deg)}.course-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:22px;align-items:start}.course-main-column,.course-right-column{display:grid;gap:var(--space-4);min-width:0}.course-panel{border-radius:var(--radius-sm);transition:border-color .16s ease,box-shadow .16s ease}.course-panel:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-md)}.course-panel-pad{padding:var(--space-4)}.course-hero{display:grid;grid-template-columns:270px minmax(0,1fr) 160px;gap:24px;overflow:hidden;padding:22px}.course-cover{position:relative;min-height:250px;border-radius:var(--radius-sm);background:radial-gradient(circle at 22% 18%,rgba(255,255,255,.9) 0 2px,transparent 3px),radial-gradient(circle at 78% 18%,rgba(255,255,255,.5) 0 2px,transparent 3px),linear-gradient(135deg,rgba(255,255,255,.12),transparent 45%),linear-gradient(135deg,#0e7490,var(--color-primary-800))}.course-cover:before{content:"CH₃     OH";position:absolute;top:28px;left:34px;color:#ffffffdb;font-size:24px}.course-cover:after{content:"";position:absolute;inset:80px 36px 34px;border:2px solid rgba(255,255,255,.62);clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%)}.course-title{margin:8px 0 10px;font-size:var(--text-title-lg);font-weight:700;line-height:1.15;letter-spacing:0}.course-lead{max-width:560px;margin:0 0 18px;color:var(--color-text-soft);font-size:var(--text-base);line-height:1.45}.course-teacher{display:flex;align-items:center;gap:12px;margin-bottom:18px}.course-avatar{display:inline-flex;width:38px;height:38px;flex:0 0 auto;align-items:center;justify-content:center;border-radius:50%;background:radial-gradient(circle at 45% 28%,#f4d1b1 0 20%,transparent 21%),linear-gradient(135deg,#2f241f,#d8a078);color:#ffffffeb}.course-teacher strong,.course-teacher-card h3{display:block;margin:0;font-size:var(--text-base)}.course-teacher span,.course-teacher-card p{margin:0;color:var(--color-text-muted);font-size:var(--text-sm);line-height:1.45}.course-progress-label{display:flex;justify-content:space-between;color:var(--color-text-soft);font-size:var(--text-sm);font-weight:600}.course-progress{height:6px;margin-top:8px;overflow:hidden;border-radius:var(--radius-pill);background:var(--color-gray-100)}.course-progress span{display:block;height:100%;border-radius:inherit;background:var(--color-primary-500)}.course-progress span.success{background:var(--color-success-600)}.course-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}.course-stats-stack{display:grid;align-content:center;gap:18px;border-left:1px solid var(--color-border);padding-left:22px}.course-stat-mini{display:grid;grid-template-columns:28px 1fr;gap:10px;align-items:center}.course-stat-mini strong{display:block;font-size:var(--text-base)}.course-stat-mini span{color:var(--color-text-muted);font-size:var(--text-xs)}.course-icon-chip{display:inline-flex;width:28px;height:28px;align-items:center;justify-content:center;border-radius:9px;font-size:var(--text-sm);font-weight:700}.course-icon-chip.blue,.course-icon-chip.practice{background:var(--color-primary-50);color:var(--color-primary-600)}.course-icon-chip.test{background:var(--color-test-50);color:var(--color-test-700)}.course-icon-chip.green{background:var(--color-success-50);color:var(--color-success-600)}.course-icon-chip.theory{background:var(--color-theory-50);color:var(--color-theory-700)}.course-icon-chip.homework{background:var(--color-homework-50);color:var(--color-homework-700)}.course-section-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin-bottom:12px}.course-section-head h2,.course-card h2{margin:0;font-size:var(--text-ui);font-weight:700}.course-section-head button{display:inline-flex;align-items:center;gap:8px;border:0;background:transparent;color:var(--color-primary-600);cursor:pointer;font:inherit;font-size:var(--text-sm);font-weight:700}.course-module{overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-xs);background:var(--color-surface)}.course-module+.course-module{margin-top:8px}.course-module-head{display:grid;width:100%;min-height:42px;grid-template-columns:26px minmax(0,1fr) auto 24px;align-items:center;border:0;border-bottom:1px solid var(--color-border);background:var(--color-gray-50);color:var(--color-text);cursor:pointer;font:inherit;font-size:var(--text-base);font-weight:700;padding:0 14px;text-align:left;-webkit-user-select:none;user-select:none;transition:background-color .16s ease}.course-module-head>span:nth-child(3){color:var(--color-text);font-variant-numeric:tabular-nums;white-space:nowrap}.course-module-head:hover{background:var(--color-primary-50)}.course-module.collapsed .course-module-head{border-bottom:0}.course-module-arrow{display:grid;width:18px;height:18px;place-items:center;justify-self:center;border-radius:6px;color:var(--color-text-soft);transition:background-color .16s ease,color .16s ease,transform .16s ease}.course-module-arrow:before{content:"";width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translate(-1px,-1px)}.course-module.collapsed .course-module-arrow{transform:rotate(-90deg)}.course-module-head:hover .course-module-arrow{background:var(--color-primary-100);color:var(--color-primary-700)}.course-lesson-row{display:grid;min-height:38px;grid-template-columns:30px 44px minmax(0,1fr) 64px 110px 130px;align-items:center;border-bottom:1px solid var(--color-border);color:var(--color-text-soft);font-size:var(--text-sm);padding:0 14px;text-decoration:none}.course-lesson-row:last-child{border-bottom:0}.course-lesson-row:hover{background:var(--color-surface-muted)}.course-lesson-row.disabled{cursor:default;opacity:.58}.course-lesson-row.disabled:hover{background:transparent}.course-lesson-name{overflow:hidden;color:var(--color-text);font-weight:600;text-overflow:ellipsis;white-space:nowrap}.course-lesson-progress{color:var(--color-text);font-size:var(--text-sm);font-variant-numeric:tabular-nums;font-weight:800;text-align:right;white-space:nowrap}.course-status{display:inline-flex;align-items:center;gap:6px;font-size:var(--text-sm);font-weight:700}.course-status.done{color:var(--color-success-600)}.course-status.active{color:var(--color-primary-600)}.course-status.locked{color:var(--color-text-muted)}.course-card{padding:var(--space-4)}.course-ring-card{display:grid;grid-template-columns:120px 1fr;gap:18px;align-items:center;margin-top:14px}.course-ring{display:grid;width:106px;height:106px;place-items:center;border-radius:50%;background:radial-gradient(circle at center,#fff 56%,transparent 58%),conic-gradient(var(--color-primary-500) 0 var(--course-progress),var(--color-primary-50) var(--course-progress) 100%)}.course-ring strong{display:block;font-size:24px;text-align:center}.course-ring span{display:block;color:var(--color-text-muted);font-size:var(--text-2xs);text-align:center}.course-mini-table{display:grid;gap:10px;color:var(--color-text-soft);font-size:var(--text-sm)}.course-mini-table div{display:flex;justify-content:space-between;gap:var(--space-3)}.course-card-action{display:flex;min-height:34px;align-items:center;justify-content:center;gap:10px;margin-top:14px;border:1px solid var(--color-border);border-radius:var(--radius-xs);color:var(--color-primary-600);font-size:var(--text-sm);font-weight:700;text-decoration:none}.course-card-action:hover{border-color:#3668f75c;background:var(--color-primary-50)}.course-deadline-card,.course-certificate{display:grid;grid-template-columns:48px 1fr;gap:12px;align-items:start;margin-top:14px}.course-date-tile,.course-certificate-icon{display:grid;width:44px;height:44px;place-items:center;border-radius:12px;background:var(--color-homework-50);color:var(--color-homework-700);font-size:var(--text-2xs);font-weight:800}.course-certificate-icon{width:48px;height:48px;background:var(--color-success-50);color:var(--color-success-600)}.course-deadline-card h3{margin:0 0 5px;font-size:var(--text-base)}.course-deadline-card p,.course-certificate p{margin:0;color:var(--color-text-muted);font-size:var(--text-sm);line-height:1.45}.course-teacher-card{display:flex;align-items:center;gap:12px;margin-top:14px}.course-teacher-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}.course-certificate-progress{margin-top:var(--space-4)}.course-module-progress{display:grid;gap:10px;margin-top:14px;color:var(--color-text-soft);font-size:var(--text-sm)}.course-module-line{display:grid;grid-template-columns:minmax(0,1fr) 120px 38px;gap:8px;align-items:center}.course-module-line>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.practice-page{display:grid;gap:var(--space-4)}.practice-panel{border-radius:var(--radius-sm)}.practice-hero{display:grid;grid-template-columns:64px minmax(0,1fr) 180px;gap:var(--space-5);align-items:center;padding:var(--space-6)}.practice-hero-mark{display:grid;width:58px;height:58px;place-items:center;border-radius:var(--radius-sm);background:var(--color-primary-50);color:var(--color-primary-600)}.practice-title{margin:10px 0 8px;font-size:var(--text-display-sm);line-height:1.1}.practice-lead{max-width:680px;margin:0;color:var(--color-text-soft);font-size:var(--text-md);line-height:1.5}.practice-summary{display:grid;justify-items:end;gap:2px;border-left:1px solid var(--color-border);padding-left:var(--space-5)}.practice-summary span,.practice-summary small{color:var(--color-text-muted);font-size:var(--text-sm);font-weight:650}.practice-summary strong{color:var(--color-text);font-size:36px;line-height:1}.practice-feed{display:grid;gap:var(--space-4)}.practice-card{padding:var(--space-5);transition:border-color .16s ease,box-shadow .16s ease,opacity .16s ease}.practice-card:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-md)}.practice-card.is-resolved{opacity:.78}.practice-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);padding-bottom:var(--space-4);border-bottom:1px solid var(--color-border)}.practice-card-title{display:grid;grid-template-columns:38px minmax(0,1fr);gap:var(--space-3);min-width:0}.practice-number{display:grid;width:34px;height:34px;place-items:center;border-radius:10px;background:var(--color-primary-50);color:var(--color-primary-600);font-size:var(--text-base);font-weight:800}.practice-card-title h2{margin:0 0 2px;font-size:var(--text-card);line-height:1.2}.practice-subtopic{margin:0 0 8px;font-size:var(--text-base);color:var(--color-text-muted)}.practice-meta{display:flex;flex-wrap:wrap;gap:6px}.practice-meta span{display:inline-flex;min-height:24px;align-items:center;border:1px solid var(--color-border);border-radius:var(--radius-pill);padding:0 10px;color:var(--color-text-muted);font-size:var(--text-sm);font-weight:650}.practice-card-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.practice-card-body{display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:var(--space-5);padding-top:var(--space-4)}.practice-statement{min-width:0;color:var(--color-text);font-size:var(--text-body);line-height:1.6}.practice-statement .content-renderer>:last-child{margin-bottom:0}.practice-side{display:grid;align-content:start;gap:8px}.practice-side div{display:flex;min-height:42px;align-items:center;justify-content:space-between;gap:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-xs);background:var(--color-surface-muted);padding:0 var(--space-3)}.practice-side span{color:var(--color-text-muted);font-size:var(--text-sm);font-weight:650}.practice-side strong{color:var(--color-text);font-size:var(--text-sm);text-align:right}.practice-details{margin-top:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-xs);background:var(--color-surface-muted);padding:var(--space-3) var(--space-4)}.practice-details summary{color:var(--color-primary-600);cursor:pointer;font-size:var(--text-base);font-weight:800}.practice-details .content-renderer{margin-top:var(--space-3)}.practice-form{display:grid;gap:var(--space-3);margin-top:var(--space-5)}.practice-options{display:grid;gap:8px}.practice-option{display:grid;grid-template-columns:20px minmax(0,1fr);gap:var(--space-3);align-items:start;border:1px solid var(--color-border);border-radius:var(--radius-xs);background:var(--color-surface);padding:var(--space-3);color:var(--color-text);font-size:var(--text-md);line-height:1.45}.practice-option:hover{border-color:var(--color-primary-200);background:var(--color-primary-50)}.practice-option input{margin-top:3px}.practice-input-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-3)}.practice-answer-note{border:1px solid var(--color-warning-200);border-radius:var(--radius-xs);background:var(--color-warning-50);color:var(--color-deadline-700);padding:var(--space-4);font-size:var(--text-base);font-weight:650}.practice-result{display:flex;gap:var(--space-3);align-items:center;border:1px solid var(--color-border);border-radius:var(--radius-xs);padding:var(--space-3) var(--space-4)}.practice-result.is-correct{border-color:var(--color-success-100);background:var(--color-success-50);color:var(--color-success-600)}.practice-result.is-incorrect{border-color:var(--color-danger-50);background:var(--color-danger-50);color:var(--color-danger-600)}.practice-result strong,.practice-result span{display:block}.practice-result span{margin-top:2px;color:var(--color-text-soft);font-size:var(--text-sm);font-weight:650}.practice-form-actions{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-2)}.practice-loader{display:flex;min-height:52px;align-items:center;justify-content:center;gap:8px;color:var(--color-text-muted);font-size:var(--text-base);font-weight:700}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.admin-sidebar{position:sticky;top:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto;height:100vh;overflow:hidden;padding:22px}.admin-brand{display:grid;gap:4px;padding-bottom:18px;border-bottom:1px solid var(--color-border)}.admin-brand-title{margin:0;font-size:var(--text-title);line-height:1.1}.admin-brand-subtitle{color:var(--color-text-muted);font-size:var(--text-sm);font-weight:700;letter-spacing:.04em;text-transform:uppercase}.admin-nav{display:grid;min-height:0;align-content:start;gap:6px;margin-top:22px;overflow-y:auto;overscroll-behavior:contain;padding-right:var(--space-1);scrollbar-gutter:stable}.admin-sidebar-footer{padding-top:var(--space-4);border-top:1px solid var(--color-border)}.admin-main{min-width:0;padding:24px}.admin-main-inner{width:min(var(--page-max-width),100%)}.page-header{display:flex;gap:var(--space-4);align-items:flex-start;justify-content:space-between;margin-bottom:var(--space-5)}.page-title{margin:0 0 6px;font-size:var(--text-display);line-height:1.12}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--space-3);align-items:end}.form-grid-start{align-items:start}.admin-rich-preview{display:-webkit-box;max-width:360px;max-height:72px;overflow:hidden;color:var(--color-text-muted);font-size:var(--text-sm);-webkit-line-clamp:3;-webkit-box-orient:vertical}.manual-review-form{display:grid;gap:var(--space-2);min-width:260px}.manual-review-filters{margin-bottom:var(--space-4)}.manual-review-score-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2)}.checkbox-row{display:inline-flex;gap:var(--space-2);align-items:center;color:var(--color-text);font-size:var(--text-sm)}.manual-review-feedback{display:grid;gap:var(--space-2);min-width:220px}.manual-review-feedback .content-renderer{padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-muted);font-size:var(--text-sm)}.form-grid-wide{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-3)}.notification-filters{display:flex;flex-wrap:wrap;gap:var(--space-2);padding:var(--space-3)}.notification-filter{border:1px solid transparent;border-radius:var(--radius-pill);padding:8px 14px;background:transparent;color:var(--color-text-muted);cursor:pointer;font-size:var(--text-base);font-weight:800}.notification-filter:hover,.notification-filter.active{border-color:var(--color-primary-200);background:var(--color-primary-50);color:var(--color-primary-700)}.notification-list{display:grid;gap:var(--space-3)}.notification-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-4);align-items:start;border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4);background:var(--color-surface)}.notification-card-main{display:grid;gap:var(--space-2);min-width:0}.notification-card-actions{justify-content:flex-end}.admin-notifications-grid{display:grid;grid-template-columns:minmax(320px,.9fr) minmax(360px,1.1fr);gap:var(--space-4);align-items:start}.problem-picker-card{display:grid;width:100%;gap:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:14px;background:var(--color-surface);color:inherit;text-align:left;cursor:pointer}.problem-picker-card:hover{border-color:var(--color-primary-300);background:var(--color-primary-50)}.problem-picker-card.selected{border-color:var(--color-primary-600);box-shadow:0 0 0 2px var(--color-primary-100)}.problem-picker-preview{max-height:140px;overflow:hidden;color:var(--color-text-soft)}.problem-set-page,.problem-set-hero{display:grid;gap:var(--space-5)}.problem-set-hero h1{margin:var(--space-3) 0 var(--space-2);font-size:var(--text-display);line-height:1.12}.problem-set-hero p{max-width:720px;margin:0;color:var(--color-text-soft);font-size:var(--text-md);line-height:1.55}.problem-set-start-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-3)}.problem-set-start-grid>div,.problem-set-attempt-row{display:grid;gap:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-3);background:var(--color-surface-muted)}.problem-set-start-grid svg{color:var(--color-primary-600)}.problem-set-attempt-row{grid-template-columns:minmax(0,1fr) auto;align-items:center}.problem-set-attempt-main{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:var(--space-2);align-items:center}.problem-set-start-grid span,.problem-set-attempt-row span{color:var(--color-text-muted);font-size:var(--text-xs);font-weight:800}.problem-set-start-grid strong,.problem-set-attempt-row strong{color:var(--color-text);font-size:var(--text-title);font-weight:900}.problem-set-workspace{display:grid;gap:var(--space-4);min-width:0}.problem-set-player-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4)}.problem-set-player-head h1{margin:var(--space-2) 0;font-size:var(--text-title-lg);line-height:1.2}.problem-set-player-head p{margin:0;color:var(--color-text-muted);font-size:var(--text-sm)}.problem-set-player-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--space-2)}.problem-set-timer{display:inline-flex;min-width:112px;align-items:center;justify-content:flex-end;gap:var(--space-2);color:var(--color-primary-700);font-variant-numeric:tabular-nums}.problem-set-task-card{display:grid;gap:var(--space-4)}.problem-set-bottom-nav{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:var(--space-4);align-items:center}.problem-set-dots{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.problem-set-dots button{width:10px;height:10px;border:0;border-radius:999px;background:var(--color-gray-200);cursor:pointer}.problem-set-dots button.correct{background:var(--color-success-500)}.problem-set-dots button.incorrect{background:var(--color-danger-500)}.problem-set-dots button.manual-review{background:var(--color-warning-500)}.problem-set-dots button.active{outline:3px solid var(--color-primary-100)}.problem-set-dots button.active:not(.correct):not(.incorrect):not(.manual-review){background:var(--color-primary-600)}.notice{border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:12px 14px;margin-bottom:var(--space-5);background:#fff}.notice.error{border-color:#fecaca;background:var(--color-danger-50);color:var(--color-danger-600)}.notice.warning{border-color:#fde68a;background:var(--color-warning-50);color:var(--color-warning-600)}.course-builder-edit-shell{display:grid;gap:var(--space-4)}.course-builder-edit-head,.course-builder-edit-footer{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.course-builder-edit-head{position:sticky;top:var(--space-3);z-index:20}.course-builder-edit-head-main{display:flex;min-width:0;align-items:center;gap:var(--space-4)}.course-builder-edit-head h2{margin:0;font-size:var(--text-title-md);line-height:1.2}.course-builder-edit-head p{margin:var(--space-1) 0 0;color:var(--color-text-muted);font-size:var(--text-sm)}.course-builder-edit-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--space-2)}.course-builder-edit-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-3)}.course-builder-edit-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-3)}.course-builder-edit-stat,.course-builder-edit-progress{min-width:0;border-radius:var(--radius-md);padding:var(--space-3);background:var(--color-surface-muted)}.course-builder-edit-stat span,.course-builder-edit-progress span,.course-builder-edit-footer span{display:block;color:var(--color-text-muted);font-size:var(--text-sm);font-weight:700}.course-builder-edit-stat strong,.course-builder-edit-progress strong{display:block;margin-top:var(--space-1);color:var(--color-text);font-size:var(--text-title-sm);line-height:1.2}.course-builder-edit-progress .progress{margin-top:var(--space-2)}.course-builder-edit-validation{border-color:var(--color-danger-200);background:var(--color-danger-50);color:var(--color-danger-700)}.course-builder-edit-validation ul{margin:var(--space-2) 0 0;padding-left:var(--space-5)}.course-builder-edit-validation p{margin:var(--space-2) 0 0}.course-builder-edit-footer{position:sticky;bottom:var(--space-3);z-index:20}.course-inline-back{border:0;padding:0;color:var(--color-primary-700);background:transparent;cursor:pointer;font:inherit;font-weight:800}.course-inline-builder{display:grid;gap:var(--space-4)}.course-inline-builder-card,.course-inline-module,.course-inline-lesson{display:grid;gap:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-sm)}.course-inline-builder-card{padding:var(--space-5)}.course-inline-builder-head,.course-inline-module-head,.course-inline-lesson{min-width:0}.course-inline-builder-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.course-inline-builder-head span{color:var(--color-primary-700);font-size:var(--text-xs);font-weight:900;text-transform:uppercase}.course-inline-builder-head h3{margin:var(--space-1) 0 0;font-size:var(--text-title-sm);line-height:1.2}.course-inline-builder-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.course-inline-builder-fields .field:last-child{grid-column:1 / -1}.course-inline-module-list,.course-inline-lesson-list,.course-inline-step-list{display:grid;gap:var(--space-3)}.course-inline-module{padding:var(--space-4);background:linear-gradient(180deg,var(--color-primary-50),transparent 92px),var(--color-surface)}.course-inline-module-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:var(--space-3);align-items:start}.course-inline-drag{display:inline-grid;width:34px;height:42px;place-items:center;color:var(--color-text-muted)}.course-inline-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--space-2)}.course-inline-lesson{grid-template-columns:minmax(0,1fr) auto;padding:var(--space-4);background:var(--color-surface)}.course-inline-lesson-main{display:grid;grid-template-columns:auto minmax(220px,1fr) minmax(160px,220px) auto;gap:var(--space-3);align-items:start;min-width:0}.course-inline-lesson-main>svg{margin-top:34px;color:var(--color-primary-600)}.course-inline-lesson-settings{grid-column:2 / -1;display:grid;grid-template-columns:repeat(2,minmax(150px,1fr));gap:var(--space-3);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-muted)}.course-inline-toggle{display:inline-flex;align-items:center;gap:var(--space-2);min-height:42px;margin-top:25px;color:var(--color-text-soft);font-size:var(--text-sm);font-weight:800;cursor:pointer}.course-inline-toggle input{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0}.course-inline-toggle span{display:inline-grid;width:24px;height:24px;place-items:center;color:transparent;border:1px solid var(--color-border-strong);border-radius:var(--radius-xs);background:var(--color-surface)}.course-inline-toggle input:checked+span{color:var(--color-success-700);border-color:var(--color-success-200);background:var(--color-success-50)}.course-inline-toggle.compact{margin-top:25px}.course-inline-step-list{grid-column:1 / -1;padding-left:42px}.course-inline-step{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:var(--space-3);align-items:start;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-muted)}.course-inline-step-block{display:grid;gap:var(--space-2)}.course-inline-step-editor{display:grid;gap:var(--space-4);margin-left:50px;padding:var(--space-4);border:1px solid var(--color-primary-200);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-sm)}.course-inline-step-editor-heading{display:flex;align-items:center;gap:var(--space-3)}.course-inline-step-editor-heading .course-inline-step-icon{flex:0 0 auto;margin-top:0}.course-inline-step-editor-heading div{display:grid;gap:var(--space-1)}.course-inline-step-editor-heading strong{color:var(--color-text);font-size:var(--text-md)}.course-inline-step-editor-heading span:last-child{color:var(--color-text-muted);font-size:var(--text-sm)}.course-inline-preview{display:grid;gap:var(--space-3);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-muted)}.course-inline-preview>strong{color:var(--color-text-soft);font-size:var(--text-sm)}.course-inline-preview>p{margin:0;color:var(--color-text-muted)}.course-inline-video-preview{width:100%;min-height:360px;border:0;border-radius:var(--radius-sm);background:var(--color-text)}.course-inline-problem-choice{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-muted)}.course-inline-problem-choice>div{display:grid;gap:var(--space-1);min-width:0}.course-inline-problem-choice span,.course-inline-problem-choice small{color:var(--color-text-muted);font-size:var(--text-sm)}.course-inline-problem-choice strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.course-inline-task-settings{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3);align-items:start}.course-inline-step-icon{display:inline-grid;width:38px;height:38px;margin-top:25px;place-items:center;border-radius:var(--radius-xs)}.course-inline-step-icon.video,.course-inline-step-icon.text{color:var(--color-primary-700);background:var(--color-primary-50)}.course-inline-step-icon.task{color:var(--color-success-700);background:var(--color-success-50)}.course-inline-add-steps,.course-inline-add-lesson{justify-self:start}.course-inline-add-steps{display:flex;flex-wrap:wrap;gap:var(--space-2)}@media(max-width:860px){.course-builder-edit-head,.course-builder-edit-footer{align-items:stretch;flex-direction:column}.course-builder-edit-actions{justify-content:stretch}.course-builder-edit-actions .btn{flex:1}.course-builder-edit-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.course-inline-builder-fields,.course-inline-module-head,.course-inline-lesson,.course-inline-lesson-main,.course-inline-step{grid-template-columns:minmax(0,1fr)}.course-inline-step-list{padding-left:0}.course-inline-step-editor{margin-left:0}.course-inline-problem-choice{align-items:stretch;flex-direction:column}.course-inline-task-settings{grid-template-columns:minmax(0,1fr)}.course-inline-lesson-settings{grid-column:auto;grid-template-columns:minmax(0,1fr)}.course-inline-toggle,.course-inline-toggle.compact,.course-inline-step-icon,.course-inline-lesson-main>svg{margin-top:0}}.nav-link,.menu-item{display:flex;min-height:44px;align-items:center;gap:var(--space-3);border-radius:var(--radius-xs);padding:10px 12px;color:var(--color-text-soft);font-weight:700}.nav-link:hover,.menu-item:hover{background:var(--color-gray-100);color:var(--color-text)}.nav-link.active,.menu-item.active{background:var(--color-primary-50);color:var(--color-primary-700)}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--space-6)}.auth-card{width:100%;max-width:400px;padding:40px 36px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.auth-brand{margin-bottom:var(--space-8);text-align:center}.auth-logo{width:52px;height:52px;display:flex;align-items:center;justify-content:center;margin:0 auto var(--space-4);border-radius:var(--radius-sm);background:linear-gradient(135deg,var(--color-primary-500),var(--color-primary-700));color:#fff;box-shadow:0 8px 24px #3668f747}.auth-title{margin:0 0 var(--space-1);font-size:var(--text-title-sm);font-weight:800;color:var(--color-text)}.auth-subtitle{margin:0;font-size:var(--text-md);color:var(--color-text-muted)}.auth-tabs{display:flex;gap:2px;margin-bottom:var(--space-6);padding:4px;border-radius:var(--radius-sm);background:var(--color-gray-100)}.auth-tab{flex:1;padding:9px var(--space-3);border:none;border-radius:10px;background:transparent;color:var(--color-text-muted);font-size:var(--text-md);font-weight:600;transition:background .15s,color .15s,box-shadow .15s}.auth-tab.is-active{background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-sm)}.auth-form{display:flex;flex-direction:column;gap:var(--space-4)}.auth-notice{padding:10px var(--space-4);border-radius:var(--radius-xs);font-size:var(--text-base)}.auth-notice-error{border:1px solid rgba(239,68,68,.2);background:var(--color-danger-50);color:var(--color-danger-600)}.auth-notice-success{border:1px solid rgba(34,197,94,.2);background:var(--color-success-50);color:var(--color-success-600)}.pagination{align-items:center;display:flex;justify-content:space-between;gap:var(--space-3);margin-top:var(--space-4)}.pagination-info,.pagination-page{color:var(--color-text-muted);font-size:var(--text-md);font-weight:600}@media(max-width:900px){.page,.page-narrow{width:min(100% - 24px,var(--page-max-width));padding-top:16px}.grid{grid-template-columns:1fr}.span-12,.span-8,.span-6,.span-4,.span-3{grid-column:auto}.split,.panel-head,.section-head{align-items:stretch;flex-direction:column}.panel{padding:16px}.modal-backdrop{padding:12px}.main-shell,.main-shell.is-sidebar-collapsed{grid-template-columns:1fr}.main-sidebar{position:fixed;z-index:45;top:var(--student-topbar-height);bottom:0;width:min(320px,calc(100vw - 48px));height:auto;overflow-y:auto;padding:var(--space-4);transform:translate(-104%);transition:transform .18s ease}.main-sidebar.is-mobile-open{transform:translate(0)}.main-layout{grid-column:1}.main-sidebar-head{padding-bottom:var(--space-4)}.main-shell.is-sidebar-collapsed .main-sidebar{width:min(320px,calc(100vw - 48px));padding-right:var(--space-4);padding-left:var(--space-4)}.main-shell.is-sidebar-collapsed .main-sidebar-head{justify-content:space-between}.main-shell.is-sidebar-collapsed .main-sidebar-head .btn{position:static}.main-shell.is-sidebar-collapsed .main-brand-text,.main-shell.is-sidebar-collapsed .main-nav-link span,.main-shell.is-sidebar-collapsed .main-sidebar-card-text{display:initial}.main-shell.is-sidebar-collapsed .main-nav{margin-top:var(--space-4)}.main-shell.is-sidebar-collapsed .main-nav-link{justify-content:flex-start;padding-right:12px;padding-left:12px}.main-shell.is-sidebar-collapsed .main-sidebar-card{justify-content:flex-start;padding:var(--space-4)}.main-nav{grid-template-columns:1fr;margin-top:var(--space-4)}.main-sidebar-card,.main-sidebar-foot{display:none}.main-topbar{position:sticky;z-index:50;grid-template-columns:auto 1fr auto;-webkit-backdrop-filter:none;backdrop-filter:none;padding:8px 12px}.main-mobile-menu-toggle{display:inline-flex}.main-brand-text,.main-topbar-center{display:none}.main-user-chip{margin-left:0;border:0;padding:0;background:transparent;box-shadow:none}.main-user-chip:hover{border-color:transparent;box-shadow:none;transform:none}.main-user-avatar{width:34px;height:34px;border:1px solid var(--color-border);background:var(--color-surface)}.main-user-meta{display:none}.notification-dropdown{position:fixed;top:calc(var(--student-topbar-height) + var(--space-2));right:12px;left:12px;width:auto;max-width:380px;margin-left:auto}.notification-dropdown-list{max-height:calc(100dvh - var(--student-topbar-height) - 120px)}.main-sidebar-overlay.is-open{position:fixed;z-index:40;inset:var(--student-topbar-height) 0 0;display:block;background:color-mix(in srgb,var(--color-text) 34%,transparent)}.main-content{padding:16px}.main-footer{align-items:flex-start;flex-direction:column;padding:16px}.course-layout,.course-hero{grid-template-columns:1fr}.course-cover{min-height:190px}.course-stats-stack{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));border-left:0;border-top:1px solid var(--color-border);padding-top:var(--space-4);padding-left:0}.course-lesson-row{grid-template-columns:30px 42px minmax(0,1fr);gap:var(--space-2);padding-top:8px;padding-bottom:8px}.course-lesson-progress{grid-column:3;justify-self:start;text-align:left}.course-lesson-row .badge,.course-status{grid-column:3;justify-self:start}.course-ring-card,.course-deadline-card,.course-certificate,.course-module-line{grid-template-columns:1fr}.practice-hero{grid-template-columns:1fr;padding:var(--space-4)}.practice-summary{justify-items:start;border-top:1px solid var(--color-border);border-left:0;padding-top:var(--space-4);padding-left:0}.practice-card{padding:var(--space-4)}.practice-card-head,.practice-card-body{grid-template-columns:1fr}.practice-card-head{display:grid}.practice-card-actions{justify-content:flex-start}.practice-side{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.admin-shell{grid-template-columns:1fr}.admin-sidebar{position:static;display:block;height:auto;overflow:visible;padding:16px}.admin-nav{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));overflow:visible;padding-right:0}.admin-sidebar-footer{margin-top:16px}.admin-main{padding:16px}.pagination{align-items:stretch;flex-direction:column}}.profile-dashboard{display:grid;min-width:0;gap:var(--space-5)}.profile-dashboard-head h1{margin:0 0 var(--space-1);font-size:var(--text-display-sm);font-weight:900;letter-spacing:0}.profile-dashboard-head p{margin:0;color:var(--color-text-muted);font-size:var(--text-md)}.profile-hero-section{display:grid;grid-template-columns:minmax(300px,1.25fr) minmax(0,2fr);gap:var(--space-4);align-items:stretch}.profile-hero-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-3)}.profile-user-card{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:var(--space-4);min-height:176px}.profile-avatar{position:relative;display:inline-flex;align-items:center;justify-content:center;width:76px;height:76px;color:var(--color-primary-700);background:radial-gradient(circle at 40% 20%,var(--color-deadline-50),transparent 46%),var(--color-primary-50);border:1px solid var(--color-border);border-radius:50%;overflow:hidden;padding:0;cursor:pointer}.profile-avatar .btn-content{position:relative;display:inline-flex;width:100%;height:100%;align-items:center;justify-content:center}.profile-avatar-camera{position:absolute;inset:0;display:inline-flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--color-text) 58%,transparent);color:var(--color-white);opacity:0;transition:opacity .16s ease}.profile-avatar:hover .profile-avatar-camera,.profile-avatar:focus-visible .profile-avatar-camera{opacity:1}.profile-avatar-img{width:100%;height:100%;border-radius:50%;object-fit:cover}.profile-user-info{display:grid;gap:var(--space-1);min-width:0}.profile-user-info h2{margin:0;overflow:hidden;font-size:var(--text-card);font-weight:900;text-overflow:ellipsis;white-space:nowrap}.profile-user-info>span{overflow:hidden;color:var(--color-text-muted);font-size:var(--text-base);text-overflow:ellipsis;white-space:nowrap}.profile-logout-btn{grid-column:1 / -1;width:100%;min-height:38px;color:var(--color-primary-700);border:1px solid var(--color-border);border-radius:var(--radius-xs)}.profile-stat-tile{display:grid;justify-items:center;align-content:center;gap:var(--space-2);min-height:176px;text-align:center}.profile-stat-tile>span:not(.profile-stat-icon){color:var(--color-text-soft);font-size:var(--text-xs);line-height:1.35}.profile-stat-tile strong{color:var(--color-text);font-size:var(--text-stat);font-weight:900;line-height:1}.profile-stat-tile small{color:var(--color-text-muted);font-size:var(--text-2xs);font-weight:750}.profile-stat-icon{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:var(--radius-pill)}.profile-stat-icon.blue{color:var(--color-primary-600);background:var(--color-primary-50)}.profile-stat-icon.green{color:var(--color-success-600);background:var(--color-success-50)}.profile-stat-icon.purple{color:var(--color-test-700);background:var(--color-test-50)}.profile-stat-icon.orange{color:var(--color-deadline-700);background:var(--color-deadline-50)}.profile-stat-icon.red{color:var(--color-homework-700);background:var(--color-homework-50)}.profile-hot-panel{display:grid;gap:var(--space-4)}.profile-hot-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--space-3)}.profile-hot-card{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:var(--space-3);min-height:92px;padding:var(--space-4);color:var(--color-text);text-decoration:none;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-sm)}.profile-hot-card:hover{border-color:var(--color-primary-300);background:var(--color-primary-50)}.profile-hot-card svg{color:var(--color-primary-600)}.profile-hot-card span{display:grid;gap:4px;min-width:0}.profile-hot-card strong,.profile-hot-card small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-hot-card small{color:var(--color-text-muted);font-size:var(--text-sm)}.profile-main-grid,.profile-lower-grid{display:grid;gap:var(--space-4)}.profile-main-grid{grid-template-columns:minmax(0,1fr)}.profile-lower-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.profile-detail-stack{display:grid;gap:var(--space-4)}.profile-panel{display:grid;min-width:0;gap:var(--space-4)}.profile-wide-section{width:100%;min-width:0}.profile-panel-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);overflow:visible}.profile-panel-head h2{margin:0;font-size:var(--text-ui);font-weight:900;letter-spacing:0}.profile-panel-head p{max-width:720px;margin:6px 0 0;color:var(--color-text-muted);font-size:var(--text-sm);line-height:1.45}.profile-panel-head a,.profile-link-row{color:var(--color-primary-600);font-size:var(--text-sm);font-weight:850;text-decoration:none}.profile-panel-controls{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--space-2)}.profile-view-toggle{display:inline-flex;gap:2px;padding:3px;border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface-muted)}.profile-view-toggle.subtle{background:transparent}.profile-view-toggle button{min-height:30px;padding:0 var(--space-3);color:var(--color-text-muted);border:0;border-radius:var(--radius-pill);background:transparent;cursor:pointer;font:inherit;font-size:var(--text-xs);font-weight:850}.profile-view-toggle button:hover,.profile-view-toggle button.active{color:var(--color-primary-700);background:var(--color-surface);box-shadow:var(--shadow-sm)}.profile-activity-layout{display:block;min-width:0}.profile-calendar-shell{max-width:100%;width:100%;overflow-x:auto;overflow-y:hidden;overscroll-behavior-inline:contain;padding:var(--space-2) 0 var(--space-3);scrollbar-gutter:stable}.profile-mobile-calendar{display:none}.profile-calendar{position:relative;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(16px,1fr);grid-template-rows:repeat(7,16px);gap:5px;width:100%;min-width:1108px;overflow:visible}.profile-calendar-months{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(16px,1fr);gap:5px;width:100%;min-width:1108px;margin-top:var(--space-2);color:var(--color-text-muted);font-size:var(--text-xs);font-weight:800;text-transform:capitalize}.profile-calendar-months span{white-space:nowrap}.profile-calendar-day{position:relative;display:inline-block;width:16px;height:16px;border:1px solid var(--color-border);border-radius:4px;cursor:pointer}.profile-calendar-day:focus-visible{outline:2px solid var(--color-primary-500);outline-offset:2px}.profile-calendar-day.is-selected{border-color:var(--color-primary-700);box-shadow:0 0 0 2px var(--color-primary-200)}.profile-calendar-day.level-0{background:var(--color-gray-100)}.profile-calendar-day.level-1{background:var(--color-primary-100)}.profile-calendar-day.level-2{background:var(--color-primary-300)}.profile-calendar-day.level-3{background:var(--color-primary-500)}.profile-calendar-day.level-4{background:var(--color-primary-700)}.profile-activity-chart{display:grid;gap:var(--space-3);min-width:0;min-height:250px}.profile-activity-chart svg{width:100%;min-height:220px;overflow:visible}.profile-activity-chart polyline{fill:none;stroke:var(--color-primary-600);stroke-linecap:round;stroke-linejoin:round;stroke-width:4}.profile-activity-chart circle{fill:var(--color-surface);stroke:var(--color-primary-600);stroke-width:3}.profile-line-chart{position:relative;max-width:100%;min-width:0;min-height:250px}.profile-chart-with-axis{display:grid;grid-template-columns:minmax(0,1fr) 54px;gap:var(--space-3);align-items:stretch;min-width:0}.profile-line-chart svg{display:block;width:100%;height:240px;overflow:visible}.profile-y-axis{display:flex;height:240px;flex-direction:column;justify-content:space-between;box-sizing:border-box;padding:22px 0 26px;color:var(--color-text-muted);font-size:var(--text-xs);font-weight:800;line-height:1;text-align:right}.profile-chart-grid-line{stroke:var(--color-border);stroke-width:1;vector-effect:non-scaling-stroke}.profile-line-chart polygon{fill:url(#activityChartFill)}.profile-line-chart polyline{filter:drop-shadow(0 6px 10px rgba(37,99,235,.16))}.profile-line-chart circle{cursor:pointer;transition:r .16s ease,stroke-width .16s ease,transform .16s ease}.profile-line-tooltip{position:absolute;z-index:20;top:-8px;display:grid;gap:2px;min-width:132px;padding:var(--space-2) var(--space-3);color:var(--color-text);font-size:var(--text-xs);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);box-shadow:var(--shadow-lg);pointer-events:none;transform:translate(-50%)}.profile-line-tooltip strong{font-size:var(--text-xs);font-weight:900}.profile-line-tooltip span{color:var(--color-text-muted)}.parent-dashboard{display:flex;flex-direction:column;gap:var(--space-5)}.parent-child-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--space-3)}.parent-child-card{display:flex;align-items:center;gap:var(--space-3);width:100%;min-height:86px;padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);color:var(--color-text);text-align:left;box-shadow:var(--shadow-sm);cursor:pointer}.parent-child-card:hover,.parent-child-card.is-active{border-color:var(--color-primary-300);background:var(--color-primary-50)}.parent-child-card>span:nth-child(2){display:grid;gap:4px;min-width:0;flex:1}.parent-child-card small{color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.parent-child-avatar{display:grid;place-items:center;width:48px;height:48px;border-radius:var(--radius-lg);background:var(--color-primary-100);color:var(--color-primary-700)}.parent-dashboard-grid{display:grid;grid-template-columns:minmax(280px,2fr) repeat(6,minmax(135px,1fr));gap:var(--space-3);align-items:stretch}.parent-overview-card{display:flex;align-items:center;gap:var(--space-4)}.parent-overview-card h2,.parent-overview-card p{margin:0}.parent-overview-card p{color:var(--color-text-muted)}.parent-overview-card .btn{margin-left:auto;white-space:nowrap}.parent-metric-card{display:grid;gap:8px;align-content:start;min-height:128px}.parent-metric-card svg{color:var(--color-primary-600)}.parent-metric-card span{color:var(--color-text-muted);font-size:var(--font-size-sm)}.parent-metric-card strong{font-size:var(--font-size-2xl);line-height:1}.parent-content-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4);align-items:start}.parent-wide-panel{grid-column:1 / -1}.parent-course-row,.parent-list-row,.parent-mistake-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.parent-course-row>div:first-child,.parent-list-row>div:first-child,.parent-mistake-row>div{display:grid;gap:4px;min-width:0}.parent-course-row small,.parent-list-row small,.parent-mistake-row small{color:var(--color-text-muted)}.parent-progress-block{min-width:170px;display:grid;gap:7px;text-align:right}.parent-activity-strip{display:grid;grid-template-columns:repeat(15,14px);gap:6px}.parent-activity-strip .profile-calendar-day{width:14px;height:14px}.parent-two-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2);color:var(--color-text-muted);font-size:var(--font-size-sm)}.parent-two-cols strong{color:var(--color-text)}.compact-list{gap:var(--space-2)}.form-actions-end{display:flex;align-items:end}.admin-relation-list{display:grid;gap:var(--space-2)}.admin-relation-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);text-decoration:none}.admin-relation-row:hover{border-color:var(--color-primary-300)}.admin-relation-row>div:first-child{display:grid;gap:4px;min-width:0}.admin-relation-row small{color:var(--color-text-muted)}.relation-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}.relation-columns-note{grid-column:1 / -1}.profile-calendar-touch-details{display:none;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2);margin-top:var(--space-2);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-muted);color:var(--color-text-muted);font-size:var(--text-xs)}.profile-calendar-touch-details strong{grid-column:1 / -1;color:var(--color-text);font-size:var(--text-sm)}.profile-calendar-tooltip{position:fixed;z-index:100;display:grid;gap:3px;min-width:180px;padding:9px 10px;pointer-events:none;color:#fff;font-size:var(--text-xs);line-height:1.3;border-radius:var(--radius-xs);background:var(--color-gray-900);box-shadow:var(--shadow-md)}.profile-calendar-tooltip.is-above{transform:translate(-50%,-100%)}.profile-calendar-tooltip.is-below{transform:translate(-50%)}.profile-calendar-legend{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-3);color:var(--color-text-muted);font-size:var(--text-xs)}.profile-activity-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-content:start;gap:var(--space-3);margin-top:var(--space-4)}.profile-activity-summary div{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:var(--space-2);padding:var(--space-3);color:var(--color-primary-600);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-muted)}.profile-activity-summary span{color:var(--color-text-soft);font-size:var(--text-xs);line-height:1.35}.profile-activity-summary strong{grid-column:2;color:var(--color-text);font-size:var(--text-card);font-weight:900;white-space:nowrap}.profile-chart-panel{min-height:260px}.profile-checking-panel{min-height:360px}.profile-checking-layout{display:block;min-width:0}.profile-checking-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-content:start;gap:var(--space-3);margin-top:var(--space-4)}.profile-checking-summary div{display:grid;gap:var(--space-1);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-muted)}.profile-checking-summary span{color:var(--color-text-muted);font-size:var(--text-xs);font-weight:800}.profile-checking-summary strong{color:var(--color-text);font-size:var(--text-card);font-weight:900}.profile-chart{position:relative;display:block;min-height:200px}.profile-chart.profile-line-chart polygon{fill:url(#checkingChartFill)}.profile-chart svg{width:100%;height:240px;overflow:visible;background:transparent}.profile-chart polyline{fill:none;stroke:var(--color-primary-600);stroke-linecap:round;stroke-linejoin:round;stroke-width:4}.profile-chart circle{fill:var(--color-primary-600);stroke:#fff;stroke-width:3}.profile-chart-empty{display:grid;place-items:center;min-height:200px;color:var(--color-text-muted);font-size:var(--text-md);background:var(--color-surface-muted);border:1px dashed var(--color-border);border-radius:var(--radius-sm)}.profile-chart-labels{display:flex;min-width:0;justify-content:space-between;gap:var(--space-2);padding-right:calc(54px + var(--space-3));color:var(--color-text-muted);font-size:var(--text-xs)}.profile-chart-labels span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-review-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5)}.profile-review-panel{min-height:260px}.profile-review-grid>div{display:grid;gap:var(--space-3);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.profile-review-grid>div>strong{color:var(--color-text);font-size:var(--text-ui);font-weight:900}.profile-review-row{display:grid;grid-template-columns:minmax(90px,1fr) minmax(70px,110px) auto;align-items:center;gap:var(--space-2);color:var(--color-text-soft);font-size:var(--text-xs)}.profile-review-row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-review-row i{display:block;overflow:hidden;height:4px;background:var(--color-gray-200);border-radius:var(--radius-pill)}.profile-review-row b{display:block;height:100%;background:var(--color-primary-600);border-radius:inherit}.profile-muted{color:var(--color-text-muted);font-size:var(--text-xs)}.profile-course-cover{display:grid;place-items:center;align-self:start;width:56px;height:56px;color:#fff;background:radial-gradient(circle at 70% 24%,rgba(255,255,255,.3),transparent 32%),linear-gradient(135deg,var(--color-primary-700),var(--color-theory-700));border-radius:var(--radius-sm)}.profile-course-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-2);margin-top:var(--space-3)}.profile-course-stats span{display:grid;gap:2px;padding:var(--space-2);text-align:center;background:var(--color-surface-muted);border-radius:var(--radius-xs)}.profile-course-stats strong{color:var(--color-text)}.profile-course-list{display:grid;gap:var(--space-3)}.profile-course-row-card{display:grid;grid-template-columns:56px minmax(0,1fr) minmax(150px,auto);align-items:start;gap:var(--space-4);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-sm)}.profile-course-main{display:grid;gap:var(--space-3);min-width:0}.profile-course-main h3{margin:0 0 4px;color:var(--color-text);font-size:var(--text-ui);font-weight:900}.profile-course-main span{color:var(--color-text-muted);font-size:var(--text-sm)}.profile-course-side{display:grid;justify-items:end;gap:var(--space-2);text-align:right}.profile-course-side strong{color:var(--color-text);font-size:var(--text-card);font-weight:900}.group-work-page{display:grid;gap:var(--space-5)}.group-work-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-3)}.group-work-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:var(--space-4)}.group-work-list,.group-work-cards,.group-work-course-list,.group-work-student-list{display:grid;gap:var(--space-2)}.group-work-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--space-3);padding:var(--space-3);color:inherit;text-decoration:none;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.group-work-row:hover{border-color:var(--color-primary-300);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.group-work-icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;color:var(--color-primary-600);background:var(--color-primary-50);border-radius:var(--radius-xs)}.group-work-row>span:not(.group-work-icon):not(.group-work-row-meta){display:grid;gap:3px;min-width:0}.group-work-row strong,.group-work-card strong{overflow:hidden;color:var(--color-text);font-size:var(--text-sm);font-weight:900;text-overflow:ellipsis;white-space:nowrap}.group-work-row small,.group-work-card span,.group-work-student-list span{overflow:hidden;color:var(--color-text-muted);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap}.group-work-row-meta{display:grid;justify-items:end;gap:var(--space-1);min-width:120px}.group-work-card{display:grid;gap:var(--space-3);padding:var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.group-work-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.group-work-card-head>div{display:grid;gap:3px;min-width:0}.group-work-card-head .badge{display:inline-flex;align-items:center;gap:var(--space-1)}.group-work-course-list a{display:flex;align-items:center;gap:var(--space-2);min-width:0;color:var(--color-primary-700);font-size:var(--text-xs);font-weight:850;text-decoration:none}.group-work-student-list{display:flex;flex-wrap:wrap}.group-work-student-list span{max-width:180px;padding:5px 8px;background:var(--color-surface-muted);border-radius:var(--radius-pill)}@media(max-width:1420px){.profile-hero-section{grid-template-columns:minmax(0,1fr)}.profile-hot-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.profile-lower-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:980px){.profile-main-grid,.profile-lower-grid,.profile-activity-layout,.profile-checking-layout,.profile-course-row-card,.group-work-grid{grid-template-columns:minmax(0,1fr)}.profile-hero-metrics,.profile-hot-grid,.profile-activity-summary,.profile-checking-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-panel-head{align-items:flex-start;flex-direction:column}.profile-panel-controls{width:100%;justify-content:flex-start}.profile-chart-with-axis{min-width:520px}.profile-line-chart,.profile-checking-layout{overflow-x:auto;overflow-y:hidden;overscroll-behavior-inline:contain;padding-bottom:var(--space-2)}.profile-checking-layout .profile-line-chart{min-width:520px;overflow:visible;padding-bottom:0}.profile-line-tooltip{display:none}.profile-chart-labels{min-width:520px}.group-work-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.profile-hero-metrics,.profile-review-grid,.problem-set-start-grid,.profile-hot-grid,.profile-activity-summary,.profile-checking-summary,.group-work-summary{grid-template-columns:minmax(0,1fr)}.profile-dashboard{gap:var(--space-4)}.profile-user-card{grid-template-columns:64px minmax(0,1fr);gap:var(--space-3);min-height:0}.profile-avatar{width:64px;height:64px}.profile-stat-tile{min-height:132px}.profile-panel-controls{display:grid;grid-template-columns:minmax(0,1fr)}.profile-view-toggle{max-width:100%;overflow-x:auto;justify-content:flex-start;border-radius:var(--radius-sm);scrollbar-width:none}.profile-view-toggle::-webkit-scrollbar{display:none}.profile-view-toggle button{flex:0 0 auto}.profile-calendar-shell{display:none}.profile-mobile-calendar{display:grid;gap:var(--space-3)}.profile-calendar-touch-details{display:grid}.profile-mobile-calendar-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--space-2)}.profile-mobile-calendar-head strong{text-align:center;text-transform:capitalize}.profile-mobile-calendar-weekdays,.profile-mobile-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.profile-mobile-calendar-weekdays{color:var(--color-text-muted);font-size:var(--text-2xs);font-weight:850;text-align:center}.profile-mobile-calendar-grid .profile-calendar-day,.profile-mobile-calendar-empty{width:100%;aspect-ratio:1;height:auto}.profile-mobile-calendar-grid .profile-calendar-day{display:grid;place-items:center;min-width:0;border-radius:var(--radius-xs)}.profile-mobile-calendar-empty{display:block}.profile-mobile-calendar-date{color:var(--color-text-soft);font-size:var(--text-2xs);font-weight:850;line-height:1}.profile-mobile-calendar-grid .profile-calendar-day.level-3 .profile-mobile-calendar-date,.profile-mobile-calendar-grid .profile-calendar-day.level-4 .profile-mobile-calendar-date{color:var(--color-white)}.profile-calendar-legend{flex-wrap:wrap}.profile-chart-with-axis,.profile-chart-labels,.profile-checking-layout .profile-line-chart{min-width:460px}.profile-chart-with-axis{grid-template-columns:minmax(0,1fr) 44px;gap:var(--space-2)}.profile-y-axis{font-size:var(--text-2xs)}.profile-chart-labels{padding-right:calc(44px + var(--space-2))}.profile-review-grid>div{min-width:0;padding:var(--space-3)}.profile-review-row{grid-template-columns:minmax(0,1fr) auto}.profile-review-row .progress{grid-column:1 / -1;grid-row:2}.profile-course-row-card{grid-template-columns:48px minmax(0,1fr);gap:var(--space-3);padding:var(--space-3)}.profile-course-cover{width:48px;height:48px}.profile-course-side{grid-column:1 / -1;grid-template-columns:auto auto minmax(120px,1fr);align-items:center;justify-items:stretch;text-align:left}.profile-course-side strong{text-align:center}.profile-course-side .btn{width:100%}.profile-course-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.problem-set-attempt-row,.problem-set-attempt-main{grid-template-columns:minmax(0,1fr)}.problem-set-attempt-row .btn{width:100%}.problem-set-player-head,.problem-set-bottom-nav{grid-template-columns:minmax(0,1fr);display:grid}.group-work-row{grid-template-columns:auto minmax(0,1fr)}.group-work-row-meta{grid-column:1 / -1;justify-items:start;min-width:0}.profile-calendar{grid-template-rows:repeat(7,14px);gap:4px}.profile-calendar-day{width:14px;height:14px}}@media(max-width:420px){.profile-course-stats,.profile-course-side{grid-template-columns:minmax(0,1fr)}.profile-course-side strong{text-align:left}}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.course-catalog-page{display:grid;gap:var(--space-8)}.course-catalog-title-row h1{margin:0;color:var(--color-text);font-size:var(--text-display);font-weight:800;letter-spacing:0}.course-catalog-section{display:grid;gap:var(--space-4)}.course-catalog-section-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.course-catalog-section-title{display:flex;align-items:center;gap:var(--space-3)}.course-catalog-section-title h2{margin:0;font-size:var(--text-title-sm);font-weight:800;letter-spacing:0}.course-catalog-grid{display:grid;gap:var(--space-5)}.course-catalog-grid-current,.course-catalog-grid-purchase{grid-template-columns:repeat(3,minmax(0,1fr))}.catalog-card-skeleton{min-height:410px}.current-course-card,.purchase-course-card{display:grid;overflow:hidden;min-width:0;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.current-course-card:hover,.purchase-course-card:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-md);transform:translateY(-2px)}.course-card-link,.course-card-title-link{color:inherit;text-decoration:none}.course-cover{position:relative;min-height:154px;overflow:hidden;background:radial-gradient(circle at 70% 22%,rgba(255,255,255,.36),transparent 0 10%,transparent 28%),linear-gradient(135deg,var(--color-theory-700),var(--color-primary-800));background-position:center;background-size:cover}.course-cover:before,.course-cover:after{position:absolute;content:"";pointer-events:none}.course-cover:before{inset:0;background:linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px);background-size:42px 42px;opacity:.55}.course-cover:after{right:-36px;bottom:-48px;width:190px;height:190px;border:1px solid rgba(255,255,255,.35);border-radius:50%}.course-cover-organic{background:radial-gradient(circle at 58% 44%,rgba(134,239,172,.46),transparent 0 12%,transparent 32%),linear-gradient(135deg,var(--color-theory-700),#047857)}.course-cover-physics{background:radial-gradient(circle at 72% 30%,rgba(196,181,253,.48),transparent 0 14%,transparent 34%),linear-gradient(135deg,var(--color-test-700),#4c1d95)}.course-cover-analytic{background:radial-gradient(circle at 75% 34%,rgba(253,230,138,.48),transparent 0 12%,transparent 32%),linear-gradient(135deg,var(--color-warning-500),#ea580c)}.course-cover-ege{background:radial-gradient(circle at 68% 28%,rgba(191,212,255,.5),transparent 0 14%,transparent 34%),linear-gradient(135deg,var(--color-primary-700),var(--color-theory-500))}.course-cover-status{position:absolute;z-index:2;top:var(--space-3);left:var(--space-3);background:#ffffffeb;box-shadow:var(--shadow-sm)}.course-cover-art{position:absolute;inset:0;z-index:1}.course-cover-formula{position:absolute;left:38px;bottom:34px;color:#ffffffe0;font-size:var(--text-title);font-weight:600}.course-cover-formula.secondary{left:76px;bottom:74px;font-size:var(--text-heading)}.course-cover-flask{position:absolute;right:62px;bottom:24px;width:58px;height:92px;border:4px solid rgba(255,255,255,.66);border-top-width:12px;border-radius:10px 10px 28px 28px;transform:skew(-8deg)}.course-cover-bubble{position:absolute;display:block;border-radius:50%;background:#ffffff57;box-shadow:inset 0 0 18px #ffffff38}.bubble-a{right:146px;bottom:42px;width:44px;height:44px}.bubble-b{right:198px;top:38px;width:70px;height:70px}.bubble-c{right:112px;top:30px;width:28px;height:28px}.current-course-body,.purchase-course-body{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-4)}.course-card-main{display:grid;gap:var(--space-2)}.course-card-tags,.purchase-course-stats,.purchase-course-topics div{display:flex;flex-wrap:wrap;gap:var(--space-2)}.course-card-title-link h2{display:-webkit-box;margin:0;overflow:hidden;color:var(--color-text);font-size:var(--text-card);font-weight:800;line-height:1.22;letter-spacing:0;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2}.course-card-description{display:-webkit-box;min-height:42px;margin:0;overflow:hidden;color:var(--color-text-soft);font-size:var(--text-base);line-height:1.5;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3}.course-progress-block{display:grid;gap:var(--space-2)}.course-progress-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);color:var(--color-text-muted);font-size:var(--text-sm)}.course-progress-head strong{color:var(--color-text);font-weight:800}.course-progress-bar{height:7px}.current-course-next{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--space-3);min-height:54px;padding:var(--space-3);color:var(--color-primary-700);background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:var(--radius-sm);text-decoration:none;transition:background .16s ease,border-color .16s ease,box-shadow .16s ease}.current-course-next:hover{background:var(--color-primary-50);border-color:var(--color-primary-200);box-shadow:var(--shadow-sm)}.current-course-next div{display:grid;gap:2px;min-width:0}.current-course-next span{color:var(--color-text-muted);font-size:var(--text-xs)}.current-course-next strong{overflow:hidden;color:var(--color-text);font-size:var(--text-sm);font-weight:700;text-overflow:ellipsis;white-space:nowrap}.course-card-meta-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding-top:var(--space-1)}.course-author{display:flex;align-items:center;min-width:0;gap:var(--space-2)}.course-avatar{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;width:34px;height:34px;color:var(--color-primary-700);background:var(--color-primary-50);border-radius:50%}.course-author div{display:grid;gap:1px;min-width:0}.course-author strong,.course-author span,.course-lessons-count{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.course-author strong{font-size:var(--text-sm);font-weight:800}.course-author span,.course-lessons-count{color:var(--color-text-muted);font-size:var(--text-xs)}.course-lessons-count{display:inline-flex;flex:0 0 auto;align-items:center;gap:var(--space-2)}.course-card-action-btn{margin-top:auto;width:100%}.purchase-course-card{min-height:460px}.purchase-course-stats span{display:inline-flex;align-items:center;gap:var(--space-1);color:var(--color-text-muted);font-size:var(--text-xs)}.purchase-course-audience,.purchase-course-topics{display:grid;gap:var(--space-1);color:var(--color-text-soft);font-size:var(--text-xs)}.purchase-course-audience strong,.purchase-course-topics strong{color:var(--color-text);font-size:var(--text-xs)}.purchase-course-topics span{display:inline-flex;align-items:center;min-height:24px;padding:3px 9px;color:var(--color-text-soft);font-size:var(--text-2xs);font-weight:700;background:var(--color-gray-100);border-radius:var(--radius-pill)}.purchase-course-footer{display:flex;align-items:end;justify-content:space-between;gap:var(--space-3);align-self:stretch;margin-top:auto;padding-top:var(--space-2)}.purchase-course-price{flex:0 0 auto;font-size:var(--text-title-sm);font-weight:900;letter-spacing:0}.purchase-course-actions{display:flex;flex:1 1 auto;flex-wrap:nowrap;justify-content:flex-end;gap:var(--space-2)}.purchase-course-actions .btn{flex:1 1 0;min-width:0;white-space:nowrap}@media(max-width:1280px){.course-catalog-grid-current,.course-catalog-grid-purchase{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.course-catalog-section-head,.purchase-course-footer,.course-card-meta-row{align-items:stretch;flex-direction:column}.course-catalog-grid-current,.course-catalog-grid-purchase{grid-template-columns:minmax(0,1fr)}.course-catalog-section-head .btn,.purchase-course-actions,.purchase-course-actions .btn{width:100%}.purchase-course-actions{display:grid;grid-template-columns:1fr 1fr}.course-cover{min-height:142px}}.course-study-shell{min-height:100vh;background:linear-gradient(180deg,var(--color-primary-50) 0,transparent 260px),var(--color-bg)}.course-study-topbar{position:sticky;top:0;z-index:30;display:grid;grid-template-columns:minmax(220px,1fr) minmax(360px,560px) minmax(280px,1fr);align-items:center;gap:var(--space-3);min-height:var(--student-topbar-height);padding:0 var(--space-5);border-bottom:1px solid var(--color-border);background:color-mix(in srgb,var(--color-surface) 92%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.course-study-topbar-left,.course-study-actions{position:relative;display:flex;align-items:center;gap:var(--space-2)}.course-study-actions{justify-content:flex-end}.course-study-search{display:flex;align-items:center;gap:var(--space-2);min-height:40px;padding:0;color:var(--color-text-muted);border:0;border-radius:0;background:transparent}.course-study-search span{flex:1;min-width:0;overflow:hidden;font-size:var(--text-sm);font-weight:750;text-overflow:ellipsis;white-space:nowrap}.course-study-search kbd{padding:2px 8px;color:var(--color-text-soft);font-size:var(--text-2xs);font-weight:850;border:1px solid var(--color-border);border-radius:var(--radius-xs);background:var(--color-bg-soft)}.course-study-outline-toggle{display:none}.course-study-layout{width:100%;margin:0;padding:var(--space-5) var(--space-5) var(--space-8) calc(340px + var(--space-5))}.course-study-content{display:grid;gap:var(--space-4);min-width:0}.course-study-content>.page,.course-study-content>.page-narrow,.course-study-content>.study-page-state{padding-top:0;padding-bottom:0}.study-page-state{width:min(100% - 48px,980px);margin:0 auto;padding:var(--space-5) 0}.study-step-header{display:grid;gap:var(--space-2)}.study-step-breadcrumbs{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2);color:var(--color-text-muted);font-size:var(--text-sm);font-weight:750}.study-step-breadcrumbs span:not(:last-child):after{content:"/";margin-left:var(--space-2);color:var(--color-border-strong)}.study-step-context-card{display:flex;align-items:flex-start;min-width:0;gap:var(--space-3);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-sm)}.study-step-type-icon{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;width:44px;height:44px;color:var(--color-primary-700);background:var(--color-primary-50);border-radius:var(--radius-xs)}.study-step-context-main{display:grid;min-width:0;gap:var(--space-3)}.study-step-context-label,.study-step-topic-chips{display:flex;flex-wrap:wrap;gap:var(--space-2)}.study-step-context-label .badge{gap:var(--space-1)}.study-step-topic-chips span{display:inline-flex;align-items:center;min-height:30px;padding:0 var(--space-3);color:var(--color-primary-700);font-size:var(--text-xs);font-weight:850;border:1px solid var(--color-primary-100);border-radius:var(--radius-pill);background:var(--color-primary-50)}.study-checking-panel,.study-result-panel{display:grid;gap:var(--space-2);color:var(--color-text-soft);font-size:var(--text-md)}.study-checking-panel{border-color:var(--color-warning-200);background:var(--color-warning-50)}.study-checking-panel.active{border-color:var(--color-success-100);background:var(--color-success-50)}.study-checking-panel.closed{border-color:var(--color-border);background:var(--color-bg-soft)}.study-checking-panel strong,.study-result-panel strong{color:var(--color-text);font-size:var(--text-ui)}.study-checking-actions{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-2)}.checking-work-intro{display:grid;gap:var(--space-4)}.checking-work-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-5);padding:var(--space-5)}.checking-work-hero-main{display:grid;max-width:760px;gap:var(--space-3)}.checking-work-hero-main h1{margin:0;color:var(--color-text);font-size:var(--text-display-sm);line-height:1.12}.checking-work-hero-main p,.checking-work-section-head p{margin:0;color:var(--color-text-muted);font-size:var(--text-md);font-weight:750}.checking-work-hero-action{display:grid;justify-items:end;min-width:220px;gap:var(--space-2)}.checking-work-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-3)}.checking-work-card{display:grid;gap:var(--space-2);padding:var(--space-4)}.checking-work-card-icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;color:var(--color-primary-700);border-radius:var(--radius-xs);background:var(--color-primary-50)}.checking-work-card span:not(.checking-work-card-icon){color:var(--color-text-muted);font-size:var(--text-sm);font-weight:850}.checking-work-card strong{color:var(--color-text);font-size:var(--text-xl);font-weight:950}.checking-work-card small{color:var(--color-text-muted);font-size:var(--text-xs);font-weight:750}.checking-work-rules,.checking-work-history{display:grid;gap:var(--space-3);padding:var(--space-4)}.checking-work-rules h2,.checking-work-section-head h2,.study-result-head h2{margin:0;color:var(--color-text);font-size:var(--text-lg);font-weight:950}.checking-work-rules ul{display:grid;gap:var(--space-2);margin:0;padding-left:1.1rem;color:var(--color-text-soft);font-size:var(--text-md);font-weight:750}.checking-work-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.checking-work-section-head>div{display:grid;gap:var(--space-1)}.checking-work-empty{padding:var(--space-4);color:var(--color-text-muted);font-size:var(--text-md);font-weight:800;border:1px dashed var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-soft)}.checking-work-attempt-link{padding:0;color:var(--color-primary-700);font:inherit;font-weight:850;text-align:left;border:0;background:transparent;cursor:pointer}.checking-work-attempt-link:disabled{color:var(--color-text-muted);cursor:default}.study-result-panel{display:grid;gap:var(--space-4);padding:var(--space-5)}.study-result-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4)}.study-result-head>div:first-child{display:grid;gap:var(--space-2)}.study-result-head p{margin:0;color:var(--color-text-muted);font-size:var(--text-sm);font-weight:750}.study-result-score{display:grid;min-width:128px;justify-items:end;gap:var(--space-1)}.study-result-score strong{color:var(--color-primary-700);font-size:var(--text-display-sm);font-weight:950;line-height:1}.study-result-score span{color:var(--color-text-muted);font-size:var(--text-sm);font-weight:850}.study-result-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:var(--space-3)}.study-result-stats>div{display:grid;gap:var(--space-1);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-xs);background:var(--color-bg-soft)}.study-result-stats span{color:var(--color-text-muted);font-size:var(--text-xs);font-weight:850}.study-result-stats strong{color:var(--color-text);font-size:var(--text-xl);font-weight:950}.study-result-table-wrap{overflow:visible}.study-result-problem-cell{position:relative;display:inline-flex}.study-result-problem-cell button{padding:0;color:var(--color-primary-700);font:inherit;font-weight:850;text-align:left;border:0;background:transparent;cursor:pointer}.study-result-problem-preview{position:absolute;left:0;bottom:calc(100% + var(--space-2));z-index:40;display:none;width:min(520px,calc(100vw - 48px));max-height:320px;overflow:auto;padding:var(--space-3);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);box-shadow:var(--shadow-lg)}.study-result-problem-cell:hover .study-result-problem-preview,.study-result-problem-cell:focus-within .study-result-problem-preview{display:block}.study-result-answer-list{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-1)}.study-bottom-nav{position:sticky;bottom:var(--space-4);z-index:20;display:grid;grid-template-columns:142px minmax(0,1fr) 142px;align-items:center;gap:var(--space-4);margin-top:var(--space-5);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:color-mix(in srgb,var(--color-surface) 94%,transparent);box-shadow:var(--shadow-md);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.study-bottom-nav-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:44px;padding:0 var(--space-4);color:var(--color-primary-700);font-size:var(--text-md);font-weight:850;text-decoration:none;border:1px solid var(--color-border);border-radius:var(--radius-xs);background:var(--color-surface)}.study-bottom-nav-button.primary{color:#fff;border-color:var(--color-primary-600);background:var(--color-primary-600)}.study-bottom-nav-button.disabled{color:var(--color-text-muted);background:var(--color-bg-soft);cursor:not-allowed;opacity:.62}.study-bottom-nav-center{display:grid;min-width:0;gap:var(--space-2)}.study-bottom-nav-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);color:var(--color-text-muted);font-size:var(--text-sm);font-weight:800}.study-bottom-nav-head strong{color:var(--color-text-soft);font-variant-numeric:tabular-nums}.lesson-step-rail-wrap{position:relative;display:flex;align-items:center;min-width:0;gap:var(--space-2)}.lesson-step-rail{display:flex;align-items:center;min-width:0;gap:var(--space-2);overflow:hidden}.lesson-step-rail-item{position:relative;display:grid;grid-template-columns:auto auto;align-items:center;gap:2px 5px;min-width:42px;min-height:34px;padding:4px 8px;color:var(--color-text-muted);text-decoration:none;border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface)}.lesson-step-rail-item small{grid-column:1 / -1;overflow:hidden;max-width:56px;font-size:var(--text-2xs);font-weight:750;line-height:1;text-overflow:ellipsis;white-space:nowrap}.lesson-step-rail-icon{display:inline-flex}.lesson-step-rail-item>span:not(.lesson-step-rail-icon){color:var(--color-text-soft);font-size:var(--text-sm);font-weight:900;line-height:1}.lesson-step-rail-item:hover,.lesson-step-rail-item.active{color:var(--color-primary-700);border-color:var(--color-primary-200);background:var(--color-primary-50)}.lesson-step-rail-item.completed,.lesson-step-rail-item.correct{color:var(--color-success-600);border-color:var(--color-success-100);background:var(--color-success-50)}.lesson-step-rail-item.incorrect{color:var(--color-danger-600);border-color:var(--color-danger-500);background:var(--color-danger-50)}.lesson-step-rail-item.active{box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary-500) 16%,transparent)}.lesson-step-rail-ellipsis{display:inline-flex;align-items:center;justify-content:center;width:24px;color:var(--color-text-muted)}.lesson-step-all{position:relative;flex:0 0 auto}.lesson-step-all-popover{position:absolute;right:0;bottom:calc(100% + var(--space-2));z-index:30;display:grid;width:min(340px,calc(100vw - 32px));max-height:360px;overflow:auto;padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-md)}.lesson-step-all-link{display:grid;grid-template-columns:28px 22px minmax(0,1fr) 18px;align-items:center;gap:var(--space-2);padding:var(--space-2);color:var(--color-text-soft);text-decoration:none;border-radius:var(--radius-xs)}.lesson-step-all-link:hover,.lesson-step-all-link.active{color:var(--color-primary-700);background:var(--color-primary-50)}.lesson-step-all-link.completed{color:var(--color-success-600)}.lesson-step-all-link strong{overflow:hidden;font-size:var(--text-sm);font-weight:850;text-overflow:ellipsis;white-space:nowrap}.lesson-step-rail-empty{display:flex;align-items:center;gap:var(--space-2);color:var(--color-text-muted);font-size:var(--text-sm);font-weight:800}.study-step-content-shell{display:grid;gap:var(--space-5);padding:var(--space-5)}.study-step-locked{padding:var(--space-4);color:var(--color-warning-600);font-size:var(--text-md);font-weight:850;border:1px solid var(--color-warning-200);border-radius:var(--radius-xs);background:var(--color-warning-50)}.study-text-step,.study-video-step,.study-task-step{display:grid;min-width:0;gap:var(--space-4)}.study-video-frame{width:100%;min-height:360px;border:0;border-radius:var(--radius-sm);aspect-ratio:16 / 9;background:var(--color-bg-soft)}.study-task-statement{padding-bottom:var(--space-3);border-bottom:1px solid var(--color-border)}.step-help-panels{display:grid;gap:var(--space-3)}.step-help-panel{overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-soft)}.step-help-panel summary{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);cursor:pointer;list-style:none}.step-help-panel summary::-webkit-details-marker{display:none}.step-help-panel summary svg{flex:0 0 auto;color:var(--color-primary-600)}.step-help-panel summary span{display:grid;gap:2px}.step-help-panel summary strong{color:var(--color-text);font-size:var(--text-md);font-weight:900}.step-help-panel summary small{color:var(--color-text-muted);font-size:var(--text-sm);font-weight:750}.step-help-content{padding:0 var(--space-3) var(--space-3) calc(var(--space-3) + 32px)}.study-task-review-row{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-3)}.study-task-review-row span{color:var(--color-text-muted);font-size:var(--text-sm);font-weight:800}.study-task-form,.study-answer-options,.study-answer-grid{display:grid;gap:var(--space-3)}.study-answer-option{display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-3);color:var(--color-text-soft);font-size:var(--text-md);font-weight:800;border:1px solid var(--color-border);border-radius:var(--radius-xs);background:var(--color-surface);cursor:pointer}.study-answer-option:hover,.study-answer-option.selected{color:var(--color-primary-700);border-color:var(--color-primary-200);background:var(--color-primary-50)}.study-answer-option input{flex:0 0 auto;margin-top:3px}.study-task-notice,.study-task-error,.study-task-result{padding:var(--space-3);font-size:var(--text-sm);font-weight:800;border-radius:var(--radius-xs)}.study-task-notice{color:var(--color-text-soft);border:1px solid var(--color-border);background:var(--color-bg-soft)}.uploaded-answer-file{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-xs);background:var(--color-bg-soft)}.uploaded-answer-file a{min-width:0;overflow:hidden;color:var(--color-primary-700);font-weight:750;text-overflow:ellipsis;white-space:nowrap}.study-task-error{color:var(--color-danger-600);border:1px solid var(--color-danger-500);background:var(--color-danger-50)}.study-task-result{display:grid;gap:var(--space-1);border:1px solid var(--color-border)}.study-task-result.correct{color:var(--color-success-600);border-color:var(--color-success-100);background:var(--color-success-50)}.study-task-result.incorrect{color:var(--color-danger-600);border-color:var(--color-danger-500);background:var(--color-danger-50)}.study-task-result strong{color:inherit;font-size:var(--text-md);font-weight:900}.study-task-settings{display:flex;flex-wrap:wrap;gap:var(--space-2);color:var(--color-text-muted);font-size:var(--text-sm);font-weight:800}.course-structure-sidebar{position:fixed;top:var(--student-topbar-height);bottom:0;left:0;z-index:20;width:340px;min-width:0;overflow:hidden}.course-structure-sidebar.is-drawer{display:none}.course-structure-panel{display:grid;grid-template-rows:auto minmax(0,1fr) auto;height:100%;overflow:hidden;padding:0;border-left:0;border-radius:0 var(--radius-md) var(--radius-md) 0}.course-structure-fixed-head,.course-structure-fixed-footer{position:relative;z-index:1;background:var(--color-surface)}.course-structure-fixed-head{display:grid;gap:var(--space-4);padding:var(--space-4);border-bottom:1px solid var(--color-border)}.course-structure-fixed-footer{padding:var(--space-4);border-top:1px solid var(--color-border)}.course-structure-scroll{min-height:0;overflow:auto;padding:var(--space-4)}.course-structure-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.course-structure-head span{color:var(--color-text-muted);font-size:var(--text-xs);font-weight:850}.course-structure-head h2{margin:var(--space-1) 0 0;color:var(--color-text);font-size:var(--text-ui);font-weight:900;line-height:1.2}.course-structure-progress{display:grid;gap:var(--space-2)}.course-structure-progress>div:first-child{display:flex;justify-content:space-between;gap:var(--space-3);color:var(--color-text-muted);font-size:var(--text-xs);font-weight:800}.course-structure-progress strong{color:var(--color-primary-700)}.course-structure-progress-track{height:6px;overflow:hidden;border-radius:var(--radius-pill);background:var(--color-border)}.course-structure-progress-track span{display:block;height:100%;border-radius:inherit;background:var(--color-primary-600)}.course-structure-modules{display:grid;gap:var(--space-3)}.course-structure-module{display:grid;gap:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--color-border)}.course-structure-module-head{display:flex;align-items:center;justify-content:space-between;width:100%;gap:var(--space-3);padding:0;color:inherit;font:inherit;text-align:left;border:0;background:transparent;cursor:pointer}.course-structure-module-head>div{display:flex;align-items:center;min-width:0;gap:var(--space-1)}.course-structure-module-head svg{transition:transform .16s ease}.course-structure-module.collapsed .course-structure-module-head svg{transform:rotate(-90deg)}.course-structure-module-head strong{overflow:hidden;color:var(--color-text);font-size:var(--text-sm);font-weight:900;text-overflow:ellipsis;white-space:nowrap}.course-structure-lessons{display:grid;gap:var(--space-1)}.course-structure-lesson{display:grid;grid-template-columns:22px minmax(0,1fr);gap:var(--space-2);align-items:center;padding:var(--space-2) var(--space-3);color:var(--color-text-soft);text-decoration:none;border:1px solid transparent;border-radius:var(--radius-xs)}.course-structure-lesson:hover,.course-structure-lesson.active{color:var(--color-primary-700);border-color:var(--color-primary-100);background:var(--color-primary-50)}.course-structure-lesson.done .course-structure-lesson-icon{color:var(--color-success-600)}.course-structure-lesson.passed{color:var(--color-success-600);border-color:var(--color-success-100);background:var(--color-success-50)}.course-structure-lesson.failed{color:var(--color-danger-600);border-color:var(--color-danger-500);background:var(--color-danger-50)}.course-structure-lesson.passed .course-structure-lesson-icon,.course-structure-lesson.failed .course-structure-lesson-icon{color:currentColor}.course-structure-lesson.disabled{opacity:.55}.course-structure-lesson-icon{display:inline-flex;color:var(--color-text-muted)}.course-structure-lesson-text{display:grid;min-width:0;gap:2px}.course-structure-lesson-text strong,.course-structure-lesson-text small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.course-structure-lesson-text strong{font-size:var(--text-xs);font-weight:850}.course-structure-lesson-text small{color:var(--color-text-muted);font-size:var(--text-2xs);font-weight:750}.problem-set-structure-task{grid-template-columns:22px minmax(0,1fr) auto;width:100%;font:inherit;text-align:left;background:transparent;cursor:pointer}.problem-set-structure-task:disabled{cursor:default}.problem-set-structure-task.failed{color:var(--color-danger-600);border-color:var(--color-danger-500);background:var(--color-danger-50)}.problem-set-structure-empty{margin:0;color:var(--color-text-muted);font-size:var(--text-sm);line-height:1.5}.problem-set-structure-back{width:100%}.course-structure-back{display:flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:42px;color:var(--color-primary-700);font-size:var(--text-sm);font-weight:850;text-decoration:none;border:1px solid var(--color-border);border-radius:var(--radius-xs)}.course-study-overlay{display:none}@media(max-width:1120px){.course-study-topbar{grid-template-columns:auto minmax(0,1fr) auto;-webkit-backdrop-filter:none;backdrop-filter:none;padding:0 var(--space-3)}.course-study-actions .main-user-meta{display:none}.course-study-actions .main-user-chip{margin-left:0;border:0;padding:0;background:transparent;box-shadow:none}.course-study-actions .main-user-chip:hover{border-color:transparent;box-shadow:none;transform:none}.course-study-outline-toggle{display:inline-flex}.course-study-layout{width:min(100% - 32px,980px);margin:0 auto;padding-top:var(--space-4);padding-right:0;padding-left:0}.course-structure-sidebar:not(.is-drawer){display:none}.course-structure-sidebar.is-drawer{position:fixed;inset:0 auto 0 0;z-index:60;display:block;width:min(360px,calc(100vw - 32px));padding:var(--space-3);background:var(--color-surface);transform:translate(-104%);transition:transform .18s ease}.course-structure-sidebar.is-drawer.is-open{transform:translate(0)}.course-structure-sidebar.is-drawer .course-structure-panel{max-height:calc(100vh - 24px)}.course-study-overlay.is-open{position:fixed;inset:0;z-index:55;display:block;background:#0f172a57}.checking-work-grid,.study-result-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.course-study-topbar{grid-template-columns:auto 1fr auto;gap:var(--space-2);min-height:52px}.course-study-search{display:none}.course-study-layout{width:min(100% - 24px,720px);padding-top:var(--space-4)}.study-step-context-card{flex-direction:column}.study-bottom-nav{grid-template-columns:1fr 1fr;bottom:var(--space-2);gap:var(--space-2);padding:var(--space-2)}.study-bottom-nav-center{grid-column:1 / -1;grid-row:1}.study-bottom-nav-button{grid-row:2;min-height:40px}.lesson-step-rail{overflow-x:auto;padding:3px}.lesson-step-rail-item{flex:0 0 auto}.study-step-content-shell{padding:var(--space-4)}.study-video-frame{min-height:220px}.step-help-content{padding-left:var(--space-3)}.checking-work-hero,.study-result-head{flex-direction:column}.checking-work-hero-action,.study-result-score{justify-items:stretch;width:100%}.checking-work-grid,.study-result-stats{grid-template-columns:1fr}.study-result-table-wrap{overflow:auto}.notification-card,.admin-notifications-grid{grid-template-columns:1fr}.notification-card-actions{justify-content:flex-start}}@media(max-width:1280px){.parent-dashboard-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.parent-overview-card{grid-column:1 / -1}}@media(max-width:860px){.parent-dashboard-grid,.parent-content-grid{grid-template-columns:1fr}.parent-course-row,.parent-list-row,.parent-mistake-row{align-items:flex-start;flex-direction:column}.parent-progress-block{width:100%;min-width:0;text-align:left}.parent-overview-card{align-items:flex-start;flex-direction:column}.parent-overview-card .btn{margin-left:0}.relation-columns{grid-template-columns:1fr}}.import-preview-row>td{background:var(--color-surface-muted);padding:var(--space-4)}.import-row-excluded>td{opacity:.5;text-decoration:line-through}.import-row-excluded>td:last-child{text-decoration:none}.import-row-messages{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-2)}.import-row-expand{display:inline-flex;align-items:center;gap:4px;padding:0;border:0;background:transparent;text-align:left}.import-row-expand:focus-visible{border-radius:2px;outline:2px solid var(--color-primary-500);outline-offset:2px}.import-row-remove{background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-xs);color:var(--color-text-muted);cursor:pointer;flex-shrink:0;font-size:var(--text-sm);line-height:1;padding:4px 8px}.import-row-remove:hover{background:var(--color-danger-50);border-color:var(--color-danger-600);color:var(--color-danger-600)}.import-row-excluded .import-row-remove:hover{background:var(--color-success-50);border-color:var(--color-success-600);color:var(--color-success-600)}.problem-preview{display:flex;flex-direction:column;gap:var(--space-3);max-width:720px}.problem-preview-chips{display:flex;flex-wrap:wrap;gap:var(--space-1)}.problem-preview-chip{background:var(--color-primary-50);border-radius:var(--radius-pill);color:var(--color-primary-700);font-size:var(--text-2xs);padding:2px var(--space-2)}.problem-preview-statement{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-3)}.problem-preview-answer{display:flex;flex-direction:column;gap:var(--space-2)}.problem-preview-answer-label{color:var(--color-text-muted);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em}.problem-preview-correct{background:var(--color-success-50);border-radius:var(--radius-sm);color:var(--color-success-600);font-size:var(--text-sm);margin:0;padding:var(--space-2) var(--space-3)}.problem-preview-extra>summary{color:var(--color-primary-700);cursor:pointer;font-size:var(--text-sm)}.problem-preview-extra[open]>summary{margin-bottom:var(--space-2)}
