:root{--bg: #f8efe8;--bg-strong: #f2e0d3;--bg-secondary: #f6e9df;--surface: rgba(255, 249, 243, .96);--surface-strong: #fffdf9;--surface-soft: #f8ece3;--surface-muted: #efddd1;--text: #4a1520;--muted: #7d5a55;--line: #e7cdbb;--primary: #6f1221;--primary-dark: #4d0c16;--primary-soft: #a1384d;--primary-tint: rgba(111, 18, 33, .1);--accent: #caa24d;--accent-soft: #f3e2ad;--accent-deep: #8f6b1d;--success: #2f8f63;--danger: #b3261e;--warning: #b9821e;--sidebar-bg: #58101c;--sidebar-bg-deep: #3f0912;--sidebar-text: #f4de9d;--scroll-track: #f4e3d8;--scroll-thumb: #6f1221;--scroll-thumb-hover: #8f6b1d;--shadow: 0 24px 60px rgba(77, 12, 22, .12);--radius-xl: 32px;--radius-lg: 24px;--radius-md: 18px;--radius-sm: 14px;--sidebar-width: 308px;font-family:Trebuchet MS,Segoe UI,sans-serif;color:var(--text);background:radial-gradient(circle at top left,rgba(202,162,77,.16),transparent 30%),radial-gradient(circle at bottom right,rgba(111,18,33,.1),transparent 28%),linear-gradient(180deg,#fcf6f1,#f3e5db)}*{box-sizing:border-box}html{scroll-behavior:smooth;scrollbar-color:var(--scroll-thumb) var(--scroll-track);scrollbar-width:thin}html::-webkit-scrollbar,body::-webkit-scrollbar{width:12px;height:12px}html::-webkit-scrollbar-track,body::-webkit-scrollbar-track{background:var(--scroll-track)}html::-webkit-scrollbar-thumb,body::-webkit-scrollbar-thumb{background:linear-gradient(180deg,var(--scroll-thumb),var(--accent));border:3px solid var(--scroll-track);border-radius:999px}html::-webkit-scrollbar-thumb:hover,body::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,var(--primary-dark),var(--scroll-thumb-hover))}body,#root{min-height:100vh}body{margin:0;min-width:320px;color:var(--text);background:radial-gradient(circle at top left,rgba(202,162,77,.16),transparent 30%),radial-gradient(circle at bottom right,rgba(111,18,33,.1),transparent 28%),linear-gradient(180deg,#fcf6f1,#f3e5db)}button,input,textarea,select{font:inherit}button:disabled{cursor:wait;opacity:.72}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}pre{margin:0;white-space:pre-wrap;font-family:inherit}.sidebar,.table-scroll,.modal-card{scrollbar-width:none;-ms-overflow-style:none}.sidebar::-webkit-scrollbar,.table-scroll::-webkit-scrollbar,.modal-card::-webkit-scrollbar{display:none}.brand-logo{object-fit:cover}.app-shell{min-height:100vh}.app-shell__content{min-height:100vh;margin-left:var(--sidebar-width)}.page-content{padding:24px 24px 28px}.page-stack{display:grid;gap:24px}.loading-screen,.auth-page{min-height:100vh;display:grid;place-items:center;padding:12px;background:radial-gradient(circle at top,rgba(202,162,77,.24),transparent 25%),radial-gradient(circle at bottom right,rgba(111,18,33,.18),transparent 28%),linear-gradient(180deg,#fcf5ef,#f0ddd1)}.loading-screen__card,.auth-card,.hero-card,.card,.modal-card{background:var(--surface);border:1px solid rgba(231,205,187,.92);box-shadow:var(--shadow);border-radius:var(--radius-xl);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.loading-screen__card{width:min(460px,100%);padding:32px;text-align:center}.loading-screen__logo{width:110px;height:110px;margin:0 auto 16px}.loading-screen__headline{display:inline-flex;align-items:center;justify-content:center;gap:10px;margin-top:10px;color:var(--muted)}.loading-screen__bar{margin-top:20px;height:10px;background:var(--surface-muted);border-radius:999px;overflow:hidden}.loading-screen__bar span{display:block;width:45%;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent),var(--primary));animation:loadingBar 1.05s ease-in-out infinite alternate}.auth-card{width:min(760px,100%);padding:34px}.auth-card--wide{display:grid;gap:20px}.auth-brand,.sidebar__brand,.navbar__left,.navbar__right,.content-card__meta,.card-actions,.test-card__header,.feedback-card__header,.audio-player__header,.pdf-viewer__header,.section-heading,.progress__label,.timer,.speaking-recorder__header,.speaking-recorder__actions,.modal-card__header,.hero-card__actions,.filter-row{display:flex;align-items:center;gap:12px;margin-top:1rem;margin-bottom:1rem}.navbar__left,.navbar__right,.content-card__meta,.card-actions,.test-card__header,.feedback-card__header,.audio-player__header,.pdf-viewer__header,.section-heading,.progress__label,.timer,.speaking-recorder__header,.speaking-recorder__actions,.modal-card__header{justify-content:space-between}.auth-brand{align-items:center;gap:18px}.auth-brand__logo{width:84px;height:84px;padding:4px;border-radius:50%;object-fit:cover;background:#fff7e6f2;border:2px solid rgba(202,162,77,.45);flex-shrink:0}.eyebrow,.eyebrow-1{margin:0 0 3px;color:var(--accent-deep);font-size:.82rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.hero-card__description{margin-top:.5rem!important;color:var(--muted);font-size:clamp(.95rem,1.3vw,1.05rem);line-height:1.5}.eyebrow-1{opacity:.92}.auth-intro,.empty-copy,.content-card__body p,.content-library-card__body p,.feedback-card__content p,.question-card__options,.prose-block p,.reading-passage p,.writing-prompt,.speaking-recorder p,.demo-credentials__card span,.profile-grid span,.content-preview__notes p,.hero-card p,.test-card__header p{margin:0;color:var(--muted)}.hero-card p,.test-card__header p,.feedback-card__content p,.content-preview__notes p,.reading-passage p{line-height:1.6}.auth-form,.question-list,.prose-card,.prose-block,.writing-block,.progress,.speaking-recorder,.upload-form,.modal-form,.question-builder,.content-preview__notes,.profile-card,.analytics-list{display:grid;gap:14px}.auth-form label,.upload-form label,.modal-form label,.writing-block label,.assignment-form label{display:grid;gap:.5rem}.form-grid{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid__wide{grid-column:1 / -1}.auth-form input,.auth-form select,.upload-form input,.upload-form select,.upload-form textarea,.modal-form input,.modal-form select,.modal-form textarea,.assignment-form input,.assignment-form select,.writing-block textarea,.assignment-form textarea{width:100%;padding:14px 16px;border-radius:14px;border:1px solid var(--line);outline:none;color:var(--text);background:#fffcf8f2}.auth-form input:focus,.auth-form select:focus,.upload-form input:focus,.upload-form select:focus,.upload-form textarea:focus,.modal-form input:focus,.modal-form select:focus,.modal-form textarea:focus,.assignment-form input:focus,.assignment-form select:focus,.writing-block textarea:focus,.assignment-form textarea:focus{border-color:#caa24dbf;box-shadow:0 0 0 4px #caa24d2e}.auth-switch{margin:0;color:var(--muted)}.auth-switch a,.text-link,.pdf-viewer__header a{color:var(--primary);font-weight:700}.not-found-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at top left,rgba(202,162,77,.16),transparent 34%),linear-gradient(180deg,#fffaf4,#f6ece2)}.not-found-card{width:min(560px,100%);display:grid;gap:16px;justify-items:start;padding:32px;border-radius:24px;border:1px solid rgba(202,162,77,.28);background:#fffcf8f2;box-shadow:0 30px 80px #4d0c1624}.not-found-card__logo{width:72px;height:72px;object-fit:contain}.not-found-card h1{margin:0;color:var(--primary-dark);font-size:2rem}.not-found-card p{margin:0;color:var(--muted);line-height:1.65}.not-found-card__actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:4px}.demo-credentials{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.demo-credentials__card{display:grid;gap:6px;padding:18px;border-radius:18px;border:1px solid rgba(202,162,77,.24);background:linear-gradient(180deg,#fbf1e7,#f6e5d5)}.sidebar{position:fixed;inset:0 auto 0 0;z-index:30;width:var(--sidebar-width);display:flex;flex-direction:column;gap:26px;padding:28px 20px;overflow-y:auto;background:radial-gradient(circle at top,rgba(202,162,77,.18),transparent 28%),linear-gradient(180deg,var(--sidebar-bg) 0%,var(--sidebar-bg-deep) 100%);color:var(--sidebar-text);border-right:1px solid rgba(202,162,77,.22)}.sidebar__brand strong{display:block;margin-bottom:4px;color:#fff4d0;font-size:1.1rem}.sidebar__brand p,.sidebar__footer p,.sidebar__footer span{margin:0;color:#f4de9dbd}.sidebar__logo{width:72px;height:72px;padding:4px;border-radius:50%;border:2px solid rgba(202,162,77,.55);object-fit:cover;background:#fff6e4eb;flex-shrink:0}.sidebar__nav{display:grid;gap:10px}.sidebar__link{display:block;padding:14px 16px;border-radius:18px;color:#fff0c4db;border:1px solid transparent;transition:.25s ease}.sidebar__link:hover,.sidebar__link--active{background:#caa24d2e;color:#fff6d6;border-color:#caa24d52;transform:translate(4px)}.sidebar__link-content{display:inline-flex;align-items:center;gap:10px}.sidebar__footer{margin-top:auto;gap:8px;padding-left:1rem;font-size:14px}.sidebar__backdrop{display:none}.navbar{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 24px;background:#fff8f2f0;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid rgba(230,207,193,.9)}.navbar__title-block{min-width:0;display:flex;flex-direction:column}.navbar__title-block h2,.hero-card h3,.auth-card h1,.section-heading h2,.modal-card__header h3,.loading-screen__card h1,.profile-card h2,.empty-state h3{margin:0;color:var(--accent-deep);line-height:1.2}.navbar__logo{width:56px;height:56px;padding:3px;border-radius:50%;border:2px solid rgba(202,162,77,.5);object-fit:cover;flex-shrink:0}.navbar__menu{display:none}.navbar__user{display:flex;flex-direction:column;align-items:flex-end;gap:2px;color:var(--muted)}.icon-inline,.meta-inline__icon{flex-shrink:0}.hero-card{display:grid;grid-template-columns:1fr;gap:24px;padding:28px}.hero-card h3{font-size:clamp(1.55rem,2vw,2.15rem)}.hero-card--blue{background:radial-gradient(circle at top right,rgba(202,162,77,.18),transparent 34%),linear-gradient(180deg,#fffaf6f7,#f7e9dff5)}.hero-card__stats,.dashboard-grid,.content-grid,.split-layout,.content-layout,.content-preview,.profile-grid{display:grid;gap:20px}.hero-card__stats,.dashboard-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.content-grid{grid-template-columns:1fr}.split-layout{grid-template-columns:repeat(2,minmax(0,1fr))}.content-layout{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}.content-layout--student{grid-template-columns:minmax(280px,340px) minmax(0,1fr);align-items:start}.dashboard-card,.metric-card,.test-card,.content-card,.content-library-card,.feedback-card{display:grid;gap:10px;min-width:0;height:100%}.dashboard-card,.metric-card{padding:12px;border-radius:var(--radius-lg);background:linear-gradient(180deg,#fbf1e7,#f6e5d5);border:1px solid rgba(202,162,77,.24)}.dashboard-card strong,.metric-card strong{font-size:clamp(1.1rem,1vw,1.5rem);color:var(--primary-dark)}.dashboard-card span,.dashboard-card p,.metric-card p{margin:0}.dashboard-card span,.dashboard-card p,.metric-card p,.test-card__header p,.hero-card p,.content-card__body p,.content-library-card__body p{font-size:clamp(.92rem,1.2vw,1rem)}.dashboard-card--info{background:linear-gradient(180deg,#faf1e8,#f3dfd1)}.dashboard-card--success{background:linear-gradient(180deg,#f6f1e6,#efe3ce)}.card,.test-card{padding:24px}.content-card{overflow:hidden;padding:0;grid-template-columns:minmax(240px,300px) minmax(0,1fr);align-items:stretch}.content-card__image,.content-library-card__image{width:100%;height:220px;object-fit:cover;background:var(--surface-soft)}.content-card__body,.content-library-card__body{display:grid;gap:14px;padding:22px}.content-card__body h3,.test-card__header h3,.feedback-card__header h3,.question-card h4,.prose-card h3,.reading-passage h4{margin:0;color:var(--primary-dark);line-height:1.25}.test-card__header h3,.content-card__body h3,.content-library-card__body h3{font-size:clamp(1.05rem,1.6vw,1.25rem)}.content-card__meta{flex-wrap:wrap}.content-library{display:grid;gap:18px}.content-library--compact{position:sticky;top:96px}.content-library--single-column{grid-template-columns:1fr}.content-library--single-column .content-library-card{grid-template-columns:minmax(180px,220px) minmax(0,1fr);align-items:stretch}.content-library--compact .content-library-card__image,.compact-card-grid .content-library-card__image{height:150px}.content-library--single-column .content-library-card__image{height:100%;min-height:180px}.content-library--compact .content-library-card__body,.compact-card-grid .content-library-card__body{padding:18px;gap:12px}.content-library--single-column .content-library-card__body{padding:18px 20px;gap:12px}.content-library-card{overflow:hidden;border-radius:var(--radius-lg);border:1px solid rgba(202,162,77,.2);background:#fffaf6f2;box-shadow:0 18px 44px #4d0c1614}.content-library-card--active{border-color:#caa24d75;box-shadow:0 22px 52px #6f12211f}.content-preview{gap:22px}.content-preview--student{min-height:100%}.content-preview--lesson-open{gap:24px}.content-preview__hero,.content-detail__hero{display:grid;gap:22px;grid-template-columns:minmax(260px,320px) minmax(0,1fr)}.content-detail__image{width:100%;min-height:240px;border-radius:22px;object-fit:cover;background:var(--surface-soft)}.content-detail__summary{display:grid;gap:14px}.section-heading--with-tools{align-items:flex-start}.section-tools{min-width:280px;display:grid;gap:12px}.dashboard-grid--compact{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-grid--features,.compact-card-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.dashboard-grid--features{align-items:stretch}.manage-tests-hero{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:22px;padding:30px;background:radial-gradient(circle at 12% 18%,rgba(202,162,77,.22),transparent 30%),radial-gradient(circle at 88% 12%,rgba(111,18,33,.14),transparent 34%),linear-gradient(135deg,#fffcf8fa,#f7e8dcf0)}.manage-tests-hero:after{content:"";position:absolute;right:-70px;bottom:-80px;width:220px;height:220px;border-radius:44px;background:linear-gradient(135deg,#caa24d33,#6f12211f);transform:rotate(18deg)}.manage-tests-hero>*{position:relative;z-index:1}.manage-tests-hero h2,.manage-test-card h3,.manage-test-form__section h3,.question-builder__heading h3{margin:0;color:var(--primary-dark)}.manage-tests-hero h2{max-width:760px;font-size:clamp(1.55rem,3vw,2.45rem);line-height:1.12}.manage-tests-hero p:not(.eyebrow){max-width:720px;margin:10px 0 0;color:var(--muted);line-height:1.65}.manage-tests-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.manage-tests-toolbar{display:grid;gap:14px;grid-template-columns:minmax(240px,1fr) minmax(150px,190px) minmax(150px,190px);align-items:end}.manage-tests-toolbar label,.manage-tests-search{display:grid;gap:8px;color:var(--muted);font-weight:700}.manage-tests-toolbar input,.manage-tests-toolbar select{width:100%;padding:13px 15px;border-radius:14px;border:1px solid var(--line);outline:none;color:var(--text);background:#fffcf8f2}.manage-tests-toolbar input:focus,.manage-tests-toolbar select:focus{border-color:#caa24dbf;box-shadow:0 0 0 4px #caa24d2e}.manage-tests-grid{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));align-items:stretch}.manage-test-card{position:relative;overflow:hidden;display:grid;gap:18px;min-height:280px;background:linear-gradient(180deg,#fffcf8fa,#f7ebe2f5);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}.manage-test-card:before{content:"";position:absolute;inset:0 auto 0 0;width:7px;background:linear-gradient(180deg,var(--accent),var(--primary))}.manage-test-card:hover{transform:translateY(-4px);border-color:#caa24d6b;box-shadow:0 28px 62px #4d0c1624}.manage-test-card__top,.manage-test-card__actions,.question-builder__heading,.question-builder__card-header,.manage-test-form__footer{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.manage-test-card__body{display:grid;gap:10px}.manage-test-card__body p{margin:0;color:var(--muted);line-height:1.6}.manage-test-card__type{display:inline-flex;align-items:center;width:fit-content;padding:9px 13px;border-radius:999px;color:#fff8df;background:linear-gradient(135deg,var(--primary),var(--primary-soft));font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.manage-test-card__type--reading,.manage-test-card__type--listening{background:linear-gradient(135deg,#8f6b1d,#caa24d)}.manage-test-card__type--writing,.manage-test-card__type--speaking{background:linear-gradient(135deg,#4d0c16,#a1384d)}.manage-test-card__meta{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.manage-test-card__meta span{display:inline-flex;align-items:center;gap:8px;min-width:0;padding:11px 12px;border-radius:15px;border:1px solid rgba(202,162,77,.2);background:#fffcf8e6;color:var(--primary-dark);font-weight:700}.manage-test-card__meta svg{flex-shrink:0;color:var(--accent-deep)}.manage-test-card__actions{justify-content:flex-start;margin-top:auto}.modal-card--wide{width:min(980px,100%)}.manage-test-form{gap:18px}.manage-test-form__section{display:grid;gap:14px;padding:18px;border-radius:22px;border:1px solid rgba(202,162,77,.22);background:linear-gradient(180deg,#fffcf8e6,#f8ece3cc)}.manage-test-form__section>div:first-child p{margin-bottom:4px}.manage-test-form__stack{display:grid;gap:14px}.manage-test-form__hint{margin:0;padding:12px 14px;border-radius:16px;color:var(--muted);background:#caa24d1a;border:1px solid rgba(202,162,77,.18);line-height:1.55}.question-builder__heading h3{font-size:1.05rem}.question-builder__card{display:grid;gap:14px;background:#fffcf8eb}.question-builder__task-card{align-content:start}.question-builder__task-toggle{display:flex;align-items:center;gap:10px;flex:1 1 260px;min-width:0;padding:0;border:0;color:var(--text);background:transparent;text-align:left;cursor:pointer}.question-builder__task-toggle svg{flex-shrink:0;color:var(--accent-deep);transition:transform .2s ease}.question-builder__task-card--closed .question-builder__task-toggle svg{transform:rotate(-90deg)}.question-builder__task-title{display:grid;gap:6px;min-width:0}.question-builder__task-summary{color:var(--muted);font-size:.86rem;font-weight:700;line-height:1.35}.question-builder__task-panel{display:grid;gap:14px;padding-top:14px;border-top:1px solid rgba(202,162,77,.2)}.question-builder__option-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}.question-card input[type=text],.question-card input:not([type]){width:100%;padding:12px 14px;border-radius:14px;border:1px solid var(--line);outline:none;color:var(--text);background:#fffcf8f2}.exam-step[type=button]{text-align:left;cursor:pointer}.danger-button--subtle{padding:8px 12px;background:#b3261e1a}.manage-test-form__footer{position:sticky;bottom:-24px;justify-content:flex-end;padding:16px 0 0;background:linear-gradient(180deg,rgba(255,249,243,0),var(--surface) 35%)}.manage-tests-empty{grid-column:1 / -1}.pill,.status-dot{display:inline-flex;align-items:center;width:fit-content;padding:8px 12px;border-radius:999px;background:#caa24d29;color:var(--accent-deep);border:1px solid rgba(202,162,77,.26);font-weight:700;font-size:.84rem}.pill--soft{background:var(--surface-soft);color:var(--muted);border-color:var(--line)}.card-link{width:fit-content;height:fit-content}.meta-inline,.pill--with-icon,.primary-button--with-icon,.danger-button--with-icon,.secondary-button--with-icon{display:inline-flex;align-items:center;gap:8px}.primary-button--with-icon,.danger-button--with-icon,.secondary-button--with-icon{justify-content:center}.primary-button,.secondary-button,.danger-button,.icon-button{border:none;cursor:pointer;transition:.25s ease}.primary-button,.secondary-button,.danger-button{padding:10px 15px;border-radius:14px;font-weight:700;font-size:.95rem}.primary-button{background:linear-gradient(135deg,var(--primary),var(--primary-soft));color:#fff4d0}.secondary-button{background:#caa24d24;color:var(--primary-dark);border:1px solid rgba(202,162,77,.24)}.danger-button{background:#f9d8d2;color:var(--danger)}.primary-button:hover,.secondary-button:hover,.danger-button:hover,.icon-button:hover{transform:translateY(-1px);box-shadow:0 12px 24px #4d0c161f}.icon-button{width:46px;height:46px;display:grid;place-items:center;border-radius:14px;background:var(--surface);border:1px solid var(--line);color:var(--primary-dark)}.audio-player,.pdf-viewer,.reading-passage,.question-card,.inline-feedback,.question-builder__card{padding:20px;border-radius:20px;border:1px solid var(--line);background:#fffcf8eb}.audio-player__native,.pdf-viewer__frame{width:100%}.pdf-viewer__frame{height:420px;border:1px solid var(--line);border-radius:16px;background:#fff}.question-card__options{display:grid;gap:12px}.vocabulary-matching,.vocabulary-matching__intro,.vocabulary-matching__grid,.vocabulary-matching__panel,.vocabulary-matching__rows,.vocabulary-matching__definitions,.vocabulary-matching__result,.vocabulary-matching__mistake-list{display:grid;gap:14px}.option-row{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:14px;background:#fff;border:1px solid transparent}.option-row:has(input:checked){border-color:#caa24da6;background:#fff8e9}.vocabulary-matching__intro p,.vocabulary-matching__definition span,.vocabulary-matching__mistake-item span{margin:0;color:var(--muted);line-height:1.55}.vocabulary-matching__grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}.vocabulary-matching__panel{padding:18px;border-radius:22px;border:1px solid var(--line);background:#ffffffdb}.vocabulary-matching__panel--definitions{background:linear-gradient(180deg,#f7fcf8fa,#f0f8f2f0)}.vocabulary-matching__panel-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-radius:18px;color:var(--primary-dark);background:#6f122114}.vocabulary-matching__panel-header--accent{background:#2f8f631f}.vocabulary-matching__panel-header h4,.vocabulary-matching__mistakes h4{margin:0;color:inherit}.vocabulary-matching__panel-header span,.vocabulary-matching__summary{color:var(--muted);font-size:.92rem}.vocabulary-matching__row,.vocabulary-matching__definition,.vocabulary-matching__mistake-item{display:grid;gap:10px;padding:14px 16px;border-radius:18px;border:1px solid rgba(202,162,77,.2);background:#fffcf8f5}.vocabulary-matching__row{grid-template-columns:minmax(0,1fr) 112px;align-items:center}.vocabulary-matching__term{display:flex;align-items:center;gap:12px;min-width:0;font-weight:700;color:var(--primary-dark)}.vocabulary-matching__number{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#caa24d29;color:var(--accent-deep);flex-shrink:0}.vocabulary-matching__select{width:100%;min-height:46px;padding:10px 14px;border-radius:14px;border:1px solid rgba(202,162,77,.3);background:#fff;color:var(--primary-dark);outline:none}.vocabulary-matching__select:focus{border-color:#2f8f6385;box-shadow:0 0 0 4px #2f8f631f}.vocabulary-matching__definition{grid-template-columns:auto 1fr;align-items:start}.vocabulary-matching__definition strong{color:var(--success)}.vocabulary-matching__summary{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.vocabulary-matching__actions{display:flex;justify-content:center;margin-top:8px}.vocabulary-matching__actions .primary-button{min-width:220px}.progress__track{width:100%;height:10px;border-radius:999px;background:#edd9c8;overflow:hidden}.progress__fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent),var(--primary))}.timer{padding:14px 16px;border-radius:18px;background:#fffcf8e6;border:1px solid var(--line)}.status-dot--live,.success-text{color:var(--success)}.status-dot--live{background:#caa24d3d}.feedback-bullet{padding-left:6px}.inline-feedback{background:linear-gradient(180deg,#f8efe7,#f5e2d4)}.success-text{font-weight:700}.error-text{margin:0;color:var(--danger)}.score-summary,.criteria-breakdown,.wrong-answers-card,.ai-status-loader,.error-alert{display:grid;gap:14px}.score-summary__grid,.criteria-breakdown__grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.score-summary__item,.criteria-breakdown__item,.wrong-answer-item{display:grid;gap:6px;padding:14px 16px;border-radius:18px;border:1px solid rgba(202,162,77,.2);background:#fffcf8f5}.score-summary__item strong,.criteria-breakdown__item strong,.wrong-answer-item strong{color:var(--primary-dark)}.score-summary__item span,.criteria-breakdown__item span,.wrong-answer-item span,.ai-status-loader p,.error-alert p{margin:0;color:var(--muted);line-height:1.55}.wrong-answers-list{display:grid;gap:12px}.ai-status-loader,.error-alert{grid-template-columns:auto 1fr;align-items:center}.ai-status-loader__pulse{width:18px;height:18px;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--primary));box-shadow:0 0 #6f122140;animation:aiPulse 1.2s ease-in-out infinite}.error-alert{border-color:#b3261e33;background:linear-gradient(180deg,#fff5f3,#fbe4df)}.error-alert strong{color:var(--danger)}.class-publish-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,420px);gap:20px;align-items:center;padding:24px;border-radius:var(--radius-xl);border:1px solid rgba(202,162,77,.34);background:linear-gradient(135deg,#fffcf8fa,#f6e8ddf5);box-shadow:var(--shadow)}.class-publish-panel__summary{display:grid;grid-template-columns:auto minmax(0,1fr);gap:16px;align-items:center;min-width:0}.class-publish-panel__icon{width:56px;height:56px;display:grid;place-items:center;border-radius:18px;color:#fff4d0;background:linear-gradient(135deg,var(--primary),var(--primary-soft));box-shadow:0 14px 28px #4d0c1629}.class-publish-panel__icon svg{width:24px;height:24px}.class-publish-panel h2{margin:0;color:var(--primary-dark);font-size:clamp(1.25rem,2vw,1.75rem)}.class-publish-panel p{margin:0;color:var(--muted);line-height:1.55}.class-select-shell{display:grid;gap:10px;min-width:0}.class-select-shell label{color:var(--accent-deep);font-size:.78rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.class-select-control{position:relative;display:flex;align-items:center;min-height:58px;border-radius:18px;border:1px solid rgba(202,162,77,.38);background:#fffcf8f5;box-shadow:inset 0 1px #ffffffe6;transition:border-color .25s ease,box-shadow .25s ease,transform .25s ease}.class-select-control:focus-within{border-color:#6f122185;box-shadow:0 0 0 4px #caa24d29,0 14px 30px #4d0c161a;transform:translateY(-1px)}.class-select-control select{width:100%;min-height:56px;padding:14px 48px;border:0;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;color:var(--primary-dark);background:transparent;font-weight:800}.class-select-control__leading,.class-select-control__chevron{position:absolute;pointer-events:none;color:var(--accent-deep)}.class-select-control__leading{left:18px}.class-select-control__chevron{right:18px}.class-publish-panel__meta{display:flex;gap:10px;flex-wrap:wrap}.class-publish-panel__meta span,.class-publish-panel__empty{display:inline-flex;align-items:center;gap:8px;width:fit-content;min-height:36px;padding:8px 12px;border-radius:999px;border:1px solid rgba(202,162,77,.24);background:#caa24d1f;color:var(--primary-dark);font-size:.88rem;font-weight:700}.class-publish-panel__empty{grid-column:1 / -1;margin-top:-4px;border-color:#b3261e2e;background:#b3261e14;color:var(--danger)}.upload-form{padding:24px}.upload-progress-panel{display:grid;gap:12px;padding:18px 20px;border-radius:22px;border:1px solid rgba(202,162,77,.28);background:linear-gradient(180deg,#fffcf8fa,#f6e8ddeb);box-shadow:0 16px 36px #4d0c1614}.upload-progress-panel .progress__label strong{color:var(--primary-dark)}.upload-progress-panel .progress__label span{color:var(--accent-deep);font-weight:800}.file-field{display:grid;gap:10px;padding:16px;border:1px dashed rgba(202,162,77,.38);border-radius:18px;background:linear-gradient(180deg,#fffcf8f5,#f6e7dbe0)}.file-field__input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.file-field__helper{font-size:.86rem;color:var(--muted)}.field-label-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.field-counter{flex-shrink:0;color:var(--muted);font-size:.84rem;font-weight:700}.field-counter--warning,.field-warning{color:var(--danger)}.field-warning{font-size:.86rem;font-weight:700}.content-preview__more{padding-top:4px;color:var(--primary-dark);font-weight:700}.file-field__row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.file-field__trigger{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 16px;border-radius:14px;background:linear-gradient(135deg,var(--primary),var(--primary-soft));color:#fff4d0;font-weight:700;cursor:pointer;box-shadow:0 10px 24px #4d0c161f;transition:transform .25s ease,box-shadow .25s ease}.file-field__trigger:hover{transform:translateY(-1px);box-shadow:0 14px 28px #4d0c1629}.file-field__name{min-height:44px;flex:1 1 220px;display:inline-flex;align-items:center;padding:10px 14px;border-radius:14px;border:1px solid rgba(202,162,77,.22);background:#ffffffb3;color:var(--primary-dark);font-size:.92rem;line-height:1.35;word-break:break-word}.teacher-content-item{position:relative;display:grid;gap:0;overflow:visible;border-radius:var(--radius-lg)}.teacher-content-item .content-library-card{border-bottom-right-radius:0;border-bottom-left-radius:0}.teacher-content-item__footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border:1px solid rgba(202,162,77,.2);border-top:0;border-bottom-right-radius:var(--radius-lg);border-bottom-left-radius:var(--radius-lg);background:#fffcf8f5;box-shadow:0 18px 44px #4d0c1614}.teacher-content-item__footer>div{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.action-menu{position:relative;z-index:4}.action-menu summary{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:9px 12px;border-radius:14px;border:1px solid rgba(202,162,77,.24);background:#caa24d24;color:var(--primary-dark);font-weight:800;cursor:pointer;list-style:none}.action-menu summary::-webkit-details-marker{display:none}.action-menu[open] summary{border-color:#6f122157;box-shadow:0 12px 24px #4d0c161f}.action-menu__list{position:absolute;right:0;top:calc(100% + 8px);min-width:180px;display:grid;gap:6px;padding:8px;border-radius:16px;border:1px solid rgba(202,162,77,.26);background:var(--surface-strong);box-shadow:0 22px 46px #4d0c1629}.action-menu__list button{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border:0;border-radius:12px;color:var(--primary-dark);background:transparent;font-weight:700;cursor:pointer;text-align:left}.action-menu__list button:hover{background:#caa24d24}.action-menu__list button:last-child{color:var(--danger)}.content-action-preview__meta{display:flex;gap:10px;flex-wrap:wrap}.content-action-preview__meta span{padding:8px 12px;border-radius:999px;border:1px solid rgba(202,162,77,.24);background:#caa24d1f;color:var(--primary-dark);font-weight:700}.content-edit-form{padding-top:16px}.assignment-panel,.assignment-form,.assignment-review,.assignment-list,.profile-hero,.exam-intro,.exam-steps,.exam-step,.exam-finish{display:grid;gap:14px}.assignment-panel{padding:22px;border-radius:24px;border:1px solid rgba(202,162,77,.24);background:linear-gradient(180deg,#fffaf6f2,#f8ece3f5)}.assignment-panel__latest,.assignment-item,.exam-step{padding:18px;border-radius:18px;border:1px solid var(--line);background:#fffcf8eb}.assignment-item__top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.assignment-item__top p,.assignment-item__task{margin:0}.assignment-item__task{font-weight:700;color:var(--primary-dark)}.assignment-ai-summary{display:grid;gap:6px;padding:12px 14px;border-radius:16px;border:1px solid rgba(202,162,77,.22);background:linear-gradient(180deg,#f7fcf8fa,#f0f8f2f0)}.assignment-ai-summary p,.assignment-ai-summary strong{margin:0}.assignment-ai-summary p{color:var(--muted);line-height:1.55}.assignment-list{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.teacher-homework-card__footer{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-top:4px}.teacher-homework-card__footer>div{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.profile-hero,.exam-intro{padding:28px}.exam-steps{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.exam-steps--progress{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.exam-step strong,.assignment-item strong{color:var(--primary-dark)}.exam-step p{margin:0;color:var(--muted)}.exam-step--active{border-color:#6f122173;box-shadow:0 16px 36px #6f122114}.exam-step--complete{background:linear-gradient(180deg,#fbf2e8,#f4e4d4)}.exam-finish{justify-items:start}.language-selector{display:grid;gap:8px;min-width:220px}.language-selector span{color:var(--muted);font-size:.82rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.language-selector select{width:100%;padding:12px 14px;border-radius:14px;border:1px solid var(--line);background:#fffcf8f2;color:var(--text)}.result-card-grid{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.result-card{display:grid;gap:16px}.result-card p{margin:0;color:var(--muted);line-height:1.6}.result-card__metrics{display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}.result-card__metrics span{display:grid;gap:4px;padding:12px;border-radius:16px;border:1px solid rgba(202,162,77,.2);background:#fffcf8eb;color:var(--primary-dark);font-weight:700}.section-breakdown-card,.section-breakdown-list,.section-breakdown-item{display:grid;gap:14px}.section-breakdown-item{padding:14px;border-radius:22px;border:1px solid rgba(202,162,77,.22);background:linear-gradient(180deg,#fffcf8eb,#f8ece3e0)}.filter-row select{min-width:180px;padding:12px 14px;border-radius:14px;border:1px solid var(--line);background:#fffcf8f2}.filter-row input{min-width:180px;padding:12px 14px;border-radius:14px;border:1px solid var(--line);background:#fffcf8f2;color:var(--text)}.table-scroll{overflow-x:auto}.result-table{width:100%;min-width:860px;border-collapse:collapse}.result-table th,.result-table td{padding:14px 12px;border-bottom:1px solid var(--line);text-align:left}.result-table th{color:var(--accent-deep);font-size:.82rem;text-transform:uppercase;letter-spacing:.08em}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;padding:24px;background:#24080d8c}.modal-card{width:min(760px,100%);max-height:88vh;overflow:auto;padding:24px}.modal-card__content{display:grid;gap:14px}.profile-card{padding:28px}.profile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-grid div{display:grid;gap:6px;padding:18px;border-radius:18px;background:var(--surface-soft);border:1px solid var(--line)}.empty-state{display:grid;gap:10px;place-items:start}.empty-state p,.profile-card h2{margin:0}.analytics-list{margin-top:10px}@keyframes loadingBar{0%{transform:translate(-10%)}to{transform:translate(120%)}}@keyframes aiPulse{0%{transform:scale(.95);box-shadow:0 0 #6f12213d}70%{transform:scale(1);box-shadow:0 0 0 12px #6f122100}to{transform:scale(.95);box-shadow:0 0 #6f122100}}@media (max-width: 1180px){.hero-card,.content-layout,.content-layout--student,.content-preview__hero,.content-detail__hero{grid-template-columns:1fr}.dashboard-grid,.hero-card__stats,.split-layout,.dashboard-grid--compact,.manage-tests-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.vocabulary-matching__grid{grid-template-columns:1fr}.navbar__right{flex-wrap:wrap;justify-content:flex-end}}@media (max-width: 980px){.app-shell__content{margin-left:0}.sidebar{transform:translate(-100%);transition:transform .25s ease;width:min(84vw,320px)}.sidebar--open{transform:translate(0)}.sidebar__backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:block;border:none;background:#24080d8c}.navbar__menu{display:grid}.section-heading--with-tools{flex-direction:column}.section-tools{width:100%;min-width:0}.content-library--compact{position:static}.manage-tests-hero,.manage-tests-toolbar,.class-publish-panel{grid-template-columns:1fr}.manage-tests-hero .primary-button{width:fit-content}}@media (max-width: 760px){.hero-card__stats,.dashboard-grid,.split-layout,.form-grid,.profile-grid,.demo-credentials,.dashboard-grid--features,.compact-card-grid,.assignment-list,.result-card-grid,.exam-steps,.exam-steps--progress{grid-template-columns:1fr}.navbar,.navbar__right,.section-heading,.content-card__meta,.test-card__header,.feedback-card__header,.card-actions,.section-heading--with-tools,.hero-card__actions,.speaking-recorder__header,.audio-player__header,.pdf-viewer__header,.modal-card__header{align-items:flex-start;flex-direction:column}.navbar__left{width:100%;align-items:center}.navbar__user{align-items:flex-start}.vocabulary-matching__row{grid-template-columns:1fr}.auth-card,.hero-card,.card,.loading-screen__card,.modal-card{padding:20px;border-radius:24px}.content-card{grid-template-columns:1fr}.content-card__image,.content-library-card__image{height:190px}.content-library--single-column .content-library-card{grid-template-columns:1fr}.content-library--single-column .content-library-card__image{min-height:190px}.content-library-card__body{padding:18px}.content-library-card__meta,.assignment-item__top{flex-direction:column;align-items:flex-start}.result-table,.result-table thead,.result-table tbody,.result-table tr,.result-table td{display:block;width:100%}.result-table{min-width:0}.result-table thead{display:none}.result-table tr{padding:16px 0;border-bottom:1px solid var(--line)}.result-table td{border-bottom:none;padding:8px 0;text-align:left}.result-table td:before{content:attr(data-label);display:block;margin-bottom:4px;font-size:.76rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-deep)}.file-field__row,.teacher-content-item__footer{align-items:stretch;flex-direction:column}.action-menu summary{width:100%;justify-content:center}.action-menu__list{position:static;margin-top:8px}.class-publish-panel__summary{grid-template-columns:1fr}.class-publish-panel__icon{width:48px;height:48px}.file-field__trigger,.file-field__name{width:100%}.language-selector,.result-card__metrics,.manage-test-card__meta{width:100%;grid-template-columns:1fr}.manage-tests-hero .primary-button,.manage-test-card__actions button,.question-builder__heading button,.manage-test-form__footer button{width:100%}.manage-test-form__footer{position:static}}@media (max-width: 520px){.page-content,.auth-page,.loading-screen,.modal-overlay{padding:10px}.page-stack{gap:18px}.navbar__logo{width:46px;height:46px}.auth-brand{align-items:flex-start;flex-direction:column}.auth-brand__logo,.loading-screen__logo{width:72px;height:72px}.pdf-viewer__frame{height:300px}.hero-card,.profile-hero,.exam-intro,.assignment-panel,.profile-card{padding:18px}.dashboard-card,.metric-card,.test-card,.question-card,.audio-player,.pdf-viewer,.reading-passage{padding:10px}}
