:root{color:#1f2933;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--accent:#4f8f86;--accent-strong:#2f6f68;--accent-deep:#254f4a;--accent-soft:#eaf4f1;--accent-mist:#f3f8f6;--accent-line:#cfe0db;--accent-blue:#6f8fb8;--accent-blue-strong:#4f6f95;--accent-blue-soft:#edf3f8;--blue:var(--accent-blue-strong);--blue-700:#3d5f83;--navy:#2e3d4b;--green:var(--accent-strong);--cyan:#6f9eaf;--yellow:#d6a449;--danger:#b95a54;--ink:#1f2933;--muted:#6d7784;--line:#dfe7e2;--surface:#fff;--surface-raised:#ffffffeb;--soft:#f7f8f6;--soft-blue:#f2f6f9;--focus-ring:#4f8f8629;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:22px;--shadow-card:0 12px 32px #374a4112;--shadow-elevated:0 22px 56px #374a411c;--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;background:#f6f8f6;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@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 #4f8f863d}50%{box-shadow:0 0 0 8px #4f8f8600}}@keyframes processingGlow{0%,to{opacity:.52;transform:translate(-18%)}50%{opacity:.9;transform:translate(18%)}}.learning-app{background:radial-gradient(circle at 12% 0,#6f8fb821,#0000 34%),linear-gradient(#f6f8f6 0%,#fbfcfa 100%);grid-template-columns:272px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{height:100vh;color:var(--ink);z-index:20;background:linear-gradient(#fffffff5 0%,#eff6f2fa 100%),radial-gradient(circle at 0 0,#4f8f861f,#0000 38%);border-right:1px solid #cfe0dbe6;flex-direction:column;gap:18px;padding:22px 18px;display:flex;position:sticky;top:0;box-shadow:12px 0 34px #374a410f}.sidebar-head,.brand,.topbar-left,.topbar-actions,.panel-title,.exam-toolbar,.test-topline,.test-footer,.panel-heading,.hero-buttons{align-items:center;display:flex}.sidebar-head{justify-content:space-between}.sidebar-head button,.icon-button{border:1px solid var(--line);width:40px;height:40px;color:inherit;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;background:#ffffffc7;border-radius:999px;place-items:center;display:grid}.sidebar-head button:hover,.icon-button:hover{border-color:var(--accent-line);transform:translateY(-1px);box-shadow:0 8px 18px #374a4114}.brand{letter-spacing:0;gap:10px;font-weight:800}.brand-mark{border-radius:var(--radius-md);background:linear-gradient(135deg, var(--accent), var(--accent-blue));color:#fff;place-items:center;width:46px;height:38px;font-size:12px;font-weight:900;display:grid;box-shadow:0 10px 22px #4f8f863d}.course-select{border-radius:var(--radius-lg);border:1px solid var(--line);background:#ffffffbd;padding:16px}.course-select small,.course-select span{color:var(--muted);display:block}.course-select strong{margin:5px 0;font-size:17px;display:block}.side-nav{gap:7px;display:grid}.side-nav button,.side-nav a{border-radius:var(--radius-md);color:#66736d;text-align:left;height:46px;transition:transform var(--motion-fast) var(--ease-soft), color var(--motion-fast) ease, background var(--motion-fast) ease, box-shadow var(--motion-fast) ease;background:0 0;border:0;align-items:center;gap:11px;padding:0 13px;font-weight:650;display:flex}.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{border-radius:var(--radius-lg);border:1px solid var(--accent-line);color:var(--ink);background:linear-gradient(135deg,#eff7f4,#edf3f8);align-items:center;gap:12px;margin-top:auto;padding:15px;display:flex}.mentor-mini strong,.mentor-mini span{display:block}.mentor-mini span{color:var(--muted);font-size:12px}.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{z-index:10;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fafbf9e6;border-bottom:1px solid #dbe4ded1;grid-template-columns:minmax(190px,1fr) minmax(280px,520px) auto;align-items:center;gap:18px;min-height:76px;padding:14px 28px;display:grid;position:sticky;top:0}.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{color:var(--ink);font-size:25px;font-weight:850;line-height:1.2;display:block}.search-box{border:1px solid var(--line);height:46px;color:var(--muted);background:#ffffffdb;border-radius:999px;align-items:center;gap:10px;padding:0 15px;display:flex}.search-box input{width:100%;color:var(--ink);background:0 0;border:0;outline:0}.topbar-actions{justify-content:flex-end;gap:10px}.topbar-actions .icon-button{color:var(--ink);border-color:var(--line);background:#ffffffdb}.profile-chip{border:1px solid var(--line);height:40px;color:var(--ink);transition:transform var(--motion-fast) var(--ease-soft), border-color var(--motion-fast) ease, box-shadow var(--motion-fast) ease;background:#ffffffdb;border-radius:999px;align-items:center;gap:8px;padding:0 12px;font-weight:700;display:flex}.profile-chip:hover{border-color:var(--accent-line);transform:translateY(-1px);box-shadow:0 8px 18px #374a410f}.mobile-only,.sidebar-head .mobile-only{display:none}.workspace-grid{grid-template-columns:minmax(0,1fr) 348px;gap:20px;padding:22px 28px 32px;display:grid}.primary-column,.right-column{grid-template-columns:minmax(0,1fr);align-content:start;gap:20px;display:grid}.status-hero{border-radius:var(--radius-xl);min-height:286px;color:var(--ink);border:1px solid var(--accent-line);box-shadow:var(--shadow-elevated);background:radial-gradient(circle at 88% 10%,#6f8fb838,#0000 34%),linear-gradient(135deg,#f8fbf8 0%,#edf6f2 50%,#eef3f8 100%);grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);gap:24px;padding:24px;display:grid;overflow:hidden}.soft-label{color:#6a7890;text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:6px;font-size:12px;font-weight:800;display:inline-flex}.status-hero .soft-label{color:var(--accent-strong)}.status-copy h1,.status-copy h2{letter-spacing:0;max-width:620px;margin:12px 0 10px;font-size:clamp(30px,3.1vw,46px);line-height:1.08}.status-copy p{max-width:610px;color:var(--muted);margin:0;font-size:16px;line-height:1.7}.metric-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;max-width:560px;margin-top:18px;display:grid}.metric-card{border-radius:var(--radius-lg);min-height:84px;transition:transform var(--motion-med) var(--ease-out), border-color var(--motion-fast) ease, box-shadow var(--motion-med) ease;background:#ffffffb8;border:1px solid #cfe0dbe6;padding:12px}.metric-card:hover{border-color:var(--accent-line);transform:translateY(-2px);box-shadow:0 10px 24px #374a4114}.metric-card strong,.metric-card span,.metric-card small{display:block}.metric-card strong{font-size:26px;line-height:1}.metric-card span{color:var(--ink);margin-top:7px;font-size:12px;font-weight:800}.metric-card small{color:var(--muted);margin-top:3px}.hero-buttons{flex-wrap:wrap;gap:10px;margin-top:18px}.primary-button,.secondary-button{height:46px;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;border:0;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 18px;font-weight:800;display:inline-flex}.primary-button{background:var(--accent-strong);color:#fff}.secondary-button{color:var(--accent-deep);border:1px solid var(--accent-line);background:#ffffffbd}.primary-button:hover,.secondary-button:hover{transform:translateY(-1px);box-shadow:0 12px 24px #374a411a}.primary-button:active,.secondary-button:active{transform:translateY(0)scale(.985)}.band-card{border-radius:var(--radius-xl);color:var(--ink);transition:transform var(--motion-med) var(--ease-out), box-shadow var(--motion-med) ease;background:#ffffffd6;align-content:center;gap:18px;padding:20px;display:grid}.band-card:hover{transform:translateY(-2px);box-shadow:0 14px 32px #374a4114}.band-orbit{aspect-ratio:1;background:conic-gradient(var(--accent) 0 78%, #e3eae5 78% 100%);text-align:center;border-radius:50%;place-items:center;width:min(210px,100%);margin:0 auto;display:grid;position:relative}.band-orbit:after{content:"";background:#fff;border-radius:50%;position:absolute;inset:17px}.band-orbit strong,.band-orbit span{z-index:1;grid-area:1/1;position:relative}.band-orbit strong{font-size:48px;transform:translateY(-10px)}.band-orbit span{color:var(--muted);font-size:12px;font-weight:800;transform:translateY(34px)}.band-bars{gap:10px;display:grid}.band-bars>div{color:var(--muted);grid-template-columns:72px 1fr 34px;align-items:center;gap:9px;font-size:12px;display:grid}.band-bars div div{background:#e7ede8;border-radius:99px;height:8px;overflow:hidden}.band-bars i{border-radius:inherit;height:100%;display:block}.band-bars b{color:var(--ink)}.section-head{justify-content:space-between;align-items:end;gap:16px;display:flex}.section-head h2,.panel-title h2,.exam-toolbar h2{letter-spacing:0;margin:4px 0 0;font-size:24px}.skill-tabs{border:1px solid var(--line);background:#fff;border-radius:999px;gap:4px;min-width:0;max-width:100%;padding:5px;display:flex;overflow-x:auto}.skill-tabs button{height:34px;color:var(--muted);white-space:nowrap;transition:transform var(--motion-fast) var(--ease-soft), background var(--motion-fast) ease, color var(--motion-fast) ease;background:0 0;border:0;border-radius:999px;padding:0 13px;font-weight:800}.skill-tabs button.active{background:var(--accent-strong);color:#fff}.skill-tabs button:hover{transform:translateY(-1px)}.test-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.test-card{border:1px solid var(--line);border-radius:var(--radius-lg);min-height:190px;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;background:#fff;padding:16px}.test-card:hover{border-color:var(--accent-line);box-shadow:var(--shadow-elevated);transform:translateY(-3px)}.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{color:#748197;justify-content:space-between;font-size:12px}.test-topline span{background:var(--accent-soft);color:var(--accent-strong);border-radius:999px;padding:5px 9px;font-weight:800}.skill-list{flex-wrap:wrap;gap:6px;min-height:52px;display:flex}.skill-list span{color:#53647c;background:#f5f8fc;border-radius:999px;padding:5px 8px;font-size:11px;font-weight:800}.test-footer{margin-top:12px}.test-footer span{align-items:center;gap:5px;display:inline-flex}.progress-track{background:#e8eee9;border-radius:999px;height:7px;margin-top:10px;overflow:hidden}.progress-track i{border-radius:inherit;background:var(--accent-blue);height:100%;display:block}.progress-track i,.band-bars i{transform-origin:0;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{align-items:center;gap:12px;display:flex}.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{border:1px solid var(--line);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);background:#fff}.exam-room{padding:18px}.exam-toolbar{justify-content:space-between;gap:16px;padding:4px 4px 16px}.timer{background:var(--accent-deep);color:#fff;border-radius:999px;align-items:center;gap:8px;height:42px;padding:0 15px;font-weight:900;display:flex}.exam-split{grid-template-columns:1.08fr .92fr;gap:14px;display:grid}.passage-panel,.question-panel{border-radius:var(--radius-lg);border:1px solid var(--line);background:#fbfdff;min-height:430px;padding:18px}.panel-heading{color:var(--navy);gap:8px}.audio-strip{border-radius:var(--radius-lg);background:var(--accent-blue-soft);align-items:center;gap:12px;margin:18px 0;padding:14px;display:flex}.audio-wave{flex:1;align-items:center;gap:5px;height:34px;display:flex}.audio-wave i{background:var(--accent-blue);border-radius:99px;width:8px}.audio-wave i:first-child{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{background:var(--accent-blue-strong);color:#fff;border:0;border-radius:999px;align-items:center;gap:6px;height:34px;padding:0 12px;font-weight:800;display:flex}.passage-panel h3{margin:0 0 8px}.passage-panel p{color:#54647b;line-height:1.65}.notes-card{border-radius:var(--radius-lg);border:1px solid var(--line);background:#fff;margin-top:14px;padding:16px}mark{background:#fff2a8;border-radius:5px;padding:1px 5px}.answer-row{grid-template-columns:34px 1fr;align-items:center;gap:10px;margin-top:11px;display:grid}.answer-row span{border-radius:var(--radius-sm);background:var(--accent-soft);width:34px;height:34px;color:var(--accent-strong);place-items:center;font-weight:900;display:grid}.answer-row input{border:1px solid var(--line);border-radius:var(--radius-md);outline:0;height:42px;padding:0 13px}.answer-row input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--focus-ring)}.question-nav{grid-template-columns:repeat(10,1fr);gap:6px;margin-top:18px;display:grid}.question-nav button{aspect-ratio:1;border:1px solid var(--line);border-radius:var(--radius-sm);color:#586880;background:#fff;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{color:#fff;background:#f59e0b;border-color:#f59e0b}.right-column{grid-template-columns:1fr}.panel-card{padding:18px}.panel-title{justify-content:space-between;gap:12px}.panel-title button{background:var(--accent-soft);width:34px;height:34px;color:var(--accent-strong);border:0;border-radius:999px;place-items:center;display:grid}.plan-list{gap:12px;margin-top:15px;display:grid}.plan-item{border-radius:var(--radius-lg);background:var(--soft);grid-template-columns:48px 1fr 22px;align-items:center;gap:10px;padding:12px;display:grid}.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{color:var(--ink);border-color:var(--accent-line);background:linear-gradient(145deg,#edf5f1,#eaf0f6)}.bee-avatar{border-radius:var(--radius-lg);background:#ffffff24;place-items:center;width:54px;height:54px;display:grid}.ai-card h2{margin:14px 0 8px}.ai-card p{color:var(--muted);line-height:1.6}.ai-card .primary-button{background:var(--accent-strong);color:#fff;width:100%}.flashcard-preview{border-radius:var(--radius-lg);background:linear-gradient(135deg, var(--accent), var(--accent-blue));color:#fff;min-height:170px;margin-top:12px;padding:18px}.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{gap:8px;margin-top:16px;display:flex}.flashcard-preview button{color:#fff;background:#ffffff21;border:1px solid #ffffff57;border-radius:999px;flex:1;height:36px;font-weight:800}.import-row{grid-template-columns:48px 1fr;align-items:center;gap:10px;margin-top:12px;display:grid}.import-row>span{border-radius:var(--radius-sm);background:var(--accent-soft);height:34px;color:var(--accent-strong);place-items:center;font-size:12px;font-weight:900;display:grid}.import-row strong,.import-row small{display:block}.import-row small,.class-row small{color:var(--muted)}.mentor-list{gap:12px;display:grid}.class-row{border-radius:var(--radius-md);background:var(--soft);grid-template-columns:32px 1fr auto;align-items:center;gap:9px;padding:11px;display:grid}.class-row span{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--accent-strong);background:#fff;place-items:center;font-weight:900;display:grid}@media (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 (width<=1180px){.app-topbar{grid-template-columns:minmax(0,1fr) auto;gap:12px 14px;padding:12px 20px}.search-box{order:3;grid-column:1/-1;min-width:0}.topbar-actions{min-width:0}}@media (width<=900px){.learning-app{display:block}.sidebar{width:286px;transition:transform .2s;position:fixed;inset:0 auto 0 0;transform:translate(-105%)}.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{order:3;grid-column:1/-1}.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 (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{border-radius:22px;padding:20px}.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{flex-direction:column;align-items:start}.section-head>*{min-width:0;max-width:100%}.section-head .ui-tabs,.skill-tabs{width:100%}.test-grid{grid-template-columns:1fr}.exam-toolbar{flex-direction:column;align-items:start}.question-nav{grid-template-columns:repeat(8,1fr)}.band-bars>div{grid-template-columns:68px 1fr 30px}}@media (width<=380px){.auth-page{padding:16px 12px}.auth-card{padding:26px 20px}.auth-card .ui-btn{white-space:normal;height:auto;min-height:44px;padding-top:11px;padding-bottom:11px}}.ui-right-rail{grid-template-columns:1fr;align-content:start;gap:20px;display:grid}.ui-btn{white-space:nowrap;height:44px;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;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 18px;font-size:14px;font-weight:800;display:inline-flex;position:relative;overflow:hidden}.ui-btn>svg,.ui-btn-loader{z-index:1;flex:none;position:relative}.ui-btn-label{z-index:1;min-width:0;white-space:inherit;position:relative}.ui-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 10px 22px #374a411a}.ui-btn:active:not(:disabled){box-shadow:none;transform:translateY(0)scale(.985)}.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:"";animation:shimmerSweep 1.15s var(--ease-out) infinite;pointer-events:none;background:linear-gradient(110deg,#0000 12%,#ffffff3d 48%,#0000 78%);position:absolute;inset:0;transform:translate(-110%)}.ui-btn-loader{border:2px solid;border-right-color:#0000;border-radius:50%;width:16px;height:16px;animation:.75s linear infinite spin}.ui-btn.is-live{animation:1.2s ease-in-out infinite pulseSoft}.ui-btn-block{width:100%}.ui-btn-primary{background:var(--green);color:#fff}.ui-btn-primary:hover{background:var(--accent-deep)}.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:#dfeee9}.ui-btn-ghost{color:var(--ink);border-color:var(--line);background:0 0}.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);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;padding:20px}.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{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.ui-card-title{letter-spacing:0;margin:4px 0 0;font-size:20px}.round-btn{background:var(--accent-soft);width:34px;height:34px;color:var(--accent-strong);transition:transform var(--motion-fast) var(--ease-soft), background var(--motion-fast) ease, box-shadow var(--motion-fast) ease;border:0;border-radius:999px;place-items:center;display:grid}.round-btn:hover{transform:translateY(-1px);box-shadow:0 8px 18px #374a4114}.advanced-panel{border-top:1px dashed var(--line);margin-top:14px;padding-top:14px}.advanced-panel summary{width:max-content;max-width:100%;color:var(--accent-strong);cursor:pointer;transition:color var(--motion-fast) ease;font-weight:850}.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{transition:transform var(--motion-fast) var(--ease-soft), background var(--motion-fast) ease, color var(--motion-fast) ease;border-radius:999px;align-items:center;padding:4px 10px;font-size:12px;font-weight:800;display:inline-flex}.ui-badge:hover{transform:translateY(-1px)}.ui-badge-default{color:#56645e;background:#eef2ee}.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{color:#9a6a19;background:#fbf1df}.ui-badge-danger{color:#d23a3a;background:#fdeaea}.ui-info-tip{align-items:center;display:inline-flex;position:relative}.ui-info-trigger{border:1px solid var(--line);background:var(--accent-soft);width:34px;height:34px;color:var(--accent-strong);transition:transform var(--motion-fast) var(--ease-soft), background var(--motion-fast) ease, box-shadow var(--motion-fast) ease;border-radius:50%;place-items:center;display:grid}.ui-info-trigger:hover,.ui-info-trigger:focus-visible{box-shadow:0 0 0 3px var(--focus-ring);background:#dfeee9;outline:0;transform:translateY(-1px)}.ui-info-popover{z-index:30;border:1px solid var(--line);border-radius:var(--radius-md);color:#44536a;width:min(280px,100vw - 32px);box-shadow:var(--shadow-elevated);opacity:0;pointer-events:none;transition:opacity var(--motion-fast) ease, transform var(--motion-fast) var(--ease-soft);background:#fff;padding:12px 14px;font-size:13px;line-height:1.45;position:absolute;top:calc(100% + 8px);right:0;transform:translateY(-4px)}.ui-info-tip:hover .ui-info-popover,.ui-info-tip:focus-within .ui-info-popover{opacity:1;pointer-events:auto;transform:translateY(0)}.loading-spin{animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}}.ui-tabs{border:1px solid var(--line);background:#fff;border-radius:999px;gap:4px;padding:5px;display:flex;overflow-x:auto}.ui-tabs button{height:34px;color:var(--muted);white-space:nowrap;transition:transform var(--motion-fast) var(--ease-soft), background var(--motion-fast) ease, color var(--motion-fast) ease;background:0 0;border:0;border-radius:999px;padding:0 13px;font-weight:800}.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{border-collapse:collapse;width:100%;font-size:14px}.ui-table th{text-align:left;color:var(--muted);text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid var(--line);padding:10px 12px;font-size:12px;font-weight:800}.ui-table td{vertical-align:middle;border-bottom:1px solid #eef2f8;padding:12px}.ui-table tr:last-child td{border-bottom:0}.ui-table-empty{padding:24px}.ui-empty{text-align:center;color:var(--muted);justify-items:center;gap:8px;padding:32px 18px;display:grid}.ui-empty-icon{background:var(--accent-soft);width:52px;height:52px;color:var(--accent-strong);border-radius:50%;place-items:center;display:grid}.ui-empty strong{color:var(--ink);font-size:16px}.ui-empty p{max-width:320px;margin:0}.ui-page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.ui-page-title{letter-spacing:0;margin:4px 0 0;font-size:26px}.ui-page-desc{color:var(--muted);margin:6px 0 0}.ui-page-actions{flex-wrap:wrap;gap:10px;display:flex}.admin-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.ui-stat{border:1px solid var(--line);border-radius:var(--radius-lg);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;background:#fff;align-content:start;gap:4px;padding:16px;display:grid}.ui-stat:hover{border-color:var(--accent-line);box-shadow:var(--shadow-elevated);transform:translateY(-2px)}.ui-stat-icon{border-radius:var(--radius-md);background:var(--accent-soft);width:38px;height:38px;color:var(--accent-strong);place-items:center;margin-bottom:6px;display:grid}.ui-stat-value{font-size:28px;line-height:1}.ui-stat-label{color:#51617a;font-size:13px;font-weight:800}.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{gap:10px;display:grid}.due-row{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;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.due-row:hover{border-color:var(--accent-line);background:#fff;transform:translateY(-1px)}.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{background:linear-gradient(160deg,#f2f7f4 0%,#fbfcfa 62%);min-height:100vh;padding:0;display:block}.auth-page{background:linear-gradient(118deg,#eaf4f1d1 0%,#f8faf7f5 46%,#edf3f8eb 100%);place-items:center;width:100%;min-height:100vh;padding:clamp(18px,3vw,42px);display:grid}.auth-shell{grid-template-columns:minmax(0,3fr) minmax(360px,2fr);align-items:stretch;gap:clamp(18px,2.4vw,30px);width:min(1180px,100%);display:grid}.auth-story-panel,.auth-card{box-shadow:var(--shadow-elevated);border:1px solid #cfe0dbeb;border-radius:28px}.auth-story-panel{background:linear-gradient(135deg,#ffffffdb 0%,#ecf6f2eb 50%,#edf3f8e6 100%);align-content:space-between;gap:28px;min-height:680px;padding:clamp(28px,4vw,48px);display:grid;position:relative;overflow:hidden}.auth-story-panel:before{content:"";animation:authSweep 7s var(--ease-soft) infinite;pointer-events:none;background:linear-gradient(112deg,#0000 0%,#ffffff85 46%,#0000 72%);position:absolute;inset:0;transform:translate(-58%)}.auth-story-panel>*{z-index:1;position:relative}.auth-card{background:#fffffff0;align-content:center;width:100%;min-height:680px;padding:clamp(28px,3.5vw,44px);display:grid}.auth-brand{gap:10px;margin-bottom:18px}.auth-brand-form{display:none}.auth-story-copy{max-width:610px}.auth-story-copy h1{letter-spacing:0;margin:12px 0 14px;font-size:62px;line-height:1.02}.auth-story-copy p{color:#596b7d;max-width:560px;margin:0;font-size:17px;line-height:1.75}.auth-card h2{letter-spacing:0;margin:8px 0 0;font-size:40px;line-height:1.08}.auth-sub{color:var(--muted);margin:10px 0 24px;line-height:1.6}.auth-form{gap:14px;display:grid}.field{gap:6px;min-width:0;display:grid}.field>span{color:#45546c;font-size:13px;font-weight:700}.field-input{border:1px solid var(--line);border-radius:var(--radius-md);min-width:0;height:46px;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;align-items:center;gap:9px;padding:0 14px;display:flex}.field-input:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--focus-ring);background:#fff;transform:translateY(-1px)}.field-input input{min-width:0;color:var(--ink);background:0 0;border:0;outline:0;flex:1}.field-input input[type=file]{width:100%}.password-field{padding-right:6px}.password-toggle{width:34px;height:34px;color:var(--muted);transition:transform var(--motion-fast) var(--ease-soft), background var(--motion-fast) ease, color var(--motion-fast) ease;background:0 0;border:0;border-radius:50%;flex:none;place-items:center;display:grid}.password-toggle:hover,.password-toggle:focus-visible{background:var(--accent-soft);color:var(--accent-strong);outline:0;transform:translateY(-1px)}.auth-error{color:var(--danger);margin:0;font-size:13px;font-weight:700}.auth-divider{color:var(--muted);align-items:center;gap:10px;margin:20px 0 16px;font-size:12px;font-weight:700;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--line);flex:1;height:1px}.auth-quick{gap:10px;display:grid}.auth-secure-note{border:1px solid var(--accent-line);border-radius:var(--radius-md);background:var(--accent-mist);color:#526375;align-items:flex-start;gap:9px;margin-top:18px;padding:12px 14px;font-size:13px;line-height:1.5;display:flex}.auth-secure-note svg{color:var(--accent-strong);flex:none}.auth-foot{text-align:center;color:var(--muted);margin:22px 0 0;font-size:13px}.auth-foot a{color:var(--accent-strong);font-weight:700}.auth-visual{place-items:center;min-height:280px;display:grid;position:relative}.auth-orbit{aspect-ratio:1;text-align:center;background:conic-gradient(var(--accent) 0 78%, #dfe8e2 78% 100%);width:min(270px,62vw);animation:softPop .62s var(--ease-out) both;border-radius:50%;place-items:center;display:grid;position:relative;box-shadow:0 24px 52px #374a4121}.auth-orbit:after{content:"";background:#fffffff0;border-radius:50%;position:absolute;inset:22px}.auth-orbit span{border:1px solid #4f8f862e;border-radius:50%;animation:9s linear infinite authOrbit;position:absolute;inset:-7px}.auth-orbit span:after{content:"";background:var(--accent-blue);border-radius:50%;width:11px;height:11px;position:absolute;top:19px;right:36px;box-shadow:0 0 0 7px #6f8fb826}.auth-orbit strong,.auth-orbit small{z-index:1;grid-area:1/1;position:relative}.auth-orbit strong{font-size:64px;transform:translateY(-12px)}.auth-orbit small{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-weight:850;transform:translateY(42px)}.auth-floating-card{border-radius:var(--radius-lg);min-width:168px;animation:authFloat 4.6s var(--ease-soft) infinite;background:#ffffffdb;border:1px solid #cfe0dbeb;gap:4px;padding:13px 15px;display:grid;position:absolute;box-shadow:0 16px 34px #374a411a}.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{top:16%;left:8%}.auth-floating-card.card-two{animation-delay:.7s;bottom:12%;right:4%}.auth-insight-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.auth-insight-grid>div{border-radius:var(--radius-lg);min-height:104px;animation:appFadeUp var(--motion-slow) var(--ease-out) both;background:#ffffffa8;border:1px solid #cfe0dbe6;align-content:start;gap:5px;padding:14px;display:grid}.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)}}@media (width<=980px){.auth-page{place-items:start center}.auth-shell{grid-template-columns:1fr;max-width:720px}.auth-story-panel,.auth-card{border-radius:24px;min-height:0}.auth-story-copy h1{font-size:46px}.auth-card h2{font-size:36px}.auth-visual{min-height:230px}}@media (width<=640px){.auth-page{padding:14px}.auth-story-panel,.auth-card{border-radius:20px;padding:22px}.auth-story-panel{gap:18px}.auth-story-copy h1{font-size:31px}.auth-card h2{font-size:32px}.auth-story-copy p{font-size:15px;line-height:1.65}.auth-visual{min-height:210px}.auth-orbit{width:min(210px,72vw)}.auth-orbit strong{font-size:48px}.auth-floating-card{min-width:142px;padding:11px 12px}.auth-floating-card.card-one{top:8%;left:0}.auth-floating-card.card-two{bottom:4%;right:0}.auth-insight-grid{grid-template-columns:1fr}.auth-insight-grid>div{grid-template-columns:auto 1fr;align-items:center;min-height:0}.auth-insight-grid span{grid-column:2}}@media (width<=420px){.auth-visual{display:none}.auth-card .ui-btn{white-space:normal;height:auto;min-height:44px;padding-top:11px;padding-bottom:11px}}.entry-page{background:radial-gradient(circle at 82% 0,#6f8fb81f,#0000 32%),linear-gradient(#f6f8f6 0%,#fbfcfa 100%);min-height:100vh}.entry-top{justify-content:space-between;align-items:center;max-width:1080px;margin:0 auto;padding:18px 28px;display:flex}.entry-login-link{color:var(--accent-strong);font-size:14px;font-weight:700}.entry-hero{text-align:center;max-width:760px;margin:0 auto;padding:18px 28px 60px}.entry-hero h1{margin:12px 0;font-size:clamp(28px,4vw,42px)}.entry-hero>p{color:#51617a;max-width:600px;margin:0 auto;font-size:16px;line-height:1.7}.entry-skills{grid-template-columns:repeat(4,1fr);gap:14px;margin:32px 0;display:grid}.entry-skill{background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);color:var(--accent-strong);transition:transform var(--motion-med) var(--ease-out), border-color var(--motion-fast) ease, box-shadow var(--motion-med) ease;justify-items:center;gap:6px;padding:18px;display:grid}.entry-skill:hover{border-color:var(--accent-line);box-shadow:var(--shadow-elevated);transform:translateY(-3px)}.entry-skill strong{color:var(--ink)}.entry-skill small{color:var(--muted);align-items:center;gap:5px;display:inline-flex}.entry-actions{max-width:360px;margin:0 auto}.entry-note{color:var(--muted);margin:14px 0 0;font-size:13px;line-height:1.6}.entry-login-link{align-items:center;gap:6px;display:inline-flex}.entry-flow,.entry-take,.entry-result-page{gap:18px;width:min(100%,960px);margin:0 auto;padding:18px 28px 56px;display:grid}.entry-flow{max-width:840px}.entry-warning{background:#fffaf0;border-color:#f5c56a}.entry-warning-head{color:#9a6407;align-items:flex-start;gap:12px;display:flex}.entry-warning-head p{color:#6d5b3e;margin:4px 0 0;line-height:1.6}.entry-result-mini,.entry-actions-inline{flex-wrap:wrap;align-items:center;gap:10px;margin-top:14px;display:flex}.entry-actions-inline.center{justify-content:center}.entry-ready{justify-items:start;gap:10px;display:grid}.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{color:var(--muted);margin:0;line-height:1.6}.entry-test-form{gap:16px;display:grid}.entry-source-box{background:var(--soft);border:1px solid var(--line);border-radius:var(--radius-md);color:#45546c;margin-bottom:16px;padding:14px;line-height:1.7}.entry-submit-bar{border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-elevated);background:#fffffff0;justify-content:space-between;align-items:center;gap:14px;padding:14px 16px;display:flex;position:sticky;bottom:16px}.entry-submit-bar span{color:var(--muted);font-size:13px;line-height:1.5}.entry-center{place-items:center;padding:24px;display:grid}.entry-complete-card{text-align:center;justify-items:center;gap:14px;width:min(100%,620px);display:grid}.entry-complete-card h1{margin:0;font-size:30px}.entry-complete-card p{max-width:480px;margin:0}.entry-complete-icon{background:var(--accent-soft);width:70px;height:70px;color:var(--green);border-radius:50%;place-items:center;display:grid}.entry-score-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;width:100%;display:grid}.entry-score-grid>div{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--soft);align-content:center;gap:4px;min-height:84px;padding:13px;display:grid}.entry-score-grid small{color:var(--muted);font-weight:800}.entry-score-grid strong{justify-content:center;align-items:center;gap:6px;font-size:24px;display:inline-flex}.entry-score-grid.compact{max-width:470px}.entry-result-hero{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px;display:flex}.entry-result-hero h1{margin:5px 0;font-size:30px}.entry-result-hero p{color:var(--muted);margin:0}.entry-review-row{border-bottom:1px solid #eef2f8;padding-bottom:14px}.entry-review-row:last-child{border-bottom:0;padding-bottom:0}.entry-pending-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.entry-pending-grid>div{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--soft);padding:14px}.entry-pending-grid p{color:#45546c;white-space:pre-wrap;margin:10px 0 0;line-height:1.6}.entry-admin-student strong,.entry-admin-student small{display:block}.entry-admin-student small{color:var(--muted);margin-top:3px}.entry-admin-kpi{align-content:start;gap:7px;display:grid}.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{flex-wrap:wrap;gap:6px;margin-top:9px;display:flex}.entry-exam-tabs button{border:1px solid var(--line);min-height:30px;color:var(--muted);background:#fff;border-radius:999px;padding:0 11px;font-size:12px;font-weight:800}.entry-exam-tabs button.active{color:#fff;background:#0a7cff;border-color:#0a7cff}.question-nav button{aspect-ratio:1;border:1px solid var(--line);border-radius:var(--radius-sm);color:#586880;background:#fff;place-items:center;font-size:12px;font-weight:800;display:grid}.question-nav button.done{background:var(--accent);color:#fff;border-color:var(--accent)}.entry-exam-textarea{resize:vertical;width:100%;height:auto;min-height:300px;line-height:1.6;font:inherit;padding:14px}.entry-exam-textarea.short{min-height:180px}.exam-shell{background:#f3f6fb;min-height:100vh}.scrim{z-index:15;animation:softPop var(--motion-fast) var(--ease-out) both;background:#07142d73;position:fixed;inset:0}.notfound{text-align:center;color:var(--muted);justify-items:center;gap:10px;display:grid}.notfound h1{color:var(--ink);margin:0;font-size:56px}.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-hero,.entry-skills,.entry-flow,.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-hero,.entry-skills,.entry-flow,.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-hero,.entry-skills,.entry-flow,.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-hero,.entry-skills,.entry-flow,.entry-result-page)>:nth-child(4){animation-delay:.135s}.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-hero,.entry-skills,.entry-flow,.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-hero,.entry-skills,.entry-flow,.entry-result-page)>:nth-child(n+6){animation-delay:.225s}.exam-shell *,.exam-room-full *,.entry-exam-room *,.ielts-shell *,.ielts-check-gate *{animation-delay:0s}.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){box-shadow:none;transform:none}@media (width<=1380px){.ui-right-rail,.admin-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=900px){.ui-right-rail{grid-template-columns:1fr}}@media (width<=640px){.entry-skills{grid-template-columns:repeat(2,1fr)}.admin-stat-grid{grid-template-columns:1fr}.entry-top{align-items:flex-start;padding:14px 16px}.entry-flow,.entry-take,.entry-result-page{padding:12px 16px 40px}.entry-score-grid,.entry-pending-grid{grid-template-columns:1fr}.entry-submit-bar{flex-direction:column;align-items:stretch;position:static}.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{align-content:start;gap:20px;max-width:720px;padding:22px 28px 40px;display:grid}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.form-grid .form-foot{grid-column:1/-1;justify-content:flex-end;align-items:center;gap:12px;display:flex}.field-input-readonly{color:var(--muted);background:#f4f6fa}.field-input-readonly input{color:var(--muted)}.side-foot{gap:10px;margin-top:auto;display:grid}.side-foot .mentor-mini{margin-top:0}.side-profile{border-radius:var(--radius-md);border:1px solid var(--line);color:var(--ink);background:#ffffffb8;align-items:center;gap:11px;padding:11px 13px;display:flex}.side-profile:hover{background:var(--accent-soft)}.side-profile strong,.side-profile span{display:block}.side-profile span{color:var(--muted);font-size:12px}@media (width<=640px){.form-grid{grid-template-columns:1fr}.page-single{padding:16px}}.page-wide{align-content:start;gap:20px;max-width:1180px;padding:22px 28px 40px;display:grid}.muted{color:var(--muted)}.link{color:var(--accent-strong);font-weight:700}.back-link{color:var(--muted);align-items:center;gap:6px;font-size:13px;font-weight:700;display:inline-flex}.back-link:hover{color:var(--ink)}.field-input select,.filter-bar select{min-width:0;color:var(--ink);width:100%;font:inherit;background:0 0;border:0;outline:0}.filter-bar{flex-wrap:wrap;gap:10px;margin-bottom:16px;display:flex}.filter-bar select{border:1px solid var(--line);border-radius:var(--radius-md);background:#fff;min-width:160px;height:44px;padding:0 12px}.search-box.compact{flex:1;min-width:200px;height:44px}.check-group{border:1px solid var(--line);border-radius:var(--radius-md);grid-column:1/-1;margin:0;padding:14px 16px}.check-group legend{color:#45546c;padding:0 6px;font-size:13px;font-weight:800}.check-row{align-items:center;gap:10px;padding:7px 0;display:flex}.check-row input{width:18px;height:18px}.check-row small{color:var(--muted)}.info-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 24px;display:grid}.info-row{border-bottom:1px solid #eef2f8;justify-content:space-between;gap:12px;padding:10px 0;display:flex}.info-row span{color:var(--muted)}.info-row strong{text-align:right;align-items:center;gap:6px;display:inline-flex}.chip-list{flex-wrap:wrap;gap:8px;display:flex}.chip{background:var(--accent-soft);color:var(--accent-strong);border:1px solid var(--line);transition:transform var(--motion-fast) var(--ease-soft), background var(--motion-fast) ease, border-color var(--motion-fast) ease;border-radius:999px;align-items:center;gap:6px;padding:7px 12px;font-size:13px;font-weight:700;display:inline-flex}.chip small{color:var(--muted);font-weight:600}.chip:hover{border-color:var(--accent-line);background:#dfeee9;transform:translateY(-1px)}.add-pick{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.cred-box{grid-template-columns:repeat(2,1fr);gap:14px;margin-bottom:16px;display:grid}.cred-box>div{background:var(--soft);border:1px solid var(--line);border-radius:var(--radius-md);padding:14px}.cred-box small{color:var(--muted);margin-bottom:4px;display:block}.cred-box strong{font-size:18px}.slot-list{gap:8px;display:grid}.slot-row{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;grid-template-columns:44px auto 1fr;align-items:center;gap:12px;padding:12px 14px;display:grid}.slot-row:hover{border-color:var(--accent-line);background:#fff;transform:translateY(-1px)}.slot-day{border-radius:var(--radius-sm);background:var(--accent-strong);color:#fff;place-items:center;width:44px;height:30px;font-size:12px;font-weight:800;display:grid}.slot-row small{color:var(--muted)}.sched-editor{gap:10px;margin-bottom:16px;display:grid}.sched-edit-row{grid-template-columns:80px 110px 110px 1fr 120px 40px;align-items:center;gap:8px;display:grid}.sched-edit-row select,.sched-edit-row input{border:1px solid var(--line);border-radius:var(--radius-md);height:42px;font:inherit;background:#fff;outline:0;padding:0 10px}.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{border:1px solid var(--line);border-radius:var(--radius-md);color:#d23a3a;background:#fff;place-items:center;width:40px;height:42px;display:grid}.icon-del:hover{background:#fdeaea}.course-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;display:grid}.course-card{border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);color:var(--ink);transition:transform var(--motion-med) var(--ease-out), border-color var(--motion-fast) ease, box-shadow var(--motion-med) ease;background:#fff;align-content:start;gap:10px;padding:18px;display:grid}.course-card:hover{border-color:var(--accent);box-shadow:var(--shadow-elevated);transform:translateY(-3px)}.course-card-top{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.course-card-top h3{margin:0;font-size:18px}.course-card-foot{color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:8px;font-size:13px;display:flex}.course-card-foot span{align-items:center;gap:5px;display:inline-flex}.week-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;display:grid}.week-col{background:var(--soft);border:1px solid var(--line);border-radius:var(--radius-md);align-content:start;gap:8px;min-height:120px;padding:10px 8px;display:grid}.week-col.has{background:#fff}.week-day{color:#51617a;text-align:center;font-size:12px;font-weight:800}.week-slot{background:var(--accent-soft);border-radius:var(--radius-sm);text-align:center;transition:transform var(--motion-fast) var(--ease-soft), background var(--motion-fast) ease;padding:8px}.week-slot strong{font-size:14px;display:block}.week-slot small{color:var(--muted)}.week-slot p{margin:4px 0 0;font-size:12px;font-weight:700}.week-slot em{color:var(--muted);font-size:11px;font-style:normal}.link-slot{color:var(--ink)}.link-slot:hover{background:#dfeee9;transform:translateY(-1px)}@media (width<=1024px){.week-grid{grid-template-columns:repeat(2,1fr)}.info-grid{grid-template-columns:1fr}}@media (width<=640px){.page-wide{padding:16px}.sched-edit-row{grid-template-columns:1fr 1fr}.cred-box,.week-grid{grid-template-columns:1fr}}.exam-list{gap:12px;display:grid}.exam-list-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.exam-list-info{align-items:center;gap:14px;display:flex}.exam-skill-icon{border-radius:var(--radius-md);background:var(--accent-soft);width:46px;height:46px;color:var(--accent-strong);place-items:center;display:grid}.exam-skill-icon.muted-icon{color:#9aa6b6;background:#f0f2f6}.exam-list-info strong{display:block}.exam-list-info small{color:var(--muted);align-items:center;gap:4px;display:inline-flex}.exam-list-actions{flex-wrap:wrap;gap:8px;display:flex}.instructions-page,.exam-shell,.exam-room-full,.entry-exam-room{--accent:#0a7cff;--accent-strong:#0a67e8;--accent-deep:#071c49;--accent-soft:#eaf4ff;--accent-mist:#f4f9ff;--accent-line:#c7ddff;--accent-blue:#0a7cff;--accent-blue-strong:#0a7cff;--accent-blue-soft:#eef6ff;--blue:#0867ff;--blue-700:#064ed0;--navy:#072768;--green:#16a34a;--cyan:#0ea5e9;--yellow:#facc15;--danger:#d23a3a;--ink:#172033;--muted:#64738a;--line:#dfe7f2;--surface-raised:#fff;--soft:#f7f9fc;--soft-blue:#f2f6f9;--focus-ring:#0a7cff1f;--shadow-card:0 10px 28px #14294e14;--shadow-elevated:0 18px 46px #14294e1f}.instructions-page{place-items:center;min-height:100vh;padding:28px;display:grid}.instructions-page .ui-card{width:100%;max-width:560px}.instructions-head{align-items:center;gap:14px;margin-bottom:18px;display:flex}.instructions-head h1{margin:0;font-size:24px}.instructions-meta{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:18px;display:grid}.instructions-meta>div{border:1px solid var(--line);border-radius:var(--radius-md);color:#0a67e8;background:#f7faff;gap:2px;padding:14px;display:grid}.instructions-meta strong{color:var(--ink);font-size:18px}.instructions-meta small{color:var(--muted)}.instructions-list{color:#51617a;gap:6px;margin:0 0 20px;padding-left:18px;line-height:1.7;display:grid}.exam-room-full{background:#f3f6fb;flex-direction:column;min-height:100vh;display:flex}.exam-room-bar{z-index:10;border-bottom:1px solid var(--line);background:#fff;grid-template-columns:1fr auto auto;align-items:center;gap:16px;padding:12px 22px;display:grid;position:sticky;top:0}.exam-room-title strong{display:block}.exam-room-title small{color:var(--muted)}.timer.danger{background:#d23a3a;animation:1s infinite pulse}@keyframes pulse{50%{opacity:.7}}.exam-room-body{flex:1;grid-template-columns:1.05fr .95fr;gap:16px;width:100%;max-width:1280px;margin:0 auto;padding:18px 22px 40px;display:grid}.exam-source,.exam-answers{border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);background:#fff;padding:20px}.exam-source{align-self:start;max-height:calc(100vh - 100px);position:sticky;top:80px;overflow:auto}.source-instructions{color:#51617a;margin:10px 0 14px;font-weight:600}.reading-passage{color:#2b3445;white-space:pre-line;line-height:1.8}.reading-passage.small{font-size:13px;line-height:1.7}.audio-player{border-radius:var(--radius-md);background:#eef6ff;align-items:center;gap:14px;padding:16px;display:flex}.audio-play{color:#fff;background:#0a7cff;border:0;border-radius:50%;place-items:center;width:46px;height:46px;display:grid}.audio-track{flex:1;gap:8px;display:grid}.audio-track span{font-size:13px;font-weight:700}.audio-bar{background:#d4e6ff;border-radius:99px;height:8px;overflow:hidden}.audio-bar i{background:#0a7cff;height:100%;transition:width .3s linear;display:block}.audio-note{margin:12px 0 0;font-size:12px}.answer-section{gap:16px;display:grid}.answer-block{border-bottom:1px solid #eef2f8;padding-bottom:14px}.answer-q{gap:10px;margin-bottom:10px;display:flex}.answer-num{border-radius:var(--radius-sm);color:#0a67e8;background:#eaf4ff;flex:none;place-items:center;width:28px;height:28px;font-weight:900;display:grid}.answer-q p{margin:3px 0;line-height:1.5}.exam-text-input{border:1px solid var(--line);border-radius:var(--radius-md);outline:0;width:100%;height:44px;padding:0 14px}.exam-text-input:focus{border-color:#0a7cff;box-shadow:0 0 0 3px #0a7cff1f}.exam-options{gap:8px;display:grid}.exam-option{border:1px solid var(--line);border-radius:var(--radius-md);cursor:pointer;align-items:center;gap:10px;padding:11px 14px;display:flex}.exam-option.selected{background:#f0f7ff;border-color:#0a7cff}.exam-option input{width:17px;height:17px}.question-nav a{aspect-ratio:1;border:1px solid var(--line);border-radius:var(--radius-sm);color:#586880;background:#fff;place-items:center;font-size:12px;font-weight:800;display:grid}.question-nav a.done{color:#fff;background:#16a34a;border-color:#16a34a}.result-hero{flex-wrap:wrap;align-items:center;gap:28px;display:flex}.result-donut{text-align:center;background:conic-gradient(#16a34a calc(var(--pct) * 1%), #e7edf7 0);border-radius:50%;place-items:center;width:150px;height:150px;display:grid;position:relative}.result-donut:after{content:"";background:#fff;border-radius:50%;position:absolute;inset:14px}.result-donut strong,.result-donut span{z-index:1;position:relative}.result-donut strong{font-size:38px}.result-donut span{color:var(--muted);font-size:11px;font-weight:800;position:absolute;bottom:34px;left:0;right:0}.result-stats{grid-template-columns:repeat(3,auto);gap:24px;display:grid}.result-stats strong{font-size:26px;display:block}.result-stats small{color:var(--muted)}.result-actions{flex-wrap:wrap;gap:10px;display:flex}.review-list{gap:12px;display:grid}.review-q{gap:12px;display:flex}.review-badge{color:#fff;border-radius:50%;flex:none;place-items:center;width:28px;height:28px;display:grid}.review-badge.ok{background:#16a34a}.review-badge.bad{background:#ef4444}.review-q-body{flex:1}.review-prompt{margin:2px 0 12px;line-height:1.5}.review-answers{flex-wrap:wrap;gap:10px;margin-bottom:12px;display:flex}.ra{border-radius:var(--radius-md);border:1px solid var(--line);min-width:140px;padding:10px 14px}.ra small{color:var(--muted);margin-bottom:3px;display:block}.ra-ok{background:#ecfdf3;border-color:#b7ebc9}.ra-bad{background:#fdeaea;border-color:#f3c4c4}.ra-correct{background:#eef5ff;border-color:#c7ddff}.review-explain{color:#51617a;margin:0;line-height:1.6}.row-actions{gap:8px;display:inline-flex}.field-input:has(textarea){align-items:stretch;padding:10px 14px}.field-input textarea{width:100%;color:var(--ink);resize:vertical;font:inherit;background:0 0;border:0;outline:0;line-height:1.5}.item-list{gap:10px;margin-bottom:16px;display:grid}.item-row{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;align-items:center;gap:12px;padding:12px 14px;display:flex}.item-row:hover{border-color:var(--accent-line);background:#fff;transform:translateY(-1px)}.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{color:var(--muted);margin-top:4px;line-height:1.5;display:block}.item-status{margin-left:auto}.item-add{border-top:1px dashed var(--line);gap:12px;padding-top:16px;display:grid}.take-action{align-items:center;gap:10px;display:flex}.manual-submit-box{border-top:1px dashed var(--line);animation:appFadeUp var(--motion-med) var(--ease-out) both;gap:12px;margin-top:16px;padding-top:16px;display:grid}.manual-status{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.record-row{color:var(--muted);flex-wrap:wrap;align-items:center;gap:12px;display:flex}.record-row small{line-height:1.5}.marking-grid{grid-template-columns:minmax(0,1fr) minmax(360px,.8fr);align-items:start;gap:18px;display:grid}.manual-prompt{border-radius:var(--radius-md);background:var(--soft);border:1px solid var(--line);color:#45546c;align-items:flex-start;gap:10px;padding:12px;display:flex}.manual-prompt p{margin:0;line-height:1.6}.submission-content{border:1px solid var(--line);border-radius:var(--radius-md);white-space:pre-wrap;color:#2b3445;background:#fff;margin-top:14px;padding:16px;line-height:1.75}.recording-box{border-radius:var(--radius-md);border:1px solid var(--accent-line);background:var(--accent-soft);gap:4px;margin-top:14px;padding:12px;display:grid}.recording-box span{color:var(--accent-strong);word-break:break-word;font-size:13px}.marking-form{gap:14px;display:grid}.rubric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}@media (width<=900px){.marking-grid,.rubric-grid{grid-template-columns:1fr}}@media (width<=1024px){.exam-room-body{grid-template-columns:1fr}.exam-source{max-height:none;position:static}}@media (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:#fff;--ielts-panel:#f7f7f5;--ielts-text:#252525;--ielts-muted:#777;--ielts-line:#d7d7d7;--ielts-hard-line:#787878;--ielts-accent:#168bb5;--ielts-answered:#239024;--ielts-flag:#d95467;--ielts-footer:#f3f3f3;--passage-text:22px;--question-text:22px;--answer-text:23px;--writing-text:18px;--instruction-text:26px;background:var(--ielts-bg);min-height:100vh;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{background:var(--ielts-bg);box-sizing:border-box;border-top:2px solid #565656;border-bottom:2px solid #e2e2e2;justify-content:space-between;align-items:center;height:113px;padding:0 24px;display:flex}.ielts-shell .brand-row,.ielts-shell .header-tools,.ielts-shell .question-title,.ielts-shell .system-status,.ielts-shell .part-nav,.ielts-shell .part-questions{align-items:center;display:flex}.ielts-shell .ielts-logo{color:#d71920;letter-spacing:-3px;margin-right:50px;padding-top:4px;font-size:52px;font-weight:900;line-height:1.12}.ielts-shell .ielts-logo sup{letter-spacing:0;vertical-align:super;font-size:10px}.ielts-shell .remaining{font-size:23px;font-weight:500}.ielts-shell .header-tools{gap:42px}.ielts-shell .header-tools button{color:var(--ielts-text);cursor:pointer;background:0 0;border:0;padding:0}.ielts-shell svg{fill:none;stroke:currentColor;stroke-width:2.3px;stroke-linecap:round;stroke-linejoin:round;width:37px;height:37px}.ielts-shell .part-instructions{box-sizing:border-box;background:var(--ielts-panel);border:2px solid #e3e3e3;border-radius:4px;margin:24px 25px 0;padding:18px 24px 20px;box-shadow:inset 0 1px 3px #0000001a}.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{box-sizing:border-box;grid-template-columns:minmax(28%,50%) 55px minmax(28%,50%);height:calc(100vh - 431px);min-height:360px;padding:23px 26px 0;display:grid;position:relative;overflow:hidden}.ielts-shell .passage-pane,.ielts-shell .question-pane{box-sizing:border-box;height:100%;padding-bottom:30px;overflow-y:auto}.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{font-size:var(--passage-text);margin:0 0 26px;line-height:1.38}.ielts-audio-card{border:2px solid var(--ielts-line);background:var(--ielts-panel);align-items:center;gap:18px;margin:0 0 24px;padding:20px;display:flex}.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;gap:8px;display:grid}.ielts-audio-progress{background:#fff;border:1px solid #c8c8c8;height:8px;overflow:hidden}.ielts-audio-progress i{height:100%;width:var(--progress,34%);background:#168bb5;display:block}.ielts-audio-note{border:1px solid var(--ielts-line);color:var(--ielts-muted);background:#fff;padding:14px;font-size:15px!important}.ielts-shell .splitter{cursor:col-resize;-webkit-user-select:none;user-select:none;justify-content:center;display:flex;position:relative}.ielts-shell .splitter:before{content:"";background:var(--ielts-hard-line);width:3px;height:100%;display:block}.ielts-shell .splitter:after{content:"";background:#8c8c8c;width:28px;height:147px;position:absolute;top:0;transform:translate(-12px)}.ielts-shell .splitter-handle{z-index:2;background:var(--ielts-bg);border:3px solid #6f6f6f;place-items:center;width:51px;height:51px;font-size:25px;font-weight:700;display:grid;position:absolute;top:300px}.ielts-shell .question-block{margin-bottom:62px;scroll-margin-top:18px;position:relative}.ielts-shell .question-title{align-items:flex-start;gap:10px}.ielts-shell .question-number{min-width:42px;height:38px;color:var(--ielts-text);cursor:pointer;background:0 0;border:3px solid #0000;place-items:center;font-size:24px;font-weight:800;display:grid}.ielts-shell .question-block.active .question-number{border-color:var(--ielts-accent);box-shadow:0 0 0 1px #168bb540}.ielts-shell .question-title p{font-size:var(--question-text);flex:1;margin:3px 0 0;line-height:1.35}.ielts-shell .flag{color:#d7d7d7;cursor:pointer;background:0 0;border:0;position:absolute;top:-6px;right:0}.ielts-shell .flag svg{width:36px;height:36px}.ielts-shell .flag.flagged{color:var(--ielts-flag)}.ielts-shell .radio-list{gap:25px;margin:22px 0 0 48px;display:grid}.ielts-shell .radio-list label{width:min(100%,760px);min-height:36px;font-size:var(--answer-text);cursor:pointer;align-items:center;gap:9px;padding:0 8px;display:flex}.ielts-shell .radio-list label:has(input:checked){background:#b9d5ee}:is(.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;border:1px solid var(--ielts-line);background:var(--ielts-bg);width:min(100%,760px);min-height:44px;color:var(--ielts-text);outline:none;margin:22px 0 0 48px;padding:8px 12px;font-size:22px}.ielts-shell .ielts-text-answer:focus{border-color:var(--ielts-accent);box-shadow:0 0 0 2px #168bb533}.ielts-shell .question-actions{gap:10px;margin:22px 0 0 48px;display:flex}.ielts-shell .question-actions button,.ielts-shell .nav-actions button{border:1px solid var(--ielts-line);background:var(--ielts-panel);min-height:36px;color:var(--ielts-text);cursor:pointer;padding:0 12px;font-size:15px;font-weight:700}.ielts-shell .question-actions button:disabled{opacity:.45;cursor:not-allowed}.ielts-shell .scroll-tab{background:#8c8c8c;width:25px;height:132px;position:absolute;top:122px;right:0}.ielts-shell .scroll-tab:after{content:"";border-top:36px solid #0000;border-bottom:36px solid #0000;border-left:13px solid #000;position:absolute;top:43px;left:10px}.ielts-shell .next-prev-float{gap:4px;display:flex;position:absolute;bottom:27px;right:47px}.ielts-shell .next-prev-float button{color:#fff;cursor:pointer;border:0;border-radius:4px;width:85px;height:82px;font-size:76px;font-weight:800;line-height:1}.ielts-shell .next-prev-float .back{background:#4f4f4f}.ielts-shell .next-prev-float .forward{background:#050505}.ielts-shell .writing-prompt,.ielts-shell .writing-answer{box-sizing:border-box;height:100%;padding:38px 34px 30px 0;overflow-y:auto}.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;background:var(--ielts-bg);width:100%;height:320px;color:var(--ielts-text);font-size:var(--writing-text);resize:vertical;border:1px solid #e2e2e2;padding:12px;line-height:1.45}.ielts-shell .word-count{color:var(--ielts-muted);margin-top:4px;font-size:14px}.ielts-shell .question-navigation{background:var(--ielts-bg);box-sizing:border-box;border-top:2px solid #e3e3e3;grid-template-columns:minmax(0,.75fr) minmax(0,.75fr) auto auto auto;align-items:end;gap:22px;height:80px;padding:0 32px 13px;display:grid}:is(.ielts-shell .question-navigation:has(>.part-nav:first-child:last-of-type),.ielts-shell .question-navigation:has(>.part-nav:first-child+.nav-actions)){grid-template-columns:minmax(0,1fr) auto}.ielts-shell .part-nav{gap:25px;font-size:23px}.ielts-shell .part-nav.muted{color:var(--ielts-muted);justify-content:center;gap:22px}.ielts-shell .part-switch{color:var(--ielts-text);cursor:pointer;white-space:nowrap;background:0 0;border:0;padding:0;font-size:23px;font-weight:800}.ielts-shell .part-nav.active-section .part-switch{text-decoration:underline;-webkit-text-decoration-color:var(--ielts-answered);text-decoration-color:var(--ielts-answered);text-underline-offset:10px;text-decoration-thickness:3px}.ielts-shell .part-questions{gap:8px;padding-top:12px;overflow-x:auto}.ielts-shell .part-questions button{width:33px;height:42px;color:var(--ielts-muted);cursor:pointer;background:0 0;border:0;font-size:25px;position:relative}.ielts-shell .part-questions button:before{content:"";background:#d8d8d8;width:28px;height:4px;position:absolute;top:-12px;left:2px}.ielts-shell .part-questions button.answered:before{background:var(--ielts-answered)}.ielts-shell .part-questions button.flagged:after{content:"";background:#d9a400;border-radius:999px;width:15px;height:4px;position:absolute;bottom:1px;left:9px}.ielts-shell .part-questions button.active span{border:3px solid var(--ielts-accent);width:30px;height:34px;color:var(--ielts-text);border-radius:3px;place-items:center;display:grid}.ielts-shell .nav-actions{justify-content:flex-end;align-items:center;gap:10px;display:flex}.ielts-shell .nav-actions button{min-width:92px;height:42px;font-size:18px}.ielts-shell .submit-test{color:#fff!important;background:#111!important;border-color:#111!important}.ielts-shell .system-footer{background:var(--ielts-footer);box-sizing:border-box;border-top:3px solid #6e6e6e;justify-content:space-between;align-items:center;height:96px;padding:0 19px 0 47px;display:flex}.ielts-shell .inspiration{color:#878787;font-size:31px}.ielts-shell .inspiration span{background:linear-gradient(135deg,#777 50%,#0000 51%);width:18px;height:18px;margin-right:2px;display:inline-block}.ielts-shell .system-status{gap:20px}.ielts-shell .system-status strong{letter-spacing:4px;font-family:Courier New,monospace;font-size:32px}.ielts-shell .battery{font-size:29px}.ielts-shell .system-status button{color:#111;cursor:pointer;background:#efefef;border:2px solid #cecece;min-width:58px;height:58px}.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{z-index:40;border:2px solid var(--ielts-hard-line);background:var(--ielts-bg);width:360px;padding:15px;font-size:16px;position:fixed;top:128px;right:88px;box-shadow:0 12px 30px #00000038}.ielts-shell .notes-panel>div{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.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;border:1px solid var(--ielts-line);background:var(--ielts-bg);width:100%;height:160px;color:var(--ielts-text);resize:vertical;margin-bottom:10px}.ielts-shell .modal-backdrop{z-index:55;background:#00000059;place-items:center;display:grid;position:fixed;inset:0}.ielts-shell .instructions-modal{border:2px solid var(--ielts-hard-line);background:var(--ielts-bg);width:min(620px,100vw - 40px);color:var(--ielts-text);padding:24px;font-size:18px;box-shadow:0 18px 50px #0000004d}.ielts-shell .instructions-modal>div{justify-content:space-between;align-items:center;gap:16px;display:flex}.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);cursor:pointer;font-size:22px}.ielts-shell .submit-warning{color:#7a0015;background:#fff2f2;border-left:4px solid #b00020;padding:10px 12px;font-weight:700}.ielts-shell .review-modal{border:2px solid var(--ielts-hard-line);background:var(--ielts-bg);width:min(760px,100vw - 40px);max-height:min(720px,100vh - 40px);color:var(--ielts-text);font-size:17px;overflow:auto;box-shadow:0 18px 50px #0000004d}.ielts-shell .review-modal header,.ielts-shell .review-modal footer{border-bottom:1px solid var(--ielts-line);justify-content:space-between;align-items:center;gap:14px;padding:18px 20px;display:flex}.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{color:var(--ielts-muted);margin-top:4px}.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);cursor:pointer;padding:8px 12px;font-weight:700}.ielts-shell .review-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;padding:20px;display:grid}.ielts-shell .review-grid button{border:2px solid var(--ielts-line);background:var(--ielts-bg);min-height:88px;color:var(--ielts-text);text-align:left;cursor:pointer;gap:8px;padding:12px;display:grid;position:relative}.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{color:var(--ielts-muted);font-size:14px}.ielts-shell .modal-actions{justify-content:flex-end;gap:10px;margin-top:20px;display:flex}.ielts-shell .modal-actions .danger{color:#fff;background:#b00020;border-color:#b00020}.ielts-shell .options-screen{z-index:70;background:var(--ielts-bg);color:var(--ielts-text);font-size:15px;position:fixed;inset:0}.ielts-shell .options-screen.contrast-dark,.ielts-shell .options-screen.contrast-yellow{background:#050505}.ielts-shell .options-screen header{grid-template-columns:1fr auto 1fr;align-items:center;height:48px;padding:0 10px;display:grid}.ielts-shell .options-screen h2{text-align:center;margin:0;font-size:17px;font-weight:500}.ielts-shell .options-close{color:var(--ielts-text);cursor:pointer;background:0 0;border:0;justify-self:end;font-size:22px;font-weight:700}.ielts-shell .options-list{border:1px solid var(--ielts-line);background:var(--ielts-bg);width:min(430px,100vw - 48px);margin:44px auto 0}.ielts-shell .options-list button{border:0;border-bottom:1px solid var(--ielts-line);background:var(--ielts-bg);width:100%;height:46px;color:var(--ielts-text);text-align:left;cursor:pointer;grid-template-columns:42px 1fr;align-items:center;display:grid}.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{color:#252525;background:#f5f5f5;place-items:center;min-height:100vh;padding:24px;font-family:Arial,Helvetica,sans-serif;display:grid}.ielts-check-panel{background:#fff;border:2px solid #bdbdbd;width:min(760px,100%);padding:34px;box-shadow:0 16px 48px #0000002e}.ielts-check-panel .ielts-logo{color:#d71920;letter-spacing:-3px;margin:0 0 12px;font-size:52px;font-weight:900}.ielts-check-panel h1{margin:0 0 8px;font-size:31px}.ielts-check-panel p{color:#555;margin:0 0 20px;line-height:1.5}.ielts-check-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:22px 0;display:grid}.ielts-check-item{background:#f7f7f5;border:1px solid #d8d8d8;gap:10px;padding:16px;display:grid}.ielts-check-item strong{align-items:center;gap:8px;font-size:18px;display:flex}.ielts-check-item span{color:#666;font-size:14px}.ielts-check-item button,.ielts-check-actions button{color:#111;cursor:pointer;background:#fff;border:1px solid #111;min-height:44px;padding:0 16px;font-weight:700}.ielts-check-item button.done{background:#e9f7e9;border-color:#239024}.ielts-device-meter{background:#fff;border:1px solid #bbb;height:12px;overflow:hidden}.ielts-device-meter i{height:100%;width:var(--level,0%);background:#239024;transition:width .16s linear;display:block}.ielts-device-help{color:#666;font-size:13px;margin:0!important}.ielts-check-actions{justify-content:flex-end;gap:10px;display:flex}.ielts-check-actions .primary{color:#fff;background:#111}.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{z-index:60;background:var(--ielts-bg,#fff);border:2px solid #222;gap:6px;padding:6px;display:flex;position:fixed;transform:translate(-15px,-54px);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);cursor:pointer;white-space:nowrap;padding:8px 10px;font-size:14px;font-weight:700}.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{border-left:4px solid var(--ielts-accent);background:var(--ielts-panel);margin:0 0 10px;padding:9px;font-size:14px;line-height:1.35}.ielts-shell .note-list{gap:8px;max-height:150px;margin-bottom:10px;display:grid;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 (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{letter-spacing:-2px;margin-right:30px;font-size:44px}.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{grid-template-columns:minmax(28%,50%) 42px minmax(28%,50%);height:calc(100vh - 366px);min-height:280px;padding:18px 20px 0}.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 (width<=640px){.ielts-check-grid{grid-template-columns:1fr}.ielts-check-panel{padding:24px 18px}.selection-toolbar{flex-wrap:wrap;bottom:12px;right:12px;transform:none;top:auto!important;left:12px!important}}@media (width<=900px){.ielts-shell{--passage-text:18px;--question-text:18px;--answer-text:18px;--instruction-text:18px;font-size:18px;overflow:auto}.ielts-shell .exam-header{flex-wrap:wrap;gap:14px;height:auto;min-height:86px;padding:12px 16px}.ielts-shell .brand-row{flex-wrap:wrap;gap:8px 16px;min-width:0}.ielts-shell .ielts-logo{margin-right:0;font-size:38px}.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;padding:16px 14px 0;overflow:visible}.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;padding-right:0;overflow:visible}.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;align-items:stretch;gap:12px;height:auto;padding:14px}.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{flex-wrap:wrap;gap:12px;height:auto;min-height:76px;padding:12px 14px}.ielts-shell .inspiration{font-size:18px}.ielts-shell .system-status{flex-wrap:wrap;justify-content:flex-end;gap:10px}.ielts-shell .system-status strong{letter-spacing:2px;font-size:20px}.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{width:min(360px,100vw - 28px);top:112px;right:14px}}@media (width<=520px){.ielts-shell .header-tools{justify-content:space-between;width:100%}.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{justify-content:space-between;width:100%}.ielts-shell .modal-actions{flex-direction:column}}.plain-link{color:inherit;text-decoration:none}.inline-link{color:var(--accent-strong);align-items:center;gap:7px;font-weight:800;text-decoration:none;display:inline-flex}.toolbar-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.stack-form{gap:13px;display:grid}.vocab-admin-grid{grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);align-items:start;gap:16px;display:grid}.vocab-admin-grid.wide-left{grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr)}.vocab-cue-list{gap:8px;display:grid}.vocab-cue-row{border:1px solid var(--line);border-radius:var(--radius-md);width:100%;min-height:66px;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;background:#fff;justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.vocab-cue-row:hover,.vocab-cue-row.active{border-color:var(--accent);background:var(--accent-mist);box-shadow:0 8px 20px #374a410f}.vocab-cue-row:hover{transform:translateY(-1px)}.vocab-cue-row span{gap:4px;display:grid}.vocab-cue-row small{color:var(--muted);font-weight:700}.vocab-word-list{gap:10px;margin-top:14px;display:grid}.vocab-word-list article{border:1px solid var(--line);border-radius:var(--radius-md);transition:transform var(--motion-fast) var(--ease-soft), border-color var(--motion-fast) ease, box-shadow var(--motion-fast) ease;background:#fff;gap:7px;padding:14px;display:grid;position:relative}.vocab-word-list article:hover{border-color:var(--accent-line);transform:translateY(-1px);box-shadow:0 8px 18px #374a410f}.vocab-word-list article>div{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.vocab-word-list strong{font-size:18px}.vocab-word-list small{color:var(--accent-strong);font-weight:800}.vocab-word-list p{color:#3f4d62;margin:0;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;top:14px;right:14px}.assign-panel{gap:16px;display:grid}.assign-target-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.assign-target-grid>div{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--soft);padding:13px 15px}.assign-target-grid strong{margin-bottom:8px;display:block}.assignment-log{gap:8px;margin-top:16px;display:grid}.assignment-log>div{border-radius:var(--radius-md);background:#f6f8fb;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.assignment-log span{color:var(--muted);text-align:right;font-size:13px}.deck-card{min-height:174px;transition:transform .16s,border-color .16s,box-shadow .16s}.deck-card:hover{border-color:var(--accent);box-shadow:var(--shadow-elevated);transform:translateY(-2px)}.deck-meta{color:var(--muted);justify-content:space-between;align-items:center;margin-top:10px;font-size:13px;font-weight:800;display:flex}.flashcard-review-shell{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:18px;display:grid}.flashcard-card-large{cursor:pointer;border:1px solid var(--accent-line);min-height:430px;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;background:linear-gradient(#fff 0%,#f7faf7 100%);place-items:center;display:grid}.flashcard-card-large:hover{box-shadow:var(--shadow-elevated);transform:translateY(-3px)}.flashcard-card-large.flipped{border-color:var(--accent);animation:softPop var(--motion-med) var(--ease-out) both;background:#fff}.flashcard-face{text-align:center;align-content:center;place-items:center;gap:16px;min-height:320px;padding:24px;display:grid}.flashcard-face span{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:13px;font-weight:900}.flashcard-face strong{letter-spacing:0;font-size:clamp(38px,7vw,74px);line-height:1.05}.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;color:var(--muted);margin:0;font-size:20px;line-height:1.5}.review-side-panel{gap:12px;display:grid}.review-grade-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.srs-facts{gap:10px;display:grid}.srs-facts div{border-bottom:1px solid #eef2f8;justify-content:space-between;align-items:center;gap:10px;padding:10px 0;display:flex}.srs-facts span{color:var(--muted)}.center-text{text-align:center}@media (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 (width<=560px){.assignment-log>div,.vocab-word-list article>div{flex-direction:column;align-items:flex-start}.deck-word-list article{padding-right:14px}.deck-word-list .badge{width:max-content;position:static}.flashcard-face strong{font-size:36px}}.import-flow-grid{grid-template-columns:minmax(320px,.8fr) minmax(0,1.2fr);align-items:start;gap:16px;display:grid}.import-review-grid{grid-template-columns:minmax(320px,.85fr) minmax(0,1.15fr);align-items:start;gap:16px;display:grid}.import-job-list{gap:8px;display:grid}.import-job-row{border:1px solid var(--line);border-radius:var(--radius-md);min-height:68px;color:inherit;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;background:#fff;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;padding:12px;text-decoration:none;display:grid}.import-job-row:hover,.import-job-row.active{border-color:var(--accent);background:var(--accent-mist);box-shadow:0 8px 20px #374a410f}.import-job-row:hover{transform:translateY(-1px)}.import-job-row div{gap:3px;min-width:0;display:grid}.import-job-row small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.import-pipeline{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:16px;display:grid}.import-pipeline>div{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;gap:6px;padding:13px;display:grid;position:relative;overflow:hidden}.import-pipeline>div:hover{border-color:var(--accent-line);transform:translateY(-1px);box-shadow:0 8px 18px #374a410f}.import-pipeline>div.done{border-color:var(--accent-line);background:var(--accent-soft)}.import-pipeline>div.done:before{content:"";animation:shimmerSweep 1.2s var(--ease-out) 1;pointer-events:none;background:linear-gradient(110deg,#0000 18%,#ffffff57 50%,#0000 82%);position:absolute;inset:0;transform:translate(-110%)}.import-pipeline.is-processing>div:nth-child(2){border-color:var(--accent);background:#fff}.import-pipeline.is-processing>div:nth-child(2):after{content:"";background:linear-gradient(90deg, transparent, var(--accent), transparent);height:3px;animation:processingGlow 1s var(--ease-soft) infinite;border-radius:999px 999px 0 0;position:absolute;bottom:0;left:12px;right:12px}.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{gap:4px;margin-bottom:10px;display:grid}.parsed-exam-summary span{color:var(--muted)}.json-editor{box-sizing:border-box;border:1px solid var(--line);border-radius:var(--radius-md);color:#d8e7ff;resize:vertical;background:#0d1320;width:100%;min-height:380px;padding:14px;font:12px/1.55 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.parsed-section-list{gap:14px;display:grid}.parsed-section-list article{border:1px solid var(--line);border-radius:var(--radius-md);transition:transform var(--motion-fast) var(--ease-soft), border-color var(--motion-fast) ease, box-shadow var(--motion-fast) ease;background:#fff;padding:16px}.parsed-section-list article:hover{border-color:var(--accent-line);transform:translateY(-1px);box-shadow:0 8px 18px #374a410f}.parsed-section-list blockquote{border-left:4px solid var(--accent);background:var(--accent-mist);color:#40506a;margin:12px 0 0;padding:12px 14px;line-height:1.5}.parsed-question-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px;margin-top:14px;display:grid}.parsed-question-grid>div{border-radius:var(--radius-md);transition:transform var(--motion-fast) var(--ease-soft), border-color var(--motion-fast) ease, background var(--motion-fast) ease;background:#fbfdff;border:1px solid #e8eef7;gap:7px;padding:12px;display:grid}.parsed-question-grid>div:hover{border-color:var(--accent-line);background:#fff;transform:translateY(-1px)}.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{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.ielts-type-matrix>div{border:1px solid var(--line);border-radius:var(--radius-md);background:#fbfdff;flex-wrap:wrap;gap:8px;padding:14px;display:flex}.ielts-type-matrix strong{width:100%;margin-bottom:2px}.ielts-type-matrix span{background:var(--accent-soft);color:var(--accent-strong);border-radius:999px;padding:6px 9px;font-size:12px;font-weight:800}.ielts-type-matrix .new-type{color:#93610a;background:#fff7db}@media (width<=980px){.import-flow-grid,.import-review-grid,.ielts-type-matrix,.import-pipeline{grid-template-columns:1fr}}.error-boundary-screen{min-height:100vh;color:var(--ink);background:#f5f7fb;place-items:center;padding:24px;display:grid}.error-boundary-screen section{border:1px solid var(--line);border-radius:var(--radius-lg);width:min(460px,100%);box-shadow:var(--shadow-card);background:#fff;justify-items:start;gap:14px;padding:24px;display:grid}.error-boundary-screen h1{letter-spacing:0;margin:0;font-size:24px}.error-boundary-screen p{color:var(--muted);margin:0;line-height:1.5}.error-boundary-screen svg{color:#d97706}.release-checklist{gap:10px;display:grid}.release-checklist>div{border-bottom:1px solid #eef2f8;grid-template-columns:auto minmax(140px,.5fr) minmax(0,1fr);align-items:center;gap:10px;padding:12px 0;display:grid}.release-checklist>div:last-child{border-bottom:0}.release-checklist svg{color:var(--green)}.release-checklist span{color:var(--muted)}@media (width<=640px){.release-checklist>div{grid-template-columns:auto 1fr;align-items:start}.release-checklist span{grid-column:2}}
