:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#111827;background:#f8fafc;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--app-bg: #F8FAFC;--brand-blue: #0052D4;--brand-blue-neon: #4364F7;--brand-gradient: linear-gradient(135deg, #0052D4 0%, #4364F7 100%);--accent: #10B981;--accent-strong: #059669;--accent-deep: #065F46;--accent-soft: #ECFDF5;--accent-mist: #F0FDF4;--accent-line: #A7F3D0;--accent-blue: #4364F7;--accent-blue-strong: #0052D4;--accent-blue-soft: #EEF2FF;--blue: var(--accent-blue-strong);--blue-700: #003EAA;--navy: #0F1F4D;--green: var(--accent-strong);--cyan: #38BDF8;--yellow: #F59E0B;--danger: #DC2626;--ink: #111827;--muted: #64748B;--line: #E2E8F0;--surface: #ffffff;--surface-raised: rgba(255,255,255,.92);--soft: #F8FAFC;--soft-blue: #EEF2FF;--focus-ring: rgba(67,100,247,.18);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 22px;--shadow-card: 0 12px 32px rgba(15, 31, 77, .07);--shadow-elevated: 0 22px 56px rgba(15, 31, 77, .12);--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-soft: cubic-bezier(.2, .8, .2, 1);--motion-fast: .16s;--motion-med: .26s;--motion-slow: .44s}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100vh}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@keyframes appFadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes softPop{0%{opacity:0;transform:scale(.985)}to{opacity:1;transform:scale(1)}}@keyframes barGrow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes shimmerSweep{0%{transform:translate(-110%)}to{transform:translate(110%)}}@keyframes pulseSoft{0%,to{box-shadow:0 0 #4364f73d}50%{box-shadow:0 0 0 8px #4364f700}}@keyframes processingGlow{0%,to{opacity:.52;transform:translate(-18%)}50%{opacity:.9;transform:translate(18%)}}.learning-app{min-height:100vh;display:grid;grid-template-columns:272px minmax(0,1fr);background:radial-gradient(circle at 12% 0%,rgba(67,100,247,.12),transparent 34%),linear-gradient(180deg,#f8fafc,#fff)}.sidebar{position:sticky;top:0;height:100vh;padding:22px 18px;display:flex;flex-direction:column;gap:18px;background:linear-gradient(180deg,#fffffff7,#f8fafcfa),radial-gradient(circle at 0 0,rgba(67,100,247,.13),transparent 38%);color:var(--ink);border-right:1px solid rgba(226,232,240,.92);box-shadow:12px 0 34px #0f1f4d0f;z-index:20}.sidebar-head,.brand,.topbar-left,.topbar-actions,.panel-title,.exam-toolbar,.test-topline,.test-footer,.panel-heading,.hero-buttons{display:flex;align-items:center}.sidebar-head{justify-content:space-between}.sidebar-head button,.icon-button{width:40px;height:40px;border:1px solid var(--line);border-radius:999px;background:#ffffffc7;color:inherit;display:grid;place-items:center;transition:transform var(--motion-fast) var(--ease-soft),border-color var(--motion-fast) ease,background var(--motion-fast) ease,box-shadow var(--motion-fast) ease}.sidebar-head button:hover,.icon-button:hover{transform:translateY(-1px);border-color:var(--accent-line);box-shadow:0 8px 18px #0f1f4d14}.brand{gap:10px;font-weight:800;letter-spacing:0}.brand-mark{width:46px;height:38px;border-radius:var(--radius-md);display:grid;place-items:center;background:var(--brand-gradient);color:#fff;box-shadow:0 10px 22px #0052d43d;font-size:12px;font-weight:900}.course-select{padding:16px;border-radius:var(--radius-lg);background:#ffffffbd;border:1px solid var(--line)}.course-select small,.course-select span{color:var(--muted);display:block}.course-select strong{display:block;margin:5px 0;font-size:17px}.side-nav{display:grid;gap:7px}.side-nav button,.side-nav a{height:46px;border:0;border-radius:var(--radius-md);padding:0 13px;display:flex;align-items:center;gap:11px;background:transparent;color:#66736d;text-align:left;font-weight:650;transition:transform var(--motion-fast) var(--ease-soft),color var(--motion-fast) ease,background var(--motion-fast) ease,box-shadow var(--motion-fast) ease}.side-nav button.active,.side-nav button:hover,.side-nav a.active,.side-nav a:hover{background:var(--accent-soft);color:var(--accent-deep);box-shadow:inset 0 0 0 1px var(--accent-line)}.side-nav button:hover,.side-nav a:hover{transform:translate(2px)}.mentor-mini.admin-foot{color:var(--ink);cursor:pointer}.mentor-mini{margin-top:auto;padding:15px;border-radius:var(--radius-lg);background:linear-gradient(135deg,#f8fafc,#eef2ff);border:1px solid var(--accent-line);color:var(--ink);display:flex;align-items:center;gap:12px}.mentor-mini strong,.mentor-mini span{display:block}.mentor-mini span{font-size:12px;color:var(--muted)}.app-main{min-width:0}.workspace-grid>*,.primary-column>*,.right-column>*,.status-hero,.status-hero>*,.metric-strip>*,.band-card,.ui-card,.test-card{min-width:0;max-width:100%}.app-topbar{position:sticky;top:0;z-index:10;min-height:76px;padding:14px 28px;display:grid;grid-template-columns:minmax(190px,1fr) minmax(280px,520px) auto;gap:18px;align-items:center;background:#f8fafce6;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid rgba(226,232,240,.86)}.topbar-left{gap:14px;min-width:0}.topbar-left p,.topbar-title{margin:0}.topbar-left p{color:var(--muted);font-size:13px}.topbar-title{display:block;color:var(--ink);font-size:25px;line-height:1.2;font-weight:850}.search-box{height:46px;display:flex;align-items:center;gap:10px;padding:0 15px;border-radius:999px;background:#ffffffdb;border:1px solid var(--line);color:var(--muted)}.search-box input{width:100%;border:0;outline:0;color:var(--ink);background:transparent}.topbar-actions{gap:10px;justify-content:flex-end}.topbar-actions .icon-button{background:#ffffffdb;color:var(--ink);border-color:var(--line)}.profile-chip{height:40px;border:1px solid var(--line);border-radius:999px;padding:0 12px;background:#ffffffdb;color:var(--ink);display:flex;align-items:center;gap:8px;font-weight:700;transition:transform var(--motion-fast) var(--ease-soft),border-color var(--motion-fast) ease,box-shadow var(--motion-fast) ease}.profile-chip:hover{transform:translateY(-1px);border-color:var(--accent-line);box-shadow:0 8px 18px #0f1f4d0f}.mobile-only,.sidebar-head .mobile-only{display:none}.workspace-grid{display:grid;grid-template-columns:minmax(0,1fr) 348px;gap:20px;padding:22px 28px 32px}.primary-column,.right-column{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;align-content:start}.status-hero{min-height:286px;padding:24px;border-radius:var(--radius-xl);background:radial-gradient(circle at 88% 10%,rgba(67,100,247,.22),transparent 34%),linear-gradient(135deg,#f8fafc,#eef2ff 55%,#fff);color:var(--ink);display:grid;grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);gap:24px;overflow:hidden;border:1px solid var(--accent-line);box-shadow:var(--shadow-elevated)}.soft-label{display:inline-flex;align-items:center;gap:6px;color:#6a7890;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.status-hero .soft-label{color:var(--accent-strong)}.status-copy h1,.status-copy h2{margin:12px 0 10px;max-width:620px;font-size:clamp(30px,3.1vw,46px);line-height:1.08;letter-spacing:0}.status-copy p{max-width:610px;margin:0;color:var(--muted);font-size:16px;line-height:1.7}.metric-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:18px;max-width:560px}.metric-card{min-height:84px;padding:12px;border-radius:var(--radius-lg);background:#ffffffb8;border:1px solid rgba(226,232,240,.9);transition:transform var(--motion-med) var(--ease-out),border-color var(--motion-fast) ease,box-shadow var(--motion-med) ease}.metric-card:hover{transform:translateY(-2px);border-color:var(--accent-line);box-shadow:0 10px 24px #0f1f4d14}.metric-card strong,.metric-card span,.metric-card small{display:block}.metric-card strong{font-size:26px;line-height:1}.metric-card span{margin-top:7px;font-size:12px;font-weight:800;color:var(--ink)}.metric-card small{margin-top:3px;color:var(--muted)}.hero-buttons{gap:10px;margin-top:18px;flex-wrap:wrap}.primary-button,.secondary-button{height:46px;border-radius:999px;border:0;padding:0 18px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:800;transition:transform var(--motion-fast) var(--ease-soft),background var(--motion-fast) ease,border-color var(--motion-fast) ease,box-shadow var(--motion-fast) ease}.primary-button{background:var(--brand-gradient);color:#fff}.secondary-button{background:#ffffffbd;color:var(--accent-deep);border:1px solid var(--accent-line)}.primary-button:hover,.secondary-button:hover{transform:translateY(-1px);box-shadow:0 12px 24px #0f1f4d1a}.primary-button:active,.secondary-button:active{transform:translateY(0) scale(.985)}.band-card{border-radius:var(--radius-xl);padding:20px;background:#ffffffd6;color:var(--ink);display:grid;gap:18px;align-content:center;transition:transform var(--motion-med) var(--ease-out),box-shadow var(--motion-med) ease}.band-card:hover{transform:translateY(-2px);box-shadow:0 14px 32px #0f1f4d14}.band-orbit{width:min(210px,100%);aspect-ratio:1;margin:0 auto;border-radius:50%;background:conic-gradient(var(--accent-blue-strong) 0 78%,#E2E8F0 78% 100%);display:grid;place-items:center;text-align:center;position:relative}.band-orbit:after{content:"";position:absolute;inset:17px;border-radius:50%;background:#fff}.band-orbit strong,.band-orbit span{position:relative;z-index:1;grid-column:1;grid-row:1}.band-orbit strong{font-size:48px;transform:translateY(-10px)}.band-orbit span{transform:translateY(34px);color:var(--muted);font-size:12px;font-weight:800}.band-bars{display:grid;gap:10px}.band-bars>div{display:grid;grid-template-columns:72px 1fr 34px;gap:9px;align-items:center;font-size:12px;color:var(--muted)}.band-bars div div{height:8px;border-radius:99px;background:#e7ede8;overflow:hidden}.band-bars i{display:block;height:100%;border-radius:inherit}.band-bars b{color:var(--ink)}.section-head{display:flex;align-items:end;justify-content:space-between;gap:16px}.section-head h2,.panel-title h2,.exam-toolbar h2{margin:4px 0 0;font-size:24px;letter-spacing:0}.skill-tabs{padding:5px;background:#fff;border:1px solid var(--line);border-radius:999px;display:flex;gap:4px;min-width:0;max-width:100%;overflow-x:auto}.skill-tabs button{height:34px;border:0;border-radius:999px;background:transparent;color:var(--muted);padding:0 13px;font-weight:800;white-space:nowrap;transition:transform var(--motion-fast) var(--ease-soft),background var(--motion-fast) ease,color var(--motion-fast) ease}.skill-tabs button.active{background:var(--accent-strong);color:#fff}.skill-tabs button:hover{transform:translateY(-1px)}.test-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.test-card{min-height:190px;padding:16px;border:1px solid var(--line);border-radius:var(--radius-lg);background:#fff;color:var(--ink);text-align:left;box-shadow:var(--shadow-card);transition:transform var(--motion-med) var(--ease-out),border-color var(--motion-fast) ease,box-shadow var(--motion-med) ease}.test-card:hover{transform:translateY(-3px);border-color:var(--accent-line);box-shadow:var(--shadow-elevated)}.test-card.selected{outline:3px solid var(--focus-ring);border-color:var(--accent)}.test-card h3{min-height:54px;margin:16px 0 13px;font-size:17px;line-height:1.25}.test-topline,.test-footer{justify-content:space-between;color:#748197;font-size:12px}.test-topline span{padding:5px 9px;border-radius:999px;background:var(--accent-soft);color:var(--accent-strong);font-weight:800}.skill-list{display:flex;gap:6px;flex-wrap:wrap;min-height:52px}.skill-list span{padding:5px 8px;border-radius:999px;background:#f5f8fc;color:#53647c;font-size:11px;font-weight:800}.test-footer{margin-top:12px}.test-footer span{display:inline-flex;align-items:center;gap:5px}.progress-track{height:7px;margin-top:10px;background:#e8eee9;border-radius:999px;overflow:hidden}.progress-track i{display:block;height:100%;border-radius:inherit;background:var(--accent-blue)}.progress-track i,.band-bars i{transform-origin:left center;animation:barGrow .72s var(--ease-out) both}.test-card.green .progress-track i{background:var(--green)}.test-card.yellow .progress-track i{background:#f59e0b}.test-card.cyan .progress-track i{background:var(--cyan)}.stat-inline,.empty-row{display:flex;align-items:center;gap:12px}.stat-inline svg,.empty-row svg{color:var(--blue)}.stat-inline strong,.stat-inline span{display:block}.stat-inline strong{font-size:28px;line-height:1}.stat-inline span,.empty-row span{color:var(--muted)}.exam-room,.panel-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius-xl);box-shadow:var(--shadow-card)}.exam-room{padding:18px}.exam-toolbar{justify-content:space-between;gap:16px;padding:4px 4px 16px}.timer{height:42px;border-radius:999px;background:var(--accent-deep);color:#fff;padding:0 15px;display:flex;align-items:center;gap:8px;font-weight:900}.exam-split{display:grid;grid-template-columns:1.08fr .92fr;gap:14px}.passage-panel,.question-panel{min-height:430px;border-radius:var(--radius-lg);border:1px solid var(--line);background:#fbfdff;padding:18px}.panel-heading{gap:8px;color:var(--navy)}.audio-strip{margin:18px 0;padding:14px;border-radius:var(--radius-lg);background:var(--accent-blue-soft);display:flex;align-items:center;gap:12px}.audio-wave{flex:1;height:34px;display:flex;align-items:center;gap:5px}.audio-wave i{width:8px;border-radius:99px;background:var(--accent-blue)}.audio-wave i:nth-child(1){height:14px}.audio-wave i:nth-child(2){height:25px}.audio-wave i:nth-child(3){height:31px}.audio-wave i:nth-child(4){height:18px}.audio-wave i:nth-child(5){height:28px}.audio-wave i:nth-child(6){height:20px}.audio-wave i:nth-child(7){height:12px}.audio-strip button{border:0;border-radius:999px;background:var(--accent-blue-strong);color:#fff;height:34px;padding:0 12px;display:flex;align-items:center;gap:6px;font-weight:800}.passage-panel h3{margin:0 0 8px}.passage-panel p{color:#54647b;line-height:1.65}.notes-card{margin-top:14px;padding:16px;border-radius:var(--radius-lg);background:#fff;border:1px solid var(--line)}mark{background:#fff2a8;border-radius:5px;padding:1px 5px}.answer-row{display:grid;grid-template-columns:34px 1fr;gap:10px;align-items:center;margin-top:11px}.answer-row span{width:34px;height:34px;display:grid;place-items:center;border-radius:var(--radius-sm);background:var(--accent-soft);color:var(--accent-strong);font-weight:900}.answer-row input{height:42px;border:1px solid var(--line);border-radius:var(--radius-md);padding:0 13px;outline:0}.answer-row input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--focus-ring)}.question-nav{display:grid;grid-template-columns:repeat(10,1fr);gap:6px;margin-top:18px}.question-nav button{aspect-ratio:1;border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff;color:#586880;font-size:12px;font-weight:800}.question-nav .done{background:var(--accent);color:#fff;border-color:var(--accent)}.question-nav .active{background:var(--accent-blue-strong);color:#fff;border-color:var(--accent-blue-strong)}.question-nav .flag{background:#f59e0b;color:#fff;border-color:#f59e0b}.right-column{grid-template-columns:1fr}.panel-card{padding:18px}.panel-title{justify-content:space-between;gap:12px}.panel-title button{width:34px;height:34px;border:0;border-radius:999px;background:var(--accent-soft);color:var(--accent-strong);display:grid;place-items:center}.plan-list{display:grid;gap:12px;margin-top:15px}.plan-item{display:grid;grid-template-columns:48px 1fr 22px;gap:10px;align-items:center;padding:12px;border-radius:var(--radius-lg);background:var(--soft)}.plan-item>span{color:#66748b;font-size:12px;font-weight:800}.plan-item strong,.plan-item small{display:block}.plan-item small{color:#718097;margin-top:3px}.plan-item.done{background:var(--accent-soft)}.plan-item.done svg{color:var(--accent)}.ai-card{background:linear-gradient(145deg,#edf5f1,#eaf0f6);color:var(--ink);border-color:var(--accent-line)}.bee-avatar{width:54px;height:54px;border-radius:var(--radius-lg);background:#ffffff24;display:grid;place-items:center}.ai-card h2{margin:14px 0 8px}.ai-card p{color:var(--muted);line-height:1.6}.ai-card .primary-button{width:100%;background:var(--accent-strong);color:#fff}.flashcard-preview{margin-top:12px;padding:18px;min-height:170px;border-radius:var(--radius-lg);background:linear-gradient(135deg,var(--accent),var(--accent-blue));color:#fff}.flashcard-preview small,.flashcard-preview strong,.flashcard-preview p{display:block}.flashcard-preview strong{margin:8px 0;font-size:31px}.flashcard-preview p{color:#ffffffd1}.flashcard-preview div{display:flex;gap:8px;margin-top:16px}.flashcard-preview button{flex:1;height:36px;border:1px solid rgba(255,255,255,.34);border-radius:999px;color:#fff;background:#ffffff21;font-weight:800}.import-row{display:grid;grid-template-columns:48px 1fr;gap:10px;margin-top:12px;align-items:center}.import-row>span{height:34px;border-radius:var(--radius-sm);display:grid;place-items:center;background:var(--accent-soft);color:var(--accent-strong);font-weight:900;font-size:12px}.import-row strong,.import-row small{display:block}.import-row small,.class-row small{color:var(--muted)}.mentor-list{display:grid;gap:12px}.class-row{display:grid;grid-template-columns:32px 1fr auto;align-items:center;gap:9px;padding:11px;border-radius:var(--radius-md);background:var(--soft)}.class-row span{width:28px;height:28px;border-radius:var(--radius-sm);background:#fff;display:grid;place-items:center;color:var(--accent-strong);font-weight:900}@media(max-width:1380px){.learning-app{grid-template-columns:250px minmax(0,1fr)}.workspace-grid{grid-template-columns:1fr}.right-column,.test-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:1180px){.app-topbar{grid-template-columns:minmax(0,1fr) auto;gap:12px 14px;padding:12px 20px}.search-box,.global-search{grid-column:1 / -1;order:3;min-width:0}.topbar-actions{min-width:0}}@media(max-width:900px){.learning-app{display:block}.sidebar{position:fixed;inset:0 auto 0 0;width:286px;transform:translate(-105%);transition:transform .2s ease}.sidebar.open{transform:translate(0)}.mobile-only,.sidebar-head .mobile-only{display:grid}.app-topbar{grid-template-columns:1fr auto;padding:14px 16px}.search-box,.global-search{grid-column:1 / -1;order:3}.search-box input{min-width:0}.topbar-actions .icon-button{display:none}.profile-chip{max-width:118px;overflow:hidden}.workspace-grid{padding:16px}.status-hero,.exam-split{grid-template-columns:1fr}.status-copy h2{font-size:30px}.metric-strip{grid-template-columns:repeat(3,minmax(0,1fr));max-width:none}.right-column{grid-template-columns:1fr}}@media(max-width:640px){.app-topbar{grid-template-columns:1fr}.topbar-actions{justify-content:start}.topbar-left{min-width:0}.topbar-title,.topbar-left p{overflow-wrap:anywhere}.status-hero{padding:20px;border-radius:22px}.status-copy h2{font-size:30px}.metric-strip{grid-template-columns:1fr}.metric-card{min-height:0}.band-card{padding:16px}.band-orbit{width:min(176px,78vw)}.section-head{align-items:start;flex-direction:column}.section-head>*{min-width:0;max-width:100%}.section-head .ui-tabs,.skill-tabs{width:100%}.test-grid{grid-template-columns:1fr}.exam-toolbar{align-items:start;flex-direction:column}.question-nav{grid-template-columns:repeat(8,1fr)}.band-bars>div{grid-template-columns:68px 1fr 30px}}@media(max-width:380px){.auth-page{padding:16px 12px}.auth-card{padding:26px 20px}.auth-card .ui-btn{height:auto;min-height:44px;white-space:normal;padding-top:11px;padding-bottom:11px}}.ui-right-rail{display:grid;grid-template-columns:1fr;gap:20px;align-content:start}.ui-btn{position:relative;height:44px;border-radius:999px;border:1px solid transparent;padding:0 18px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:800;font-size:14px;white-space:nowrap;overflow:hidden;transition:transform var(--motion-fast) var(--ease-soft),background var(--motion-fast) ease,border-color var(--motion-fast) ease,box-shadow var(--motion-fast) ease,opacity var(--motion-fast) ease}.ui-btn>svg,.ui-btn-loader{flex:none;position:relative;z-index:1}.ui-btn-label{position:relative;z-index:1;min-width:0;white-space:inherit}.ui-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 10px 22px #0f1f4d1a}.ui-btn:active:not(:disabled){transform:translateY(0) scale(.985);box-shadow:none}.ui-btn:disabled{cursor:not-allowed;opacity:.6;box-shadow:none}.ui-btn.is-loading{cursor:progress;opacity:.96}.ui-btn.is-loading:after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 12%,rgba(255,255,255,.24) 48%,transparent 78%);transform:translate(-110%);animation:shimmerSweep 1.15s var(--ease-out) infinite;pointer-events:none}.ui-btn-loader{width:16px;height:16px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .75s linear infinite}.ui-btn.is-live{animation:pulseSoft 1.2s ease-in-out infinite}.ui-btn-block{width:100%}.ui-btn-primary{background:var(--brand-gradient);color:#fff}.ui-btn-primary:hover{background:linear-gradient(135deg,#0045b8,#3153e6)}.ui-btn-secondary{background:var(--accent-blue-strong);color:#fff}.ui-btn-secondary:hover{background:var(--blue-700)}.ui-btn-subtle{background:var(--accent-soft);color:var(--accent-strong)}.ui-btn-subtle:hover{background:var(--accent-mist)}.ui-btn-ghost{background:transparent;color:var(--ink);border-color:var(--line)}.ui-btn-ghost:hover{background:var(--soft)}.ui-card{background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);padding:20px;transition:transform var(--motion-med) var(--ease-out),border-color var(--motion-fast) ease,box-shadow var(--motion-med) ease,background var(--motion-fast) ease}.learning-app .ui-card:hover,.public-shell .ui-card:hover,.auth-card:hover{border-color:var(--accent-line);box-shadow:var(--shadow-elevated)}.ui-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.ui-card-title{margin:4px 0 0;font-size:20px;letter-spacing:0}.round-btn{width:34px;height:34px;border:0;border-radius:999px;background:var(--accent-soft);color:var(--accent-strong);display:grid;place-items:center;transition:transform var(--motion-fast) var(--ease-soft),background var(--motion-fast) ease,box-shadow var(--motion-fast) ease}.round-btn:hover{transform:translateY(-1px);box-shadow:0 8px 18px #0f1f4d14}.advanced-panel{margin-top:14px;padding-top:14px;border-top:1px dashed var(--line)}.advanced-panel summary{width:max-content;max-width:100%;color:var(--accent-strong);font-weight:850;cursor:pointer;transition:color var(--motion-fast) ease}.advanced-panel summary:hover{color:var(--accent-deep)}.advanced-panel[open]{animation:softPop var(--motion-med) var(--ease-out) both}.advanced-panel[open] summary{margin-bottom:12px}.settings-status-row{margin-bottom:4px}.ui-badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:800;transition:transform var(--motion-fast) var(--ease-soft),background var(--motion-fast) ease,color var(--motion-fast) ease}.ui-badge:hover{transform:translateY(-1px)}.ui-badge-default{background:#eef2ee;color:#56645e}.ui-badge-info{background:var(--accent-blue-soft);color:var(--accent-blue-strong)}.ui-badge-success{background:var(--accent-soft);color:var(--accent-strong)}.ui-badge-warning{background:#fbf1df;color:#9a6a19}.ui-badge-danger{background:#fdeaea;color:#d23a3a}.ui-info-tip{position:relative;display:inline-flex;align-items:center}.ui-info-trigger{width:34px;height:34px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent-strong);transition:transform var(--motion-fast) var(--ease-soft),background var(--motion-fast) ease,box-shadow var(--motion-fast) ease}.ui-info-trigger:hover,.ui-info-trigger:focus-visible{background:var(--accent-mist);outline:0;box-shadow:0 0 0 3px var(--focus-ring);transform:translateY(-1px)}.ui-info-popover{position:absolute;top:calc(100% + 8px);right:0;z-index:30;width:min(280px,calc(100vw - 32px));padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius-md);background:#fff;color:#44536a;box-shadow:var(--shadow-elevated);font-size:13px;line-height:1.45;opacity:0;transform:translateY(-4px);pointer-events:none;transition:opacity var(--motion-fast) ease,transform var(--motion-fast) var(--ease-soft)}.ui-info-tip:hover .ui-info-popover,.ui-info-tip:focus-within .ui-info-popover{opacity:1;transform:translateY(0);pointer-events:auto}.loading-spin{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-delay:0ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.ui-tabs{padding:5px;background:#fff;border:1px solid var(--line);border-radius:999px;display:flex;gap:4px;overflow-x:auto}.ui-tabs button{height:34px;border:0;border-radius:999px;background:transparent;color:var(--muted);padding:0 13px;font-weight:800;white-space:nowrap;transition:transform var(--motion-fast) var(--ease-soft),background var(--motion-fast) ease,color var(--motion-fast) ease}.ui-tabs button.active{background:var(--accent-strong);color:#fff}.ui-tabs button:hover{transform:translateY(-1px)}.ui-table-wrap{overflow-x:auto}.ui-table{width:100%;border-collapse:collapse;font-size:14px}.ui-table th{text-align:left;padding:10px 12px;color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid var(--line)}.ui-table td{padding:12px;border-bottom:1px solid #eef2f8;vertical-align:middle}.ui-table tr:last-child td{border-bottom:0}.ui-table-empty{padding:24px}.ui-empty{text-align:center;padding:32px 18px;color:var(--muted);display:grid;gap:8px;justify-items:center}.ui-empty-icon{width:52px;height:52px;border-radius:50%;background:var(--accent-soft);color:var(--accent-strong);display:grid;place-items:center}.ui-empty strong{color:var(--ink);font-size:16px}.ui-empty p{margin:0;max-width:320px}.ui-page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.ui-page-title{margin:4px 0 0;font-size:26px;letter-spacing:0}.ui-page-desc{margin:6px 0 0;color:var(--muted)}.ui-page-actions{display:flex;gap:10px;flex-wrap:wrap}.admin-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.ui-stat{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:16px;display:grid;gap:4px;align-content:start;transition:transform var(--motion-med) var(--ease-out),border-color var(--motion-fast) ease,box-shadow var(--motion-med) ease}.ui-stat:hover{transform:translateY(-2px);border-color:var(--accent-line);box-shadow:var(--shadow-elevated)}.ui-stat-icon{width:38px;height:38px;border-radius:var(--radius-md);background:var(--accent-soft);color:var(--accent-strong);display:grid;place-items:center;margin-bottom:6px}.ui-stat-value{font-size:28px;line-height:1}.ui-stat-label{font-size:13px;font-weight:800;color:#51617a}.ui-stat-detail{color:var(--muted)}.ui-stat-dark{background:linear-gradient(145deg,var(--accent-deep),var(--accent-blue-strong));color:#fff}.ui-stat-dark .ui-stat-label{color:#ffffffe0}.ui-stat-dark .ui-stat-detail{color:#ffffffb3}.due-list{display:grid;gap:10px}.due-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:var(--radius-lg);background:var(--soft);border:1px solid var(--line);transition:transform var(--motion-fast) var(--ease-soft),border-color var(--motion-fast) ease,background var(--motion-fast) ease}.due-row:hover{transform:translateY(-1px);border-color:var(--accent-line);background:#fff}.due-row strong,.due-row small{display:block}.due-row small{color:var(--muted);margin-top:3px}.class-row>div strong,.class-row>div small{display:block}.class-row>div small{color:var(--muted)}.public-shell{min-height:100vh;display:block;padding:0;background:linear-gradient(160deg,#f8fafc,#fff 62%)}.auth-page{min-height:100vh;width:100%;display:grid;place-items:center;padding:clamp(18px,3vw,42px);background:linear-gradient(118deg,#eef2ffd1,#f8fafcf5 46%,#ffffffeb)}.auth-shell{width:min(1180px,100%);display:grid;grid-template-columns:minmax(0,3fr) minmax(360px,2fr);gap:clamp(18px,2.4vw,30px);align-items:stretch}.auth-story-panel,.auth-card{border:1px solid rgba(226,232,240,.92);border-radius:28px;box-shadow:var(--shadow-elevated)}.auth-story-panel{position:relative;overflow:hidden;min-height:680px;padding:clamp(28px,4vw,48px);display:grid;align-content:space-between;gap:28px;background:linear-gradient(135deg,#ffffffe0,#eef2ffeb,#f8fafcf0)}.auth-story-panel:before{content:"";position:absolute;inset:0;background:linear-gradient(112deg,transparent 0%,rgba(255,255,255,.52) 46%,transparent 72%);transform:translate(-58%);animation:authSweep 7s var(--ease-soft) infinite;pointer-events:none}.auth-story-panel>*{position:relative;z-index:1}.auth-card{width:100%;min-height:680px;background:#fffffff0;padding:clamp(28px,3.5vw,44px);display:grid;align-content:center}.auth-brand{gap:10px;margin-bottom:18px}.auth-brand-form{display:none}.auth-story-copy{max-width:610px}.auth-story-copy h1{margin:12px 0 14px;font-size:62px;line-height:1.02;letter-spacing:0}.auth-story-copy p{margin:0;max-width:560px;color:#596b7d;font-size:17px;line-height:1.75}.auth-card h2{margin:8px 0 0;font-size:40px;line-height:1.08;letter-spacing:0}.auth-sub{margin:10px 0 24px;color:var(--muted);line-height:1.6}.auth-form{display:grid;gap:14px}.field{display:grid;gap:6px;min-width:0}.field>span{font-size:13px;font-weight:700;color:#45546c}.field-input{min-width:0;display:flex;align-items:center;gap:9px;height:46px;padding:0 14px;border:1px solid var(--line);border-radius:var(--radius-md);color:var(--muted);transition:transform var(--motion-fast) var(--ease-soft),border-color var(--motion-fast) ease,box-shadow var(--motion-fast) ease,background var(--motion-fast) ease}.field-input:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--focus-ring);transform:translateY(-1px);background:#fff}.field-input input{min-width:0;flex:1;border:0;outline:0;background:transparent;color:var(--ink)}.field-input input[type=file]{width:100%}.password-field{padding-right:6px}.password-toggle{flex:none;width:34px;height:34px;border:0;border-radius:50%;display:grid;place-items:center;background:transparent;color:var(--muted);transition:transform var(--motion-fast) var(--ease-soft),background var(--motion-fast) ease,color var(--motion-fast) ease}.password-toggle:hover,.password-toggle:focus-visible{outline:0;background:var(--accent-soft);color:var(--accent-strong);transform:translateY(-1px)}.auth-error{margin:0;color:var(--danger);font-size:13px;font-weight:700}.auth-divider{display:flex;align-items:center;gap:10px;margin:20px 0 16px;color:var(--muted);font-size:12px;font-weight:700}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--line)}.auth-quick{display:grid;gap:10px}.auth-secure-note{display:flex;align-items:flex-start;gap:9px;margin-top:18px;padding:12px 14px;border:1px solid var(--accent-line);border-radius:var(--radius-md);background:var(--accent-mist);color:#526375;font-size:13px;line-height:1.5}.auth-secure-note svg{flex:none;color:var(--accent-strong)}.auth-foot{margin:22px 0 0;text-align:center;color:var(--muted);font-size:13px}.auth-foot a{color:var(--accent-strong);font-weight:700}.auth-visual{position:relative;min-height:280px;display:grid;place-items:center}.auth-orbit{position:relative;width:min(270px,62vw);aspect-ratio:1;border-radius:50%;display:grid;place-items:center;text-align:center;background:conic-gradient(var(--accent-blue-strong) 0 78%,#E2E8F0 78% 100%);box-shadow:0 24px 52px #0f1f4d21;animation:softPop .62s var(--ease-out) both}.auth-orbit:after{content:"";position:absolute;inset:22px;border-radius:50%;background:#fffffff0}.auth-orbit span{position:absolute;inset:-7px;border-radius:50%;border:1px solid rgba(16,185,129,.18);animation:authOrbit 9s linear infinite}.auth-orbit span:after{content:"";position:absolute;top:19px;right:36px;width:11px;height:11px;border-radius:50%;background:var(--accent-blue);box-shadow:0 0 0 7px #4364f726}.auth-orbit strong,.auth-orbit small{position:relative;z-index:1;grid-column:1;grid-row:1}.auth-orbit strong{font-size:64px;transform:translateY(-12px)}.auth-orbit small{transform:translateY(42px);color:var(--muted);font-weight:850;text-transform:uppercase;letter-spacing:.05em}.auth-floating-card{position:absolute;min-width:168px;padding:13px 15px;border:1px solid rgba(226,232,240,.92);border-radius:var(--radius-lg);background:#ffffffdb;box-shadow:0 16px 34px #0f1f4d1a;display:grid;gap:4px;animation:authFloat 4.6s var(--ease-soft) infinite}.auth-floating-card svg{color:var(--accent-strong)}.auth-floating-card span{color:var(--muted);font-size:12px;font-weight:800}.auth-floating-card strong{color:var(--ink)}.auth-floating-card.card-one{left:8%;top:16%}.auth-floating-card.card-two{right:4%;bottom:12%;animation-delay:.7s}.auth-insight-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.auth-insight-grid>div{min-height:104px;padding:14px;border:1px solid rgba(226,232,240,.9);border-radius:var(--radius-lg);background:#ffffffa8;display:grid;gap:5px;align-content:start;animation:appFadeUp var(--motion-slow) var(--ease-out) both}.auth-insight-grid>div:nth-child(2){animation-delay:70ms}.auth-insight-grid>div:nth-child(3){animation-delay:.14s}.auth-insight-grid svg{color:var(--accent-strong)}.auth-insight-grid strong{font-size:18px}.auth-insight-grid span{color:var(--muted);font-size:12px;line-height:1.4}@keyframes authSweep{0%,42%{transform:translate(-68%)}64%,to{transform:translate(68%)}}@keyframes authOrbit{to{transform:rotate(360deg)}}@keyframes authFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes entryPanelFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-9px)}}@keyframes entryRingPulse{0%,to{transform:scale(1);opacity:.68}50%{transform:scale(1.08);opacity:.28}}@media(max-width:980px){.auth-page{place-items:start center}.auth-shell{grid-template-columns:1fr;max-width:720px}.auth-story-panel,.auth-card{min-height:0;border-radius:24px}.auth-story-copy h1{font-size:46px}.auth-card h2{font-size:36px}.auth-visual{min-height:230px}}@media(max-width:640px){.auth-page{padding:14px;place-items:center}.auth-shell{max-width:430px}.auth-story-panel{display:none}.auth-card{min-height:0;border-radius:20px;padding:24px 22px}.auth-brand-form{display:flex}.auth-card h2{font-size:32px}.auth-sub{margin-bottom:20px}}@media(max-width:420px){.auth-card .ui-btn{height:auto;min-height:44px;white-space:normal;padding-top:11px;padding-bottom:11px}}.entry-page{min-height:100vh;background:radial-gradient(circle at 82% 0%,rgba(67,100,247,.16),transparent 34%),radial-gradient(circle at 8% 28%,rgba(16,185,129,.1),transparent 30%),linear-gradient(180deg,#f8fafc,#fff)}.entry-top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 28px;width:min(100%,1180px);margin:0 auto}.entry-login-link{display:inline-flex;align-items:center;gap:6px;min-height:40px;border-radius:999px;padding:0 12px;color:var(--accent-strong);font-weight:800;font-size:14px;transition:transform var(--motion-fast) var(--ease-soft),background var(--motion-fast) ease}.entry-login-link:hover{background:#eef2ffe6;transform:translateY(-1px)}.entry-landing{width:min(100%,1180px);margin:0 auto;padding:18px 28px 64px;display:grid;gap:22px}.entry-hero{margin:0;padding:0}.entry-hero-grid{display:grid;grid-template-columns:minmax(0,.96fr) minmax(360px,.74fr);gap:28px;align-items:stretch}.entry-hero-copy{min-height:520px;padding:clamp(28px,4vw,54px);border:1px solid var(--accent-line);border-radius:28px;background:linear-gradient(135deg,#fffffff0,#eef2ffeb),radial-gradient(circle at 100% 0%,rgba(67,100,247,.2),transparent 38%);box-shadow:var(--shadow-elevated);display:grid;align-content:center;overflow:hidden;position:relative}.entry-hero-copy:after{content:"";position:absolute;inset:auto -18% -32% 42%;height:260px;background:linear-gradient(110deg,transparent,rgba(255,255,255,.72),transparent);transform:rotate(-12deg);animation:authSweep 8s var(--ease-soft) infinite;pointer-events:none}.entry-hero-copy>*{position:relative;z-index:1}.entry-hero h1{font-size:clamp(40px,4.2vw,58px);line-height:1.04;letter-spacing:0;margin:14px 0;max-width:760px}.entry-hero-copy>p{color:#51617a;font-size:clamp(16px,1.7vw,19px);line-height:1.72;max-width:640px;margin:0}.entry-actions{max-width:360px;margin:0 auto}.entry-actions-left{max-width:560px;margin:26px 0 0;display:flex;align-items:center;gap:14px;flex-wrap:wrap}.entry-note{margin:0;color:var(--muted);font-size:13px;line-height:1.55;max-width:300px}.entry-trust-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}.entry-trust-row span{min-height:34px;display:inline-flex;align-items:center;gap:7px;padding:0 12px;border:1px solid rgba(226,232,240,.9);border-radius:999px;background:#ffffffad;color:#526375;font-size:13px;font-weight:800}.entry-trust-row svg{color:var(--accent-strong)}.entry-hero-panel{position:relative;min-height:520px;border-radius:28px;border:1px solid rgba(226,232,240,.92);background:radial-gradient(circle at 20% 16%,rgba(255,255,255,.88),transparent 26%),linear-gradient(145deg,#eef2ff,#f8fafc 56%,#fff);box-shadow:var(--shadow-card);padding:clamp(22px,3vw,34px);display:grid;grid-template-rows:auto 1fr auto;gap:20px;overflow:hidden}.entry-hero-panel:before{content:"";position:absolute;inset:14px;border:1px solid rgba(255,255,255,.72);border-radius:22px;pointer-events:none}.entry-panel-top{position:relative;z-index:1;display:flex;justify-content:space-between;gap:12px;align-items:center;color:var(--muted);font-size:13px;font-weight:800}.entry-panel-top strong{color:var(--ink);font-size:18px}.entry-band-preview{position:relative;z-index:1;display:grid;place-items:center;min-height:260px}.entry-band-ring{position:relative;width:min(255px,70vw);aspect-ratio:1;border-radius:50%;display:grid;place-items:center;text-align:center;background:conic-gradient(var(--accent-strong) 0 72%,rgba(226,232,240,.78) 72% 100%);box-shadow:0 26px 62px #0f1f4d1f;animation:entryPanelFloat 5.2s var(--ease-soft) infinite}.entry-band-ring:before{content:"";position:absolute;inset:-15px;border:1px solid rgba(16,185,129,.18);border-radius:50%;animation:entryRingPulse 2.8s ease-in-out infinite}.entry-band-ring:after{content:"";position:absolute;inset:25px;border-radius:50%;background:#fffffff5}.entry-band-ring strong,.entry-band-ring span{position:relative;z-index:1;grid-column:1;grid-row:1}.entry-band-ring strong{font-size:58px;transform:translateY(-11px)}.entry-band-ring span{color:var(--muted);font-weight:850;font-size:12px;letter-spacing:.08em;text-transform:uppercase;transform:translateY(42px)}.entry-signal{position:absolute;z-index:2;width:92px;height:54px;border:1px solid rgba(226,232,240,.95);border-radius:15px;background:#ffffffd1;box-shadow:0 14px 32px #0f1f4d1a}.entry-signal:after{content:"";position:absolute;left:13px;right:13px;bottom:12px;height:24px;background:linear-gradient(90deg,var(--accent) 0 18%,transparent 18% 26%,var(--accent-blue) 26% 49%,transparent 49% 58%,#9bb7a8 58% 78%,transparent 78%);border-radius:7px;opacity:.72}.signal-one{top:34px;left:8px;animation:entryPanelFloat 5.4s var(--ease-soft) infinite .25s}.signal-two{right:0;bottom:34px;animation:entryPanelFloat 5.8s var(--ease-soft) infinite .8s}.entry-panel-points{position:relative;z-index:1;display:grid;grid-template-columns:1fr;gap:10px}.entry-panel-points span{min-height:40px;display:flex;align-items:center;padding:0 14px;border:1px solid rgba(226,232,240,.9);border-radius:var(--radius-md);background:#ffffffb8;color:#506071;font-size:13px;font-weight:850;box-shadow:0 10px 24px #0f1f4d0f}.entry-skills-section{display:grid;grid-template-columns:310px minmax(0,1fr);gap:22px;align-items:start;padding:4px 0 0}.entry-section-head{padding:8px 0}.entry-section-head h2{margin:0 0 10px;font-size:28px;letter-spacing:0}.entry-section-head p{margin:0;color:var(--muted);line-height:1.65}.entry-skills{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.entry-skill{min-height:150px;background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:18px;display:grid;gap:7px;align-content:center;justify-items:start;color:var(--accent-strong);transition:transform var(--motion-med) var(--ease-out),border-color var(--motion-fast) ease,box-shadow var(--motion-med) ease,background var(--motion-fast) ease}.entry-skill:hover{transform:translateY(-3px);border-color:var(--accent-line);box-shadow:var(--shadow-elevated);background:#fff}.entry-skill strong{color:var(--ink);font-size:17px}.entry-skill small{color:var(--muted);display:inline-flex;align-items:center;gap:5px}.entry-flow,.entry-take,.entry-result-page{width:min(100%,960px);margin:0 auto;padding:18px 28px 56px;display:grid;gap:18px}.entry-flow{max-width:1080px}.entry-check-flow{gap:20px}.entry-check-shell{display:grid;grid-template-columns:minmax(300px,.72fr) minmax(0,1fr);gap:22px;align-items:stretch}.entry-check-context{position:relative;min-height:520px;padding:clamp(24px,3vw,34px);border-radius:26px;border:1px solid var(--accent-line);background:linear-gradient(145deg,#edf6f2f5,#f6f8faf0),radial-gradient(circle at 92% 10%,rgba(67,100,247,.18),transparent 36%);box-shadow:var(--shadow-card);overflow:hidden;display:grid;align-content:center}.entry-check-context:after{content:"";position:absolute;width:190px;height:190px;right:-70px;bottom:-78px;border-radius:50%;border:30px solid rgba(16,185,129,.07);pointer-events:none}.entry-check-context>*{position:relative;z-index:1}.entry-check-context h1{margin:13px 0 12px;font-size:clamp(34px,4vw,54px);line-height:1.05;letter-spacing:0}.entry-check-context>p{margin:0;color:#596b7d;line-height:1.7;max-width:520px}.entry-focus-note{display:flex;gap:10px;align-items:flex-start;margin-top:28px;padding:15px 16px;border-radius:var(--radius-lg);border:1px solid rgba(226,232,240,.95);background:#ffffffc7;color:#526375;font-size:14px;font-weight:750;line-height:1.55;box-shadow:0 12px 30px #0f1f4d0f}.entry-focus-note svg{color:var(--accent-strong);flex:none;margin-top:1px}.entry-check-card{min-height:520px;padding:clamp(24px,3vw,34px);display:grid;align-content:center}.entry-check-card-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:20px}.entry-check-card-head h2{margin:7px 0 0;font-size:32px;line-height:1.12;letter-spacing:0}.entry-check-form{gap:16px}.entry-check-foot{justify-content:stretch}.entry-check-outcome{animation:softPop var(--motion-med) var(--ease-out) both}.entry-warning{border-color:#f5c56a;background:#fffaf0}.entry-warning-head{display:flex;gap:12px;align-items:flex-start;color:#9a6407}.entry-warning-head p{margin:4px 0 0;color:#6d5b3e;line-height:1.6}.entry-result-mini,.entry-actions-inline{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:14px}.entry-actions-inline.center{justify-content:center}.entry-ready{display:grid;gap:10px;justify-items:start}.entry-ready h2,.entry-ready p{margin:0}.entry-take{max-width:980px}.entry-take-head h1{margin:6px 0;font-size:32px}.entry-take-head p{margin:0;color:var(--muted);line-height:1.6}.entry-test-form{display:grid;gap:16px}.entry-source-box{background:var(--soft);border:1px solid var(--line);border-radius:var(--radius-md);padding:14px;color:#45546c;line-height:1.7;margin-bottom:16px}.entry-submit-bar{position:sticky;bottom:16px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;border:1px solid var(--line);border-radius:var(--radius-lg);background:#fffffff0;box-shadow:var(--shadow-elevated)}.entry-submit-bar span{color:var(--muted);font-size:13px;line-height:1.5}.entry-center{display:grid;place-items:center;padding:24px}.entry-complete-card{width:min(100%,620px);text-align:center;display:grid;gap:14px;justify-items:center}.entry-complete-card h1{margin:0;font-size:30px}.entry-complete-card p{margin:0;max-width:480px}.entry-complete-icon{width:70px;height:70px;border-radius:50%;display:grid;place-items:center;background:var(--accent-soft);color:var(--green)}.entry-score-grid{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.entry-score-grid>div{min-height:84px;padding:13px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--soft);display:grid;gap:4px;align-content:center}.entry-score-grid small{color:var(--muted);font-weight:800}.entry-score-grid strong{font-size:24px;display:inline-flex;gap:6px;align-items:center;justify-content:center}.entry-score-grid.compact{max-width:470px}.entry-result-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}.entry-result-hero h1{margin:5px 0;font-size:30px}.entry-result-hero p{margin:0;color:var(--muted)}.entry-review-row{padding-bottom:14px;border-bottom:1px solid #eef2f8}.entry-review-row:last-child{border-bottom:0;padding-bottom:0}.entry-pending-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.entry-pending-grid>div{border:1px solid var(--line);border-radius:var(--radius-md);padding:14px;background:var(--soft)}.entry-pending-grid p{margin:10px 0 0;color:#45546c;line-height:1.6;white-space:pre-wrap}.entry-admin-student strong,.entry-admin-student small{display:block}.entry-admin-student small{color:var(--muted);margin-top:3px}.entry-admin-kpi{display:grid;gap:7px;align-content:start}.entry-admin-kpi svg{color:var(--accent-strong)}.entry-admin-kpi strong{font-size:30px;line-height:1}.entry-admin-kpi span{color:var(--muted);font-weight:800}.entry-exam-room .exam-room-bar{grid-template-columns:minmax(360px,1fr) auto auto}.entry-exam-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}.entry-exam-tabs button{min-height:30px;border:1px solid var(--line);border-radius:999px;padding:0 11px;background:#fff;color:var(--muted);font-size:12px;font-weight:800}.entry-exam-tabs button.active{background:var(--brand-gradient);border-color:var(--accent-blue-strong);color:#fff}.question-nav button{aspect-ratio:1;border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff;color:#586880;font-size:12px;font-weight:800;display:grid;place-items:center}.question-nav button.done{background:var(--accent);color:#fff;border-color:var(--accent)}.entry-exam-textarea{width:100%;min-height:300px;height:auto;padding:14px;resize:vertical;line-height:1.6;font:inherit}.entry-exam-textarea.short{min-height:180px}.exam-shell{min-height:100vh;background:#f8fafc}.scrim{position:fixed;inset:0;background:#07142d73;z-index:15}.scrim{animation:softPop var(--motion-fast) var(--ease-out) both}.notfound{text-align:center;display:grid;gap:10px;justify-items:center;color:var(--muted)}.notfound h1{font-size:56px;margin:0;color:var(--ink)}.notfound p{margin:0 0 8px}.learning-app .app-main>main:not(.instructions-page),.auth-story-panel,.auth-card,.public-shell>.entry-page,.entry-complete-card,.notfound{animation:appFadeUp var(--motion-slow) var(--ease-out) both}.learning-app :where(.workspace-grid,.primary-column,.right-column,.page-single:not(.instructions-page),.page-wide,.admin-stat-grid,.test-grid,.course-grid,.exam-list,.due-list,.item-list,.vocab-cue-list,.vocab-word-list,.import-job-list,.parsed-section-list,.release-checklist,.metric-strip)>*,.public-shell :where(.entry-top,.entry-landing,.entry-hero,.entry-skills-section,.entry-skills,.entry-flow,.entry-check-shell,.entry-result-page)>*{animation:appFadeUp var(--motion-med) var(--ease-out) both}.learning-app :where(.workspace-grid,.primary-column,.right-column,.page-single:not(.instructions-page),.page-wide,.admin-stat-grid,.test-grid,.course-grid,.exam-list,.due-list,.item-list,.vocab-cue-list,.vocab-word-list,.import-job-list,.parsed-section-list,.release-checklist,.metric-strip)>*:nth-child(2),.public-shell :where(.entry-top,.entry-landing,.entry-hero,.entry-skills-section,.entry-skills,.entry-flow,.entry-check-shell,.entry-result-page)>*:nth-child(2){animation-delay:45ms}.learning-app :where(.workspace-grid,.primary-column,.right-column,.page-single:not(.instructions-page),.page-wide,.admin-stat-grid,.test-grid,.course-grid,.exam-list,.due-list,.item-list,.vocab-cue-list,.vocab-word-list,.import-job-list,.parsed-section-list,.release-checklist,.metric-strip)>*:nth-child(3),.public-shell :where(.entry-top,.entry-landing,.entry-hero,.entry-skills-section,.entry-skills,.entry-flow,.entry-check-shell,.entry-result-page)>*:nth-child(3){animation-delay:90ms}.learning-app :where(.workspace-grid,.primary-column,.right-column,.page-single:not(.instructions-page),.page-wide,.admin-stat-grid,.test-grid,.course-grid,.exam-list,.due-list,.item-list,.vocab-cue-list,.vocab-word-list,.import-job-list,.parsed-section-list,.release-checklist,.metric-strip)>*:nth-child(4),.public-shell :where(.entry-top,.entry-landing,.entry-hero,.entry-skills-section,.entry-skills,.entry-flow,.entry-check-shell,.entry-result-page)>*:nth-child(4){animation-delay:135ms}.learning-app :where(.workspace-grid,.primary-column,.right-column,.page-single:not(.instructions-page),.page-wide,.admin-stat-grid,.test-grid,.course-grid,.exam-list,.due-list,.item-list,.vocab-cue-list,.vocab-word-list,.import-job-list,.parsed-section-list,.release-checklist,.metric-strip)>*:nth-child(5),.public-shell :where(.entry-top,.entry-landing,.entry-hero,.entry-skills-section,.entry-skills,.entry-flow,.entry-check-shell,.entry-result-page)>*:nth-child(5){animation-delay:.18s}.learning-app :where(.workspace-grid,.primary-column,.right-column,.page-single:not(.instructions-page),.page-wide,.admin-stat-grid,.test-grid,.course-grid,.exam-list,.due-list,.item-list,.vocab-cue-list,.vocab-word-list,.import-job-list,.parsed-section-list,.release-checklist,.metric-strip)>*:nth-child(n+6),.public-shell :where(.entry-top,.entry-landing,.entry-hero,.entry-skills-section,.entry-skills,.entry-flow,.entry-check-shell,.entry-result-page)>*:nth-child(n+6){animation-delay:225ms}.exam-shell *,.exam-room-full *,.entry-exam-room *,.ielts-shell *,.ielts-check-gate *{animation-delay:0ms}.instructions-page .ui-card:hover,.exam-shell .ui-card:hover,.exam-room-full .ui-card:hover,.entry-exam-room .ui-card:hover,.ielts-shell .ui-card:hover,.ielts-check-gate .ui-card:hover{border-color:var(--line);box-shadow:var(--shadow-card)}.instructions-page .ui-btn:hover:not(:disabled),.exam-shell .ui-btn:hover:not(:disabled),.exam-room-full .ui-btn:hover:not(:disabled),.entry-exam-room .ui-btn:hover:not(:disabled),.ielts-shell .ui-btn:hover:not(:disabled),.ielts-check-gate .ui-btn:hover:not(:disabled),.instructions-page .ui-btn:active:not(:disabled),.exam-shell .ui-btn:active:not(:disabled),.exam-room-full .ui-btn:active:not(:disabled),.entry-exam-room .ui-btn:active:not(:disabled),.ielts-shell .ui-btn:active:not(:disabled),.ielts-check-gate .ui-btn:active:not(:disabled){transform:none;box-shadow:none}@media(max-width:1380px){.ui-right-rail,.admin-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:900px){.ui-right-rail{grid-template-columns:1fr}}@media(max-width:980px){.entry-landing{padding-top:10px}.entry-hero-grid,.entry-check-shell,.entry-skills-section{grid-template-columns:1fr}.entry-hero-copy,.entry-hero-panel,.entry-check-context,.entry-check-card{min-height:0}.entry-hero-panel{grid-template-rows:auto auto auto}.entry-band-preview{min-height:230px}.entry-skills{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.entry-landing{padding:8px 16px 44px;gap:16px}.entry-hero-copy,.entry-hero-panel,.entry-check-context,.entry-check-card{border-radius:20px;padding:22px}.entry-hero h1,.entry-check-context h1{font-size:34px}.entry-hero-copy>p,.entry-check-context>p{font-size:15px}.entry-actions-left{align-items:stretch;margin-top:20px}.entry-actions-left .ui-btn{width:100%}.entry-note{max-width:none}.entry-trust-row{margin-top:18px}.entry-trust-row span{width:100%;justify-content:center;text-align:center}.entry-hero-panel{display:none}.entry-section-head h2{font-size:24px}.entry-skills{grid-template-columns:1fr}.entry-skill{min-height:0;grid-template-columns:auto minmax(0,1fr);justify-items:start;align-items:center}.entry-skill small{grid-column:2}.entry-focus-note{display:none}.entry-check-card-head{align-items:flex-start;flex-direction:column}.entry-check-card-head h2{font-size:28px}.admin-stat-grid{grid-template-columns:1fr}.entry-top{padding:14px 16px;align-items:flex-start}.entry-login-link{padding:0 8px;font-size:13px;text-align:right;justify-content:flex-end}.entry-flow,.entry-take,.entry-result-page{padding:12px 16px 40px}.entry-score-grid,.entry-pending-grid{grid-template-columns:1fr}.entry-submit-bar{position:static;align-items:stretch;flex-direction:column}.entry-exam-room .exam-room-bar{grid-template-columns:1fr auto}.entry-exam-room .exam-room-bar .ui-btn{grid-column:1 / -1}}.page-single{max-width:720px;padding:22px 28px 40px;display:grid;gap:20px;align-content:start}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.form-grid .form-foot{grid-column:1 / -1;display:flex;align-items:center;justify-content:flex-end;gap:12px}.field-input-readonly{background:#f4f6fa;color:var(--muted)}.field-input-readonly input{color:var(--muted)}.side-foot{margin-top:auto;display:grid;gap:10px}.side-foot .mentor-mini{margin-top:0}.side-profile{display:flex;align-items:center;gap:11px;padding:11px 13px;border-radius:var(--radius-md);background:#ffffffb8;border:1px solid var(--line);color:var(--ink)}.side-profile:hover{background:var(--accent-soft)}.side-profile strong,.side-profile span{display:block}.side-profile span{font-size:12px;color:var(--muted)}@media(max-width:640px){.form-grid{grid-template-columns:1fr}.page-single{padding:16px}}.page-wide{padding:22px 28px 40px;display:grid;gap:20px;align-content:start;max-width:1180px}.muted{color:var(--muted)}.link{color:var(--accent-strong);font-weight:700}.back-link{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-weight:700;font-size:13px}.back-link:hover{color:var(--ink)}.field-input select,.filter-bar select{min-width:0;border:0;outline:0;background:transparent;color:var(--ink);width:100%;font:inherit}.filter-bar{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}.filter-bar select{height:44px;border:1px solid var(--line);border-radius:var(--radius-md);padding:0 12px;background:#fff;min-width:160px}.search-box.compact{height:44px;flex:1;min-width:200px}.check-group{grid-column:1 / -1;border:1px solid var(--line);border-radius:var(--radius-md);padding:14px 16px;margin:0}.check-group legend{padding:0 6px;font-size:13px;font-weight:800;color:#45546c}.check-row{display:flex;align-items:center;gap:10px;padding:7px 0}.check-row input{width:18px;height:18px}.check-row small{color:var(--muted)}.info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 24px}.info-row{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #eef2f8}.info-row span{color:var(--muted)}.info-row strong{text-align:right;display:inline-flex;align-items:center;gap:6px}.chip-list{display:flex;flex-wrap:wrap;gap:8px}.chip{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:999px;background:var(--accent-soft);color:var(--accent-strong);font-weight:700;font-size:13px;border:1px solid var(--line);transition:transform var(--motion-fast) var(--ease-soft),background var(--motion-fast) ease,border-color var(--motion-fast) ease}.chip small{color:var(--muted);font-weight:600}.chip:hover{background:var(--accent-mist);transform:translateY(-1px);border-color:var(--accent-line)}.add-pick{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.cred-box{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-bottom:16px}.cred-box>div{background:var(--soft);border:1px solid var(--line);border-radius:var(--radius-md);padding:14px}.cred-box small{display:block;color:var(--muted);margin-bottom:4px}.cred-box strong{font-size:18px}.slot-list{display:grid;gap:8px}.slot-row{display:grid;grid-template-columns:44px auto 1fr;align-items:center;gap:12px;padding:12px 14px;border-radius:var(--radius-md);background:var(--soft);border:1px solid var(--line);transition:transform var(--motion-fast) var(--ease-soft),border-color var(--motion-fast) ease,background var(--motion-fast) ease}.slot-row:hover{transform:translateY(-1px);border-color:var(--accent-line);background:#fff}.slot-day{width:44px;height:30px;display:grid;place-items:center;border-radius:var(--radius-sm);background:var(--accent-strong);color:#fff;font-weight:800;font-size:12px}.slot-row small{color:var(--muted)}.sched-editor{display:grid;gap:10px;margin-bottom:16px}.sched-edit-row{display:grid;grid-template-columns:80px 110px 110px 1fr 120px 40px;gap:8px;align-items:center}.sched-edit-row select,.sched-edit-row input{height:42px;border:1px solid var(--line);border-radius:var(--radius-md);padding:0 10px;outline:0;background:#fff;font:inherit}.sched-edit-row select:focus,.sched-edit-row input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--focus-ring)}.icon-del{width:40px;height:42px;border:1px solid var(--line);border-radius:var(--radius-md);background:#fff;color:#d23a3a;display:grid;place-items:center}.icon-del:hover{background:#fdeaea}.course-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}.course-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:18px;display:grid;gap:10px;align-content:start;color:var(--ink);transition:transform var(--motion-med) var(--ease-out),border-color var(--motion-fast) ease,box-shadow var(--motion-med) ease}.course-card:hover{transform:translateY(-3px);border-color:var(--accent);box-shadow:var(--shadow-elevated)}.course-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.course-card-top h3{margin:0;font-size:18px}.course-card-foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;color:var(--muted);font-size:13px}.course-card-foot span{display:inline-flex;align-items:center;gap:5px}.week-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.week-col{background:var(--soft);border:1px solid var(--line);border-radius:var(--radius-md);padding:10px 8px;min-height:120px;display:grid;gap:8px;align-content:start}.week-col.has{background:#fff}.week-day{font-weight:800;font-size:12px;color:#51617a;text-align:center}.week-slot{background:var(--accent-soft);border-radius:var(--radius-sm);padding:8px;text-align:center;transition:transform var(--motion-fast) var(--ease-soft),background var(--motion-fast) ease}.week-slot strong{display:block;font-size:14px}.week-slot small{color:var(--muted)}.week-slot p{margin:4px 0 0;font-size:12px;font-weight:700}.week-slot em{font-size:11px;color:var(--muted);font-style:normal}.link-slot{color:var(--ink)}.link-slot:hover{background:var(--accent-mist);transform:translateY(-1px)}@media(max-width:1024px){.week-grid{grid-template-columns:repeat(2,1fr)}.info-grid{grid-template-columns:1fr}}@media(max-width:640px){.page-wide{padding:16px}.sched-edit-row{grid-template-columns:1fr 1fr}.cred-box,.week-grid{grid-template-columns:1fr}}.exam-list{display:grid;gap:12px}.exam-list-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.exam-list-info{display:flex;align-items:center;gap:14px}.exam-skill-icon{width:46px;height:46px;border-radius:var(--radius-md);background:var(--accent-soft);color:var(--accent-strong);display:grid;place-items:center}.exam-skill-icon.muted-icon{background:#f0f2f6;color:#9aa6b6}.exam-list-info strong{display:block}.exam-list-info small{color:var(--muted);display:inline-flex;align-items:center;gap:4px}.exam-list-actions{display:flex;gap:8px;flex-wrap:wrap}.instructions-page,.exam-shell,.exam-room-full,.entry-exam-room{--accent: #10B981;--accent-strong: #059669;--accent-deep: #0F1F4D;--accent-soft: #ECFDF5;--accent-mist: #F0FDF4;--accent-line: #BFDBFE;--accent-blue: #4364F7;--accent-blue-strong: #0052D4;--accent-blue-soft: #EEF2FF;--blue: #0052D4;--blue-700: #003EAA;--navy: #0F1F4D;--green: #10B981;--cyan: #38BDF8;--yellow: #F59E0B;--danger: #DC2626;--ink: #172033;--muted: #64738a;--line: #E2E8F0;--surface-raised: #ffffff;--soft: #F8FAFC;--soft-blue: #EEF2FF;--focus-ring: rgba(67,100,247,.18);--shadow-card: 0 10px 28px rgba(20, 41, 78, .08);--shadow-elevated: 0 18px 46px rgba(20, 41, 78, .12)}.instructions-page{min-height:100vh;display:grid;place-items:center;padding:28px}.instructions-page .ui-card{max-width:560px;width:100%}.instructions-head{display:flex;align-items:center;gap:14px;margin-bottom:18px}.instructions-head h1{margin:0;font-size:24px}.instructions-meta{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:18px}.instructions-meta>div{background:#f8fafc;border:1px solid var(--line);border-radius:var(--radius-md);padding:14px;display:grid;gap:2px;color:var(--accent-blue-strong)}.instructions-meta strong{color:var(--ink);font-size:18px}.instructions-meta small{color:var(--muted)}.instructions-list{margin:0 0 20px;padding-left:18px;color:#51617a;line-height:1.7;display:grid;gap:6px}.exam-room-full{min-height:100vh;display:flex;flex-direction:column;background:#f8fafc}.exam-room-bar{position:sticky;top:0;z-index:10;display:grid;grid-template-columns:1fr auto auto;gap:16px;align-items:center;padding:12px 22px;background:#fff;border-bottom:1px solid var(--line)}.exam-room-title strong{display:block}.exam-room-title small{color:var(--muted)}.timer.danger{background:#d23a3a;animation:pulse 1s infinite}@keyframes pulse{50%{opacity:.7}}.exam-room-body{flex:1;display:grid;grid-template-columns:1.05fr .95fr;gap:16px;padding:18px 22px 40px;max-width:1280px;width:100%;margin:0 auto}.exam-source,.exam-answers{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:20px}.exam-source{align-self:start;position:sticky;top:80px;max-height:calc(100vh - 100px);overflow:auto}.source-instructions{color:#51617a;font-weight:600;margin:10px 0 14px}.reading-passage{line-height:1.8;color:#2b3445;white-space:pre-line}.reading-passage.small{font-size:13px;line-height:1.7}.audio-player{display:flex;align-items:center;gap:14px;padding:16px;border-radius:var(--radius-md);background:var(--accent-blue-soft)}.audio-play{width:46px;height:46px;border-radius:50%;border:0;background:var(--brand-gradient);color:#fff;display:grid;place-items:center}.audio-track{flex:1;display:grid;gap:8px}.audio-track span{font-size:13px;font-weight:700}.audio-bar{height:8px;border-radius:99px;background:#dbeafe;overflow:hidden}.audio-bar i{display:block;height:100%;background:var(--accent-blue-strong);transition:width .3s linear}.audio-note{margin:12px 0 0;font-size:12px}.answer-section{display:grid;gap:16px}.answer-block{padding-bottom:14px;border-bottom:1px solid #eef2f8}.answer-q{display:flex;gap:10px;margin-bottom:10px}.answer-num{flex:none;width:28px;height:28px;border-radius:var(--radius-sm);background:var(--accent-blue-soft);color:var(--accent-blue-strong);font-weight:900;display:grid;place-items:center}.answer-q p{margin:3px 0;line-height:1.5}.exam-text-input{width:100%;height:44px;border:1px solid var(--line);border-radius:var(--radius-md);padding:0 14px;outline:0}.exam-text-input:focus{border-color:var(--accent-blue);box-shadow:0 0 0 3px var(--focus-ring)}.exam-options{display:grid;gap:8px}.exam-option{display:flex;align-items:center;gap:10px;padding:11px 14px;border:1px solid var(--line);border-radius:var(--radius-md);cursor:pointer}.exam-option.selected{border-color:var(--accent-blue);background:var(--accent-blue-soft)}.exam-option input{width:17px;height:17px}.question-nav a{aspect-ratio:1;border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff;color:#586880;font-size:12px;font-weight:800;display:grid;place-items:center}.question-nav a.done{background:var(--accent);color:#fff;border-color:var(--accent)}.result-hero{display:flex;align-items:center;gap:28px;flex-wrap:wrap}.result-donut{width:150px;height:150px;border-radius:50%;display:grid;place-items:center;text-align:center;position:relative;background:conic-gradient(var(--accent) calc(var(--pct) * 1%),#E2E8F0 0)}.result-donut:after{content:"";position:absolute;inset:14px;border-radius:50%;background:#fff}.result-donut strong,.result-donut span{position:relative;z-index:1}.result-donut strong{font-size:38px}.result-donut span{font-size:11px;color:var(--muted);font-weight:800;position:absolute;bottom:34px;left:0;right:0}.result-stats{display:grid;grid-template-columns:repeat(3,auto);gap:24px}.result-stats strong{display:block;font-size:26px}.result-stats small{color:var(--muted)}.result-actions{display:flex;gap:10px;flex-wrap:wrap}.result-pending{display:grid;gap:8px}.result-pending strong{font-size:20px}.result-pending p{margin:0;color:var(--muted);line-height:1.6}.review-list{display:grid;gap:12px}.review-q{display:flex;gap:12px}.review-badge{flex:none;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;color:#fff}.review-badge.ok{background:var(--accent)}.review-badge.bad{background:#ef4444}.review-q-body{flex:1}.review-prompt{margin:2px 0 12px;line-height:1.5}.review-answers{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:12px}.ra{padding:10px 14px;border-radius:var(--radius-md);border:1px solid var(--line);min-width:140px}.ra small{display:block;color:var(--muted);margin-bottom:3px}.ra-ok{background:#ecfdf3;border-color:#b7ebc9}.ra-bad{background:#fdeaea;border-color:#f3c4c4}.ra-correct{background:#eef5ff;border-color:#c7ddff}.review-explain{margin:0;color:#51617a;line-height:1.6}.row-actions{display:inline-flex;gap:8px}.field-input:has(textarea){align-items:stretch;padding:10px 14px}.field-input textarea{width:100%;border:0;outline:0;background:transparent;color:var(--ink);resize:vertical;font:inherit;line-height:1.5}.item-list{display:grid;gap:10px;margin-bottom:16px}.item-row{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--soft);transition:transform var(--motion-fast) var(--ease-soft),border-color var(--motion-fast) ease,background var(--motion-fast) ease}.item-row:hover{transform:translateY(-1px);border-color:var(--accent-line);background:#fff}.item-row>strong{flex:1}.item-row-detail{align-items:flex-start}.item-row-detail>div{flex:1}.item-row-detail strong{display:block}.item-row-detail small{display:block;color:var(--muted);margin-top:4px;line-height:1.5}.item-status{margin-left:auto}.item-add{border-top:1px dashed var(--line);padding-top:16px;display:grid;gap:12px}.take-action{display:flex;align-items:center;gap:10px}.manual-submit-box{margin-top:16px;padding-top:16px;border-top:1px dashed var(--line);display:grid;gap:12px;animation:appFadeUp var(--motion-med) var(--ease-out) both}.manual-status{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.record-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;color:var(--muted)}.record-row small{line-height:1.5}.marking-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.8fr);gap:18px;align-items:start}.manual-prompt{display:flex;align-items:flex-start;gap:10px;padding:12px;border-radius:var(--radius-md);background:var(--soft);border:1px solid var(--line);color:#45546c}.manual-prompt p{margin:0;line-height:1.6}.submission-content{margin-top:14px;padding:16px;border:1px solid var(--line);border-radius:var(--radius-md);background:#fff;white-space:pre-wrap;line-height:1.75;color:#2b3445}.recording-box{margin-top:14px;padding:12px;border-radius:var(--radius-md);border:1px solid var(--accent-line);background:var(--accent-soft);display:grid;gap:4px}.recording-box span{color:var(--accent-strong);font-size:13px;word-break:break-word}.recording-box audio,.exam-response audio{width:100%;margin-top:6px}.exam-responses{display:grid;gap:16px}.exam-response{display:grid;gap:6px}.exam-response>strong{font-size:14px;color:var(--muted)}.marking-form{display:grid;gap:14px}.rubric-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}@media(max-width:900px){.marking-grid,.rubric-grid{grid-template-columns:1fr}}@media(max-width:1024px){.exam-room-body{grid-template-columns:1fr}.exam-source{position:static;max-height:none}}@media(max-width:640px){.exam-room-bar{grid-template-columns:1fr auto}.exam-room-bar .ui-btn{grid-column:1 / -1}.instructions-meta{grid-template-columns:1fr}.result-stats{grid-template-columns:1fr 1fr;gap:14px}}.ielts-shell{--ielts-bg: #ffffff;--ielts-panel: #f7f7f5;--ielts-text: #252525;--ielts-muted: #777777;--ielts-line: #d7d7d7;--ielts-hard-line: #787878;--ielts-accent: #0052D4;--ielts-answered: #10B981;--ielts-flag: #F59E0B;--ielts-footer: #f3f3f3;--passage-text: 22px;--question-text: 22px;--answer-text: 23px;--writing-text: 18px;--instruction-text: 26px;min-height:100vh;background:var(--ielts-bg);color:var(--ielts-text);font-family:Arial,Helvetica,sans-serif;font-size:22px;line-height:1.35;overflow:hidden}.ielts-shell button,.ielts-shell input,.ielts-shell textarea{font:inherit}.ielts-shell.size-large{--passage-text: 26px;--question-text: 26px;--answer-text: 27px;--writing-text: 21px;--instruction-text: 26px;font-size:26px}.ielts-shell.size-extra-large{--passage-text: 30px;--question-text: 30px;--answer-text: 31px;--writing-text: 24px;--instruction-text: 30px;font-size:30px}.ielts-shell.contrast-dark,.ielts-shell.contrast-yellow{--ielts-bg: #050505;--ielts-panel: #111;--ielts-text: #fff;--ielts-muted: #d8d8d8;--ielts-line: #555;--ielts-hard-line: #b5b5b5;--ielts-footer: #090909}.ielts-shell.contrast-yellow{--ielts-text: #fff05a;--ielts-muted: #ffe97a}.ielts-shell.final-minute .exam-header{background:#ffe7e7}.ielts-shell .exam-header{display:flex;align-items:center;justify-content:space-between;height:113px;padding:0 24px;border-top:2px solid #565656;border-bottom:2px solid #e2e2e2;background:var(--ielts-bg);box-sizing:border-box}.ielts-shell .brand-row,.ielts-shell .header-tools,.ielts-shell .question-title,.ielts-shell .system-status,.ielts-shell .part-nav,.ielts-shell .part-questions{display:flex;align-items:center}.ielts-shell .ielts-logo{margin-right:50px;color:#d71920;font-size:52px;font-weight:900;letter-spacing:-3px;line-height:1.12;padding-top:4px}.ielts-shell .ielts-logo sup{font-size:10px;letter-spacing:0;vertical-align:super}.ielts-shell .remaining{font-size:23px;font-weight:500}.ielts-shell .header-tools{gap:42px}.ielts-shell .header-tools button{border:0;background:transparent;color:var(--ielts-text);padding:0;cursor:pointer}.ielts-shell .header-tools .conn-indicator{display:inline-flex;color:var(--ielts-text)}.ielts-shell svg{width:37px;height:37px;fill:none;stroke:currentColor;stroke-width:2.3;stroke-linecap:round;stroke-linejoin:round}.ielts-shell .part-instructions{box-sizing:border-box;margin:24px 25px 0;padding:18px 24px 20px;border:2px solid #e3e3e3;border-radius:4px;background:var(--ielts-panel);box-shadow:0 1px 3px #0000001a inset}.ielts-shell .part-instructions strong,.ielts-shell .part-instructions span{display:block}.ielts-shell .part-instructions strong{margin-bottom:4px;font-size:24px}.ielts-shell .part-instructions span{font-size:var(--instruction-text)}.ielts-shell .test-area{position:relative;display:grid;grid-template-columns:var(--split, 50%) 55px minmax(0,1fr);height:calc(100vh - 431px);min-height:360px;padding:23px 26px 0;box-sizing:border-box;overflow:hidden}.ielts-shell .passage-pane,.ielts-shell .question-pane{height:100%;overflow-y:auto;box-sizing:border-box;padding-bottom:30px}.ielts-shell .passage-pane{padding-right:38px}.ielts-shell .question-pane{padding:22px 62px 28px 38px}.ielts-shell .passage-pane h1{margin:44px 0 23px;font-size:26px;line-height:1.2}.ielts-shell .passage-pane p{margin:0 0 26px;font-size:var(--passage-text);line-height:1.38}.ielts-audio-card{display:flex;align-items:center;gap:18px;margin:0 0 24px;padding:20px;border:2px solid var(--ielts-line);background:var(--ielts-panel)}.ielts-audio-card svg{color:var(--ielts-accent)}.ielts-audio-card strong,.ielts-audio-card span{display:block}.ielts-audio-card strong{font-size:20px}.ielts-audio-card span{color:var(--ielts-muted);font-size:15px}.ielts-audio-track{flex:1;display:grid;gap:8px}.ielts-audio-progress{height:8px;border:1px solid #c8c8c8;background:#fff;overflow:hidden}.ielts-audio-progress i{display:block;height:100%;width:var(--progress, 34%);background:var(--ielts-accent)}.ielts-audio-note{padding:14px;border:1px solid var(--ielts-line);background:#fff;color:var(--ielts-muted);font-size:15px!important}.ielts-audio-play{display:grid;place-items:center;width:56px;height:56px;flex:none;border:2px solid var(--ielts-accent);border-radius:50%;background:var(--ielts-accent);color:#fff;cursor:pointer}.ielts-audio-play:disabled{opacity:.5;cursor:not-allowed}.ielts-audio-play svg{width:26px;height:26px;color:#fff}.ielts-audio-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--ielts-muted);font-size:14px}.ielts-audio-volume{display:flex;align-items:center;gap:8px}.ielts-audio-volume svg{width:20px;height:20px}.ielts-audio-volume input[type=range]{width:110px;accent-color:var(--ielts-accent)}.ielts-shell .splitter{position:relative;display:flex;justify-content:center;cursor:col-resize;-webkit-user-select:none;user-select:none}.ielts-shell .splitter:before{content:"";display:block;width:3px;height:100%;background:var(--ielts-hard-line)}.ielts-shell .splitter:after{content:"";position:absolute;top:0;width:28px;height:147px;background:#8c8c8c;transform:translate(-12px)}.ielts-shell .splitter-handle{position:absolute;top:300px;z-index:2;display:grid;place-items:center;width:51px;height:51px;border:3px solid #6f6f6f;background:var(--ielts-bg);font-size:25px;font-weight:700}.ielts-shell .question-block{position:relative;margin-bottom:62px;scroll-margin-top:18px}.ielts-shell .question-title{align-items:flex-start;gap:10px}.ielts-shell .question-number{display:grid;place-items:center;min-width:42px;height:38px;border:3px solid transparent;background:transparent;color:var(--ielts-text);font-size:24px;font-weight:800;cursor:pointer}.ielts-shell .question-block.active .question-number{border-color:var(--ielts-accent);box-shadow:0 0 0 1px #168bb540}.ielts-shell .question-title p{flex:1;margin:3px 0 0;font-size:var(--question-text);line-height:1.35}.ielts-shell .flag{position:absolute;right:0;top:-6px;border:0;background:transparent;color:#d7d7d7;cursor:pointer}.ielts-shell .flag svg{width:36px;height:36px}.ielts-shell .flag.flagged{color:var(--ielts-flag)}.ielts-shell .radio-list{margin:22px 0 0 48px;display:grid;gap:25px}.ielts-shell .radio-list label{display:flex;align-items:center;gap:9px;width:min(100%,760px);min-height:36px;padding:0 8px;font-size:var(--answer-text);cursor:pointer}.ielts-shell .radio-list label:has(input:checked){background:#b9d5ee}.ielts-shell.contrast-dark .radio-list label:has(input:checked),.ielts-shell.contrast-yellow .radio-list label:has(input:checked){background:#244969}.ielts-shell .radio-list input{width:21px;height:21px;accent-color:var(--ielts-accent)}.ielts-shell .ielts-text-answer{box-sizing:border-box;width:min(100%,760px);min-height:44px;margin:22px 0 0 48px;border:1px solid var(--ielts-line);background:var(--ielts-bg);color:var(--ielts-text);padding:8px 12px;font-size:22px;outline:none}.ielts-shell .checkbox-list{margin:22px 0 0 48px;display:grid;gap:22px}.ielts-shell .checkbox-list label{display:flex;align-items:center;gap:9px;width:min(100%,760px);min-height:36px;padding:0 8px;font-size:var(--answer-text);cursor:pointer}.ielts-shell .checkbox-list label:has(input:checked){background:#b9d5ee}.ielts-shell.contrast-dark .checkbox-list label:has(input:checked),.ielts-shell.contrast-yellow .checkbox-list label:has(input:checked){background:#244969}.ielts-shell .checkbox-list input{width:21px;height:21px;accent-color:var(--ielts-accent)}.ielts-shell .ielts-dropdown{margin:22px 0 0 48px}.ielts-shell .ielts-dropdown select{box-sizing:border-box;min-width:260px;max-width:100%;min-height:44px;border:1px solid var(--ielts-line);background:var(--ielts-bg);color:var(--ielts-text);padding:8px 12px;font-size:20px;cursor:pointer}.ielts-shell .ielts-dropdown select:focus{border-color:var(--ielts-accent);box-shadow:0 0 0 2px #168bb533;outline:none}.ielts-shell .ielts-inline-prompt{margin:6px 0 0 48px;font-size:var(--question-text);line-height:1.9}.ielts-shell .ielts-inline-blank{display:inline-block;min-width:150px;margin:0 4px;border:0;border-bottom:2px solid var(--ielts-accent);background:transparent;color:var(--ielts-text);font-size:inherit;text-align:center;outline:none}.ielts-shell .ielts-inline-blank:focus{background:#168bb51a}.ielts-shell .ielts-heading-match{margin:22px 0 0 48px;display:grid;gap:14px;max-width:760px}.ielts-shell .ielts-heading-slot{position:relative;min-height:48px;display:flex;align-items:center;padding:8px 38px 8px 14px;border:2px dashed var(--ielts-line);border-radius:4px;color:var(--ielts-muted);font-size:18px}.ielts-shell .ielts-heading-slot.filled{border-style:solid;border-color:var(--ielts-accent);background:#168bb514;color:var(--ielts-text)}.ielts-shell .ielts-heading-clear{position:absolute;right:8px;border:0;background:transparent;color:var(--ielts-muted);font-size:22px;cursor:pointer}.ielts-shell .ielts-heading-options{display:flex;flex-wrap:wrap;gap:10px}.ielts-shell .ielts-heading-chip{padding:8px 14px;border:1px solid var(--ielts-line);border-radius:4px;background:var(--ielts-panel);font-size:17px;cursor:grab;-webkit-user-select:none;user-select:none}.ielts-shell .ielts-heading-chip:active{cursor:grabbing}.ielts-shell .ielts-heading-chip.used{opacity:.45}.ielts-shell .ielts-heading-fallback{display:flex;align-items:center;gap:10px;font-size:15px;color:var(--ielts-muted)}.ielts-shell .ielts-heading-fallback select{min-height:38px;border:1px solid var(--ielts-line);background:var(--ielts-bg);color:var(--ielts-text);padding:4px 10px;font-size:16px}.ielts-shell .ielts-word-bank{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 24px;padding:14px;border:1px solid var(--ielts-line);background:var(--ielts-panel)}.ielts-shell .ielts-bank-chip{padding:7px 13px;border:1px solid var(--ielts-hard-line);border-radius:4px;background:var(--ielts-bg);font-size:17px;cursor:grab;-webkit-user-select:none;user-select:none}.ielts-shell .ielts-bank-chip:active{cursor:grabbing}.ielts-shell .ielts-bank-chip.used{opacity:.4}.ielts-shell .ielts-gap-wrap{position:relative;display:inline-flex;align-items:center}.ielts-shell .ielts-gap-num{display:inline-grid;place-items:center;min-width:24px;height:24px;margin-right:6px;border-radius:3px;background:var(--ielts-accent);color:#fff;font-size:13px;font-weight:800}.ielts-shell .ielts-gap{border:0;border-bottom:2px solid var(--ielts-accent);background:transparent;color:var(--ielts-text);font:inherit;outline:none}.ielts-shell .ielts-gap-inline{min-width:140px}.ielts-shell .ielts-gap-cell{min-width:110px;width:100%;box-sizing:border-box}.ielts-shell .ielts-gap:focus{background:#168bb51a}.ielts-shell .ielts-layouts{margin:0 0 28px}.ielts-shell .ielts-table{width:100%;border-collapse:collapse;margin:0 0 24px;font-size:18px}.ielts-shell .ielts-table th,.ielts-shell .ielts-table td{border:1px solid var(--ielts-hard-line);padding:10px 12px;text-align:left;vertical-align:top}.ielts-shell .ielts-table th{background:var(--ielts-panel);font-weight:800}.ielts-shell .ielts-flow{display:grid;gap:0;margin:0 0 24px;justify-items:center}.ielts-shell .ielts-flow-step-wrap{display:grid;justify-items:center;width:100%;max-width:520px}.ielts-shell .ielts-flow-step{width:100%;box-sizing:border-box;padding:14px 16px;border:2px solid var(--ielts-hard-line);border-radius:6px;background:var(--ielts-panel);font-size:18px;text-align:center}.ielts-shell .ielts-flow-arrow{font-size:28px;line-height:1.2;color:var(--ielts-muted)}.ielts-shell .ielts-diagram{margin:0 0 24px}.ielts-shell .ielts-diagram-stage{position:relative;border:1px solid var(--ielts-line);background:var(--ielts-panel)}.ielts-shell .ielts-diagram-stage img{display:block;width:100%;height:auto}.ielts-shell .ielts-diagram-placeholder{display:grid;place-items:center;min-height:280px;color:var(--ielts-muted);font-size:18px}.ielts-shell .ielts-diagram-marker{position:absolute;transform:translate(-50%,-50%);background:var(--ielts-bg);padding:2px;border-radius:4px;box-shadow:0 1px 4px #00000040}.ielts-shell .ielts-diagram-marker .ielts-gap-cell{min-width:90px}.ielts-shell .ielts-diagram figcaption{margin-top:8px;color:var(--ielts-muted);font-size:15px}.ielts-shell .ielts-speaking{display:grid;gap:20px;padding-top:10px}.ielts-shell .ielts-speaking-prep{display:grid;gap:8px;padding:14px;border:1px solid var(--ielts-line);background:var(--ielts-panel)}.ielts-shell .ielts-speaking-prep strong{font-size:20px}.ielts-shell .ielts-speaking-prep span{color:var(--ielts-muted);font-size:14px}.ielts-shell .ielts-speaking-prep button{justify-self:start;min-height:40px;border:1px solid var(--ielts-line);background:var(--ielts-bg);color:var(--ielts-text);padding:0 16px;font-weight:700;cursor:pointer}.ielts-shell .ielts-speaking-record{display:grid;gap:14px}.ielts-shell .ielts-rec-btn{display:inline-flex;align-items:center;gap:10px;justify-self:start;min-height:52px;border:2px solid #b00020;border-radius:999px;background:var(--ielts-bg);color:#b00020;padding:0 22px;font-size:18px;font-weight:800;cursor:pointer}.ielts-shell .ielts-rec-btn.on{background:#b00020;color:#fff}.ielts-shell .ielts-speaking-playback{width:100%;max-width:420px}.ielts-shell .part-range{padding-top:12px;color:var(--ielts-muted);font-size:18px}.ielts-shell .time-warning{border-color:#d9a400}.ielts-shell .time-warning h2{color:#9a6b00}.ielts-shell .splitter{touch-action:none}.ielts-shell .part-nav.locked{opacity:.55}.ielts-shell .part-nav.locked .part-switch{cursor:not-allowed}.ielts-shell .ielts-text-answer:focus{border-color:var(--ielts-accent);box-shadow:0 0 0 2px #168bb533}.ielts-shell .question-actions{display:flex;gap:10px;margin:22px 0 0 48px}.ielts-shell .question-actions button,.ielts-shell .nav-actions button{min-height:36px;border:1px solid var(--ielts-line);background:var(--ielts-panel);color:var(--ielts-text);padding:0 12px;font-size:15px;font-weight:700;cursor:pointer}.ielts-shell .question-actions button:disabled{opacity:.45;cursor:not-allowed}.ielts-shell .scroll-tab{position:absolute;right:0;top:122px;width:25px;height:132px;background:#8c8c8c}.ielts-shell .scroll-tab:after{content:"";position:absolute;left:10px;top:43px;border-top:36px solid transparent;border-bottom:36px solid transparent;border-left:13px solid #000}.ielts-shell .next-prev-float{position:absolute;right:47px;bottom:27px;display:flex;gap:4px}.ielts-shell .next-prev-float button{width:85px;height:82px;border:0;border-radius:4px;color:#fff;font-size:76px;font-weight:800;line-height:1;cursor:pointer}.ielts-shell .next-prev-float .back{background:#4f4f4f}.ielts-shell .next-prev-float .forward{background:#050505}.ielts-shell .writing-prompt,.ielts-shell .writing-answer{height:100%;overflow-y:auto;box-sizing:border-box;padding:38px 34px 30px 0}.ielts-shell .writing-prompt h1{margin:0 0 38px;font-size:20px;font-weight:500}.ielts-shell .writing-card{margin-bottom:28px;font-size:15px;line-height:1.35}.ielts-shell .writing-card p,.ielts-shell .writing-prompt>p{margin:0 0 18px;font-size:15px;line-height:1.35}.ielts-shell .writing-answer{padding:43px 76px 30px 38px}.ielts-shell .writing-answer textarea{box-sizing:border-box;width:100%;height:320px;border:1px solid #e2e2e2;background:var(--ielts-bg);color:var(--ielts-text);padding:12px;font-size:var(--writing-text);line-height:1.45;resize:vertical}.ielts-shell .word-count{margin-top:4px;font-size:14px;color:var(--ielts-muted)}.ielts-shell .word-count.under-min{color:#b00020}.ielts-shell .question-navigation{display:flex;align-items:flex-end;gap:22px;height:80px;padding:0 32px 13px;border-top:2px solid #e3e3e3;background:var(--ielts-bg);box-sizing:border-box}.ielts-shell .question-navigation .part-nav{flex:0 0 auto}.ielts-shell .question-navigation .part-nav.current{flex:1 1 auto;min-width:0}.ielts-shell .question-navigation .nav-actions{margin-left:auto}.ielts-shell .question-navigation:has(>.part-nav:nth-child(1):last-of-type),.ielts-shell .question-navigation:has(>.part-nav:nth-child(1)+.nav-actions){grid-template-columns:minmax(0,1fr) auto}.ielts-shell .part-nav{gap:25px;font-size:23px}.ielts-shell .part-nav.muted{justify-content:center;gap:22px;color:var(--ielts-muted)}.ielts-shell .part-switch{border:0;background:transparent;font-size:23px;font-weight:800;color:var(--ielts-text);cursor:pointer;padding:0;white-space:nowrap}.ielts-shell .part-nav.active-section .part-switch{text-decoration:underline;text-decoration-color:var(--ielts-answered);text-decoration-thickness:3px;text-underline-offset:10px}.ielts-shell .part-questions{gap:8px;overflow-x:auto;padding-top:12px}.ielts-shell .part-questions button{position:relative;width:33px;height:42px;border:0;background:transparent;color:var(--ielts-muted);font-size:25px;cursor:pointer}.ielts-shell .part-questions button:before{content:"";position:absolute;left:2px;top:-12px;width:28px;height:4px;background:#d8d8d8}.ielts-shell .part-questions button.answered:before{background:var(--ielts-answered)}.ielts-shell .part-questions button.flagged:after{content:"";position:absolute;left:9px;bottom:1px;width:15px;height:4px;border-radius:999px;background:#d9a400}.ielts-shell .part-questions button.active span{display:grid;place-items:center;width:30px;height:34px;border:3px solid var(--ielts-accent);border-radius:3px;color:var(--ielts-text)}.ielts-shell .nav-actions{display:flex;align-items:center;gap:10px;justify-content:flex-end}.ielts-shell .nav-actions button{min-width:92px;height:42px;font-size:18px}.ielts-shell .submit-test{border-color:#111!important;background:#111!important;color:#fff!important}.ielts-shell .system-footer{display:flex;align-items:center;justify-content:space-between;height:96px;padding:0 19px 0 47px;border-top:3px solid #6e6e6e;background:var(--ielts-footer);box-sizing:border-box}.ielts-shell .inspiration{color:#878787;font-size:31px}.ielts-shell .inspiration span{display:inline-block;width:18px;height:18px;margin-right:2px;background:linear-gradient(135deg,#777 50%,transparent 51%)}.ielts-shell .system-status{gap:20px}.ielts-shell .system-status strong{font-family:Courier New,monospace;font-size:32px;letter-spacing:4px}.ielts-shell .battery{font-size:29px}.ielts-shell .system-status button{min-width:58px;height:58px;border:2px solid #cecece;background:#efefef;color:#111;cursor:pointer}.ielts-shell .system-status button svg{width:34px;height:34px}.ielts-shell .system-status .exit{min-width:105px;font-size:30px}.ielts-shell .notes-panel{position:fixed;right:88px;top:128px;z-index:40;width:360px;padding:15px;border:2px solid var(--ielts-hard-line);background:var(--ielts-bg);box-shadow:0 12px 30px #00000038;font-size:16px}.ielts-shell .notes-panel>div{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.ielts-shell .notes-panel button{border:1px solid var(--ielts-line);background:var(--ielts-panel);color:var(--ielts-text);cursor:pointer}.ielts-shell .notes-panel textarea{box-sizing:border-box;width:100%;height:160px;margin-bottom:10px;border:1px solid var(--ielts-line);background:var(--ielts-bg);color:var(--ielts-text);resize:vertical}.ielts-shell .modal-backdrop{position:fixed;inset:0;z-index:55;display:grid;place-items:center;background:#00000059}.ielts-shell .instructions-modal{width:min(620px,calc(100vw - 40px));padding:24px;border:2px solid var(--ielts-hard-line);background:var(--ielts-bg);color:var(--ielts-text);box-shadow:0 18px 50px #0000004d;font-size:18px}.ielts-shell .instructions-modal>div{display:flex;align-items:center;justify-content:space-between;gap:16px}.ielts-shell .instructions-modal h2{margin:0 0 12px;font-size:26px}.ielts-shell .instructions-modal button{border:1px solid var(--ielts-line);background:var(--ielts-panel);color:var(--ielts-text);font-size:22px;cursor:pointer}.ielts-shell .submit-warning{border-left:4px solid #b00020;background:#fff2f2;padding:10px 12px;color:#7a0015;font-weight:700}.ielts-shell .review-modal{width:min(760px,calc(100vw - 40px));max-height:min(720px,calc(100vh - 40px));overflow:auto;border:2px solid var(--ielts-hard-line);background:var(--ielts-bg);color:var(--ielts-text);box-shadow:0 18px 50px #0000004d;font-size:17px}.ielts-shell .review-modal header,.ielts-shell .review-modal footer{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px 20px;border-bottom:1px solid var(--ielts-line)}.ielts-shell .review-modal footer{border-top:1px solid var(--ielts-line);border-bottom:0;justify-content:flex-end}.ielts-shell .review-modal h2,.ielts-shell .review-modal p{margin:0}.ielts-shell .review-modal h2{font-size:24px}.ielts-shell .review-modal p{margin-top:4px;color:var(--ielts-muted)}.ielts-shell .review-modal header>button,.ielts-shell .review-modal footer button{border:1px solid var(--ielts-line);background:var(--ielts-panel);color:var(--ielts-text);padding:8px 12px;font-weight:700;cursor:pointer}.ielts-shell .review-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;padding:20px}.ielts-shell .review-grid button{position:relative;display:grid;gap:8px;min-height:88px;border:2px solid var(--ielts-line);background:var(--ielts-bg);color:var(--ielts-text);padding:12px;text-align:left;cursor:pointer}.ielts-shell .review-grid button.answered{border-top-color:var(--ielts-answered);border-top-width:6px}.ielts-shell .review-grid strong{font-size:24px}.ielts-shell .review-grid span{font-size:14px;color:var(--ielts-muted)}.ielts-shell .modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.ielts-shell .modal-actions .danger{border-color:#b00020;background:#b00020;color:#fff}.ielts-shell .options-screen{position:fixed;inset:0;z-index:70;background:var(--ielts-bg);color:var(--ielts-text);font-size:15px}.ielts-shell .options-screen.contrast-dark,.ielts-shell .options-screen.contrast-yellow{background:#050505}.ielts-shell .options-screen header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:48px;padding:0 10px}.ielts-shell .options-screen h2{margin:0;font-size:17px;font-weight:500;text-align:center}.ielts-shell .options-close{justify-self:end;border:0;background:transparent;color:var(--ielts-text);cursor:pointer;font-size:22px;font-weight:700}.ielts-shell .options-list{width:min(430px,calc(100vw - 48px));margin:44px auto 0;border:1px solid var(--ielts-line);background:var(--ielts-bg)}.ielts-shell .options-list button{display:grid;grid-template-columns:42px 1fr;align-items:center;width:100%;height:46px;border:0;border-bottom:1px solid var(--ielts-line);background:var(--ielts-bg);color:var(--ielts-text);text-align:left;cursor:pointer}.ielts-shell .options-list button:last-child{border-bottom:0}.ielts-shell .options-list button.active{background:#7f7f7f2e}.ielts-shell .options-list button span{text-align:center;font-weight:800}.ielts-check-gate{min-height:100vh;display:grid;place-items:center;padding:24px;background:#f5f5f5;font-family:Arial,Helvetica,sans-serif;color:#252525}.ielts-check-panel{width:min(760px,100%);padding:34px;border:2px solid #bdbdbd;background:#fff;box-shadow:0 16px 48px #0000002e}.ielts-check-panel .ielts-logo{margin:0 0 12px;color:#d71920;font-size:52px;font-weight:900;letter-spacing:-3px}.ielts-check-panel h1{margin:0 0 8px;font-size:31px}.ielts-check-panel p{margin:0 0 20px;color:#555;line-height:1.5}.ielts-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:22px 0}.ielts-check-item{border:1px solid #d8d8d8;background:#f7f7f5;padding:16px;display:grid;gap:10px}.ielts-check-item strong{display:flex;align-items:center;gap:8px;font-size:18px}.ielts-check-item span{color:#666;font-size:14px}.ielts-check-item button,.ielts-check-actions button{min-height:44px;border:1px solid #111;background:#fff;color:#111;padding:0 16px;font-weight:700;cursor:pointer}.ielts-check-item button.done{border-color:#10b981;background:#ecfdf5}.ielts-device-meter{height:12px;border:1px solid #bbb;background:#fff;overflow:hidden}.ielts-device-meter i{display:block;height:100%;width:var(--level, 0%);background:#10b981;transition:width .16s linear}.ielts-device-help{margin:0!important;font-size:13px;color:#666}.ielts-check-actions{display:flex;justify-content:flex-end;gap:10px}.ielts-check-actions .primary{background:#111;color:#fff}.ielts-check-actions .primary:disabled{opacity:.45;cursor:not-allowed}.ielts-mark-yellow{background:#fff29a;box-shadow:0 0 0 2px #fff29a}.ielts-mark-green{background:#bdf7ca;box-shadow:0 0 0 2px #bdf7ca}.ielts-mark-pink{background:#ffd2e2;box-shadow:0 0 0 2px #ffd2e2}.ielts-mark-blue{background:#cfe9ff;box-shadow:0 0 0 2px #cfe9ff}.selection-toolbar{position:fixed;z-index:60;display:flex;gap:6px;transform:translate(-15px,-54px);padding:6px;border:2px solid #222;background:var(--ielts-bg, #fff);box-shadow:0 10px 26px #0000003d}.selection-toolbar button{border:1px solid var(--ielts-line, #d7d7d7);background:var(--ielts-panel, #f7f7f5);color:var(--ielts-text, #252525);padding:8px 10px;font-size:14px;font-weight:700;cursor:pointer;white-space:nowrap}.selection-toolbar .swatch{width:30px;padding:0}.selection-toolbar .swatch.yellow{background:#fff29a}.selection-toolbar .swatch.green{background:#bdf7ca}.selection-toolbar .swatch.pink{background:#ffd2e2}.selection-toolbar .swatch.blue{background:#cfe9ff}.ielts-shell .note-source{margin:0 0 10px;padding:9px;border-left:4px solid var(--ielts-accent);background:var(--ielts-panel);font-size:14px;line-height:1.35}.ielts-shell .note-list{display:grid;gap:8px;margin-bottom:10px;max-height:150px;overflow:auto}.ielts-shell .note-list button{text-align:left;padding:8px;font-size:13px}.ielts-shell .notes-panel textarea:focus{outline:2px solid var(--ielts-accent);outline-offset:1px}@media(max-width:1280px){.ielts-shell{--passage-text: 22px;--question-text: 22px;--answer-text: 23px;--instruction-text: 22px;font-size:22px}.ielts-shell .exam-header{height:92px}.ielts-shell .ielts-logo{margin-right:30px;font-size:44px;letter-spacing:-2px}.ielts-shell .header-tools{gap:28px}.ielts-shell svg{width:31px;height:31px}.ielts-shell .part-instructions{margin-top:18px;padding:14px 18px}.ielts-shell .test-area{height:calc(100vh - 366px);min-height:280px;padding:18px 20px 0;grid-template-columns:minmax(28%,50%) 42px minmax(28%,50%)}.ielts-shell .passage-pane h1{margin-top:24px;font-size:25px}.ielts-shell .question-block{margin-bottom:42px}.ielts-shell .next-prev-float button{width:66px;height:64px;font-size:58px}.ielts-shell .question-navigation{height:76px;padding:0 22px 10px}.ielts-shell .part-nav,.ielts-shell .part-switch{font-size:22px}.ielts-shell .system-footer{height:82px;padding-left:24px}.ielts-shell .inspiration{font-size:24px}.ielts-shell .system-status strong{font-size:26px}.ielts-shell .system-status button{min-width:50px;height:50px}}@media(max-width:640px){.ielts-check-grid{grid-template-columns:1fr}.ielts-check-panel{padding:24px 18px}.selection-toolbar{left:12px!important;right:12px;top:auto!important;bottom:12px;transform:none;flex-wrap:wrap}}@media(max-width:900px){.ielts-shell{overflow:auto;--passage-text: 18px;--question-text: 18px;--answer-text: 18px;--instruction-text: 18px;font-size:18px}.ielts-shell .exam-header{height:auto;min-height:86px;gap:14px;flex-wrap:wrap;padding:12px 16px}.ielts-shell .brand-row{min-width:0;flex-wrap:wrap;gap:8px 16px}.ielts-shell .ielts-logo{font-size:38px;margin-right:0}.ielts-shell .remaining{font-size:18px}.ielts-shell .header-tools{gap:16px}.ielts-shell svg{width:28px;height:28px}.ielts-shell .part-instructions{margin:14px 14px 0;padding:12px 14px}.ielts-shell .part-instructions strong{font-size:20px}.ielts-shell .test-area{grid-template-columns:1fr;height:auto;min-height:0;overflow:visible;padding:16px 14px 0}.ielts-shell .splitter,.ielts-shell .scroll-tab,.ielts-shell .next-prev-float{display:none}.ielts-shell .passage-pane,.ielts-shell .question-pane,.ielts-shell .writing-prompt,.ielts-shell .writing-answer{height:auto;overflow:visible;padding-right:0}.ielts-shell .question-pane{padding:24px 0}.ielts-shell .passage-pane h1{margin:10px 0 16px;font-size:22px}.ielts-shell .radio-list,.ielts-shell .question-actions,.ielts-shell .ielts-text-answer{margin-left:0}.ielts-shell .flag{right:-8px}.ielts-shell .question-navigation{grid-template-columns:1fr;height:auto;gap:12px;padding:14px;align-items:stretch}.ielts-shell .part-nav{justify-content:flex-start;gap:14px;overflow:hidden}.ielts-shell .part-nav.muted{justify-content:flex-start}.ielts-shell .part-questions{flex:1}.ielts-shell .nav-actions{justify-content:stretch}.ielts-shell .nav-actions button{flex:1}.ielts-shell .question-actions{flex-wrap:wrap}.ielts-shell .system-footer{height:auto;min-height:76px;padding:12px 14px;gap:12px;flex-wrap:wrap}.ielts-shell .inspiration{font-size:18px}.ielts-shell .system-status{gap:10px;flex-wrap:wrap;justify-content:flex-end}.ielts-shell .system-status strong{font-size:20px;letter-spacing:2px}.ielts-shell .system-status button{min-width:44px;height:44px}.ielts-shell .system-status .exit{min-width:76px;font-size:20px}.ielts-shell .notes-panel{right:14px;top:112px;width:min(360px,calc(100vw - 28px))}}@media(max-width:520px){.ielts-shell .header-tools{width:100%;justify-content:space-between}.ielts-shell .question-title{padding-right:36px}.ielts-shell .question-number{min-width:36px;height:34px;font-size:20px}.ielts-shell .part-questions button{width:30px;height:38px;font-size:20px}.ielts-shell .system-status{width:100%;justify-content:space-between}.ielts-shell .modal-actions{flex-direction:column}}.plain-link{color:inherit;text-decoration:none}.inline-link{display:inline-flex;align-items:center;gap:7px;color:var(--accent-strong);font-weight:800;text-decoration:none}.toolbar-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.stack-form{display:grid;gap:13px}.vocab-admin-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:16px;align-items:start}.vocab-admin-grid.wide-left{grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr)}.vocab-cue-list{display:grid;gap:8px}.vocab-cue-row{width:100%;min-height:66px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px solid var(--line);border-radius:var(--radius-md);background:#fff;color:var(--ink);text-align:left;cursor:pointer;transition:transform var(--motion-fast) var(--ease-soft),border-color var(--motion-fast) ease,background var(--motion-fast) ease,box-shadow var(--motion-fast) ease}.vocab-cue-row:hover,.vocab-cue-row.active{border-color:var(--accent);background:var(--accent-mist);box-shadow:0 8px 20px #0f1f4d0f}.vocab-cue-row:hover{transform:translateY(-1px)}.vocab-cue-row span{display:grid;gap:4px}.vocab-cue-row small{color:var(--muted);font-weight:700}.vocab-word-list{display:grid;gap:10px;margin-top:14px}.vocab-word-list article{position:relative;display:grid;gap:7px;padding:14px;border:1px solid var(--line);border-radius:var(--radius-md);background:#fff;transition:transform var(--motion-fast) var(--ease-soft),border-color var(--motion-fast) ease,box-shadow var(--motion-fast) ease}.vocab-word-list article:hover{transform:translateY(-1px);border-color:var(--accent-line);box-shadow:0 8px 18px #0f1f4d0f}.vocab-word-list article>div{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.vocab-word-list strong{font-size:18px}.vocab-word-list small{color:var(--accent-strong);font-weight:800}.vocab-word-list p{margin:0;color:#3f4d62;line-height:1.45}.vocab-word-list em{color:var(--muted);line-height:1.45}.deck-word-list article{padding-right:88px}.deck-word-list .badge{position:absolute;right:14px;top:14px}.assign-panel{display:grid;gap:16px}.assign-target-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.assign-target-grid>div{border:1px solid var(--line);border-radius:var(--radius-md);padding:13px 15px;background:var(--soft)}.assign-target-grid strong{display:block;margin-bottom:8px}.assignment-log{display:grid;gap:8px;margin-top:16px}.assignment-log>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:var(--radius-md);background:#f6f8fb}.assignment-log span{color:var(--muted);font-size:13px;text-align:right}.deck-card{min-height:174px;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.deck-card:hover{transform:translateY(-2px);border-color:var(--accent);box-shadow:var(--shadow-elevated)}.deck-meta{display:flex;align-items:center;justify-content:space-between;margin-top:10px;color:var(--muted);font-size:13px;font-weight:800}.flashcard-review-shell{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:18px;align-items:start}.flashcard-card-large{min-height:430px;display:grid;place-items:center;cursor:pointer;border:1px solid var(--accent-line);background:linear-gradient(180deg,#fff,#f7faf7);transition:transform var(--motion-med) var(--ease-out),border-color var(--motion-fast) ease,box-shadow var(--motion-med) ease,background var(--motion-med) ease}.flashcard-card-large:hover{transform:translateY(-3px);box-shadow:var(--shadow-elevated)}.flashcard-card-large.flipped{background:#fff;border-color:var(--accent);animation:softPop var(--motion-med) var(--ease-out) both}.flashcard-face{min-height:320px;display:grid;place-items:center;align-content:center;gap:16px;text-align:center;padding:24px}.flashcard-face span{color:var(--muted);font-size:13px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.flashcard-face strong{font-size:clamp(38px,7vw,74px);line-height:1.05;letter-spacing:0}.flashcard-face em{color:var(--accent-strong);font-size:22px}.flashcard-face.back strong{max-width:760px;font-size:clamp(24px,3.4vw,38px);line-height:1.25}.flashcard-face.back p{max-width:760px;margin:0;color:var(--muted);font-size:20px;line-height:1.5}.review-side-panel{display:grid;gap:12px}.review-grade-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.srs-facts{display:grid;gap:10px}.srs-facts div{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid #eef2f8}.srs-facts span{color:var(--muted)}.center-text{text-align:center}@media(max-width:900px){.vocab-admin-grid,.vocab-admin-grid.wide-left,.flashcard-review-shell,.assign-target-grid{grid-template-columns:1fr}.flashcard-card-large{min-height:340px}.review-grade-row{grid-template-columns:1fr}}@media(max-width:560px){.assignment-log>div,.vocab-word-list article>div{align-items:flex-start;flex-direction:column}.deck-word-list article{padding-right:14px}.deck-word-list .badge{position:static;width:max-content}.flashcard-face strong{font-size:36px}}.import-flow-grid{display:grid;grid-template-columns:minmax(320px,.8fr) minmax(0,1.2fr);gap:16px;align-items:start}.import-review-grid{display:grid;grid-template-columns:minmax(320px,.85fr) minmax(0,1.15fr);gap:16px;align-items:start}.import-job-list{display:grid;gap:8px}.import-job-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;min-height:68px;padding:12px;border:1px solid var(--line);border-radius:var(--radius-md);background:#fff;color:inherit;text-decoration:none;transition:transform var(--motion-fast) var(--ease-soft),border-color var(--motion-fast) ease,background var(--motion-fast) ease,box-shadow var(--motion-fast) ease}.import-job-row:hover,.import-job-row.active{border-color:var(--accent);background:var(--accent-mist);box-shadow:0 8px 20px #0f1f4d0f}.import-job-row:hover{transform:translateY(-1px)}.import-job-row div{display:grid;gap:3px;min-width:0}.import-job-row small{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.import-pipeline{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:16px}.import-pipeline>div{position:relative;overflow:hidden;display:grid;gap:6px;padding:13px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--soft);transition:transform var(--motion-fast) var(--ease-soft),border-color var(--motion-fast) ease,background var(--motion-fast) ease,box-shadow var(--motion-fast) ease}.import-pipeline>div:hover{transform:translateY(-1px);border-color:var(--accent-line);box-shadow:0 8px 18px #0f1f4d0f}.import-pipeline>div.done{border-color:var(--accent-line);background:var(--accent-soft)}.import-pipeline>div.done:before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 18%,rgba(255,255,255,.34) 50%,transparent 82%);transform:translate(-110%);animation:shimmerSweep 1.2s var(--ease-out) 1;pointer-events:none}.import-pipeline.is-processing>div:nth-child(2){border-color:var(--accent);background:#fff}.import-pipeline.is-processing>div:nth-child(2):after{content:"";position:absolute;left:12px;right:12px;bottom:0;height:3px;border-radius:999px 999px 0 0;background:linear-gradient(90deg,transparent,var(--accent),transparent);animation:processingGlow 1s var(--ease-soft) infinite}.import-pipeline svg{color:var(--accent-strong)}.import-pipeline span{color:var(--muted);font-size:13px}.import-actions{justify-content:flex-start}.parsed-exam-summary{display:grid;gap:4px;margin-bottom:10px}.parsed-exam-summary span{color:var(--muted)}.json-editor{width:100%;min-height:380px;box-sizing:border-box;border:1px solid var(--line);border-radius:var(--radius-md);padding:14px;background:#0d1320;color:#d8e7ff;font:12px/1.55 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;resize:vertical}.parsed-section-list{display:grid;gap:14px}.parsed-section-list article{padding:16px;border:1px solid var(--line);border-radius:var(--radius-md);background:#fff;transition:transform var(--motion-fast) var(--ease-soft),border-color var(--motion-fast) ease,box-shadow var(--motion-fast) ease}.parsed-section-list article:hover{transform:translateY(-1px);border-color:var(--accent-line);box-shadow:0 8px 18px #0f1f4d0f}.parsed-section-list blockquote{margin:12px 0 0;padding:12px 14px;border-left:4px solid var(--accent);background:var(--accent-mist);color:#40506a;line-height:1.5}.parsed-question-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px;margin-top:14px}.parsed-question-grid>div{display:grid;gap:7px;padding:12px;border:1px solid #e8eef7;border-radius:var(--radius-md);background:#fbfdff;transition:transform var(--motion-fast) var(--ease-soft),border-color var(--motion-fast) ease,background var(--motion-fast) ease}.parsed-question-grid>div:hover{transform:translateY(-1px);border-color:var(--accent-line);background:#fff}.parsed-question-grid strong{line-height:1.35}.parsed-question-grid span{color:var(--accent-strong);font-weight:800}.parsed-question-grid small{color:var(--muted);line-height:1.4}.ielts-type-matrix{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.ielts-type-matrix>div{display:flex;flex-wrap:wrap;gap:8px;padding:14px;border:1px solid var(--line);border-radius:var(--radius-md);background:#fbfdff}.ielts-type-matrix strong{width:100%;margin-bottom:2px}.ielts-type-matrix span{padding:6px 9px;border-radius:999px;background:var(--accent-soft);color:var(--accent-strong);font-size:12px;font-weight:800}.ielts-type-matrix .new-type{background:#fff7db;color:#93610a}@media(max-width:980px){.import-flow-grid,.import-review-grid,.ielts-type-matrix,.import-pipeline{grid-template-columns:1fr}}.error-boundary-screen{min-height:100vh;display:grid;place-items:center;padding:24px;background:#f5f7fb;color:var(--ink)}.error-boundary-screen section{width:min(460px,100%);display:grid;gap:14px;justify-items:start;padding:24px;border:1px solid var(--line);border-radius:var(--radius-lg);background:#fff;box-shadow:var(--shadow-card)}.error-boundary-screen h1{margin:0;font-size:24px;letter-spacing:0}.error-boundary-screen p{margin:0;color:var(--muted);line-height:1.5}.error-boundary-screen svg{color:#d97706}.release-checklist{display:grid;gap:10px}.release-checklist>div{display:grid;grid-template-columns:auto minmax(140px,.5fr) minmax(0,1fr);align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid #eef2f8}.release-checklist>div:last-child{border-bottom:0}.release-checklist svg{color:var(--green)}.release-checklist span{color:var(--muted)}@media(max-width:640px){.release-checklist>div{grid-template-columns:auto 1fr;align-items:start}.release-checklist span{grid-column:2}}.ui-page-title-info{display:inline-flex;vertical-align:middle;margin-left:8px}.form-success{margin:0 0 14px;padding:10px 14px;border-radius:var(--radius-md);background:var(--accent-soft);color:var(--accent-deep);border:1px solid var(--accent-line);font-weight:600;font-size:14px}.exam-sublist{display:grid;gap:8px;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.exam-sublist-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--accent-mist)}.exam-sublist-row strong{display:block;font-size:14px}.exam-sublist-row small{color:var(--muted)}.exam-sublist-actions{display:flex;gap:8px;flex:none}.editor-meta-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin-bottom:8px}.editor-section-fields{display:grid;gap:12px;margin-bottom:16px}.editor-question-list{display:grid;gap:14px}.editor-question{display:grid;gap:10px;padding:14px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--accent-mist)}.editor-question-head{display:flex;align-items:center;justify-content:space-between}.field-inline{display:flex;align-items:center;gap:10px}.field-inline input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent)}.field-input:has(textarea){height:auto;padding:10px 14px;align-items:stretch}.field-input textarea{min-width:0;flex:1;border:0;outline:0;background:transparent;color:var(--ink);resize:vertical;font:inherit;line-height:1.5}.field-input:has(select) select{min-width:0;flex:1;border:0;outline:0;background:transparent;color:var(--ink);font:inherit}@media(max-width:640px){.exam-sublist-row{flex-direction:column;align-items:stretch}.exam-sublist-actions{justify-content:flex-end}}.entry-row-actions{display:flex;align-items:center;gap:6px;justify-content:flex-end}.toast-host{position:fixed;bottom:20px;right:20px;z-index:1000;display:grid;gap:10px;max-width:min(380px,calc(100vw - 40px))}.toast{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-radius:var(--radius-md);background:var(--surface);border:1px solid var(--line);box-shadow:0 14px 40px #1428242e;animation:toast-in .22s var(--ease-soft, ease)}.toast svg{flex:none;margin-top:1px}.toast-text{flex:1;font-size:14px;font-weight:600;color:var(--ink);line-height:1.4}.toast-close{flex:none;border:0;background:transparent;color:var(--muted);cursor:pointer;padding:2px;border-radius:6px}.toast-close:hover{background:var(--accent-mist);color:var(--ink)}.toast-error{border-left:4px solid var(--red, #d9534f)}.toast-error svg{color:var(--red, #d9534f)}.toast-success{border-left:4px solid var(--accent-strong)}.toast-success svg{color:var(--accent-strong)}.toast-info{border-left:4px solid var(--accent-blue-strong)}.toast-info svg{color:var(--accent-blue-strong)}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.toast{animation:none}}.route-fallback{display:grid;place-items:center;min-height:60vh;width:100%}.route-fallback-spinner{width:34px;height:34px;border-radius:50%;border:3px solid var(--accent-soft);border-top-color:var(--accent-strong);animation:route-spin .7s linear infinite}@keyframes route-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.route-fallback-spinner{animation-duration:1.6s}}.analytics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px;margin-bottom:22px}.analytics-grid.two-col{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-top:18px}.analytics-chart-card{grid-column:span 2;min-width:0}@media(max-width:720px){.analytics-chart-card{grid-column:auto}}.line-chart{width:100%;height:auto;display:block}.chart-grid{stroke:var(--line);stroke-width:1;stroke-dasharray:3 4}.chart-axis{fill:var(--muted);font-size:11px}.chart-line{stroke-width:2.5;stroke-linejoin:round;stroke-linecap:round}.chart-legend{display:flex;gap:16px;margin-top:10px;flex-wrap:wrap}.chart-legend span{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--muted);font-weight:600}.chart-legend i{width:12px;height:3px;border-radius:2px;display:inline-block}.analytics-ring-card{display:flex;flex-direction:column;align-items:center;gap:14px}.progress-ring{position:relative;display:grid;place-items:center}.progress-ring svg{display:block}.progress-ring-center{position:absolute;inset:0;display:grid;place-items:center;text-align:center}.progress-ring-center strong{font-size:26px;font-weight:850;color:var(--ink);line-height:1}.progress-ring-center span{font-size:12px;color:var(--muted)}.ring-detail{display:flex;gap:22px}.ring-detail div{display:grid;gap:2px;text-align:center}.ring-detail span{font-size:12px;color:var(--muted)}.ring-detail strong{font-size:18px;font-weight:800}.bar-meter{display:grid;gap:10px}.bar-meter-row{display:grid;grid-template-columns:minmax(90px,.9fr) minmax(0,2fr) auto;align-items:center;gap:10px}.bar-meter-label{font-size:13px;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bar-meter-track{height:10px;border-radius:999px;background:var(--accent-mist);overflow:hidden}.bar-meter-track i{display:block;height:100%;border-radius:999px;transition:width var(--motion-base) var(--ease-soft)}.bar-meter-value{font-size:12px;font-weight:700;color:var(--muted);min-width:38px;text-align:right}.global-search{position:relative;min-width:0}.global-search .search-box{width:100%}.search-results{position:absolute;top:calc(100% + 8px);left:0;right:0;z-index:40;max-height:60vh;overflow-y:auto;padding:8px;border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--line);box-shadow:0 18px 48px #14282429;display:grid;gap:6px}.search-empty{margin:0;padding:14px;color:var(--muted);font-size:14px;text-align:center}.search-group{display:grid;gap:2px}.search-group-label{display:block;padding:8px 10px 4px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.search-item{display:flex;align-items:center;gap:10px;width:100%;padding:9px 10px;border:0;border-radius:var(--radius-md);background:transparent;color:var(--ink);text-align:left;cursor:pointer;transition:background var(--motion-fast) ease}.search-item svg{flex:none;color:var(--accent-strong)}.search-item.active,.search-item:hover{background:var(--accent-soft)}.search-item-text{display:grid;min-width:0}.search-item-text strong{font-size:14px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-item-text small{color:var(--muted);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
