@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/fef07dbb0973bf53-s.518e079e.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.ea323500.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/53b9e256198e5412-s.853d50a3.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.55554cd0.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.3b6cae6d.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.geist_6b038de7-module__oIoycW__className{font-family:Geist,Geist Fallback;font-style:normal}.geist_6b038de7-module__oIoycW__variable{--font-geist-sans:"Geist","Geist Fallback"}
@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/20aee433927f7d4b-s.d09ad0c1.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/256e1f7f180674ba-s.d38d32f8.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/be3bf58b83159894-s.22617796.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/753b6407f468151f-s.112d4e47.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/292081311a6a8abc-s.bac1e63b.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/68d403cf9f2c68c5-s.p.fe21a1cd.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Serif 4 Fallback";src:local(Times New Roman);ascent-override:87.87%;descent-override:28.41%;line-gap-override:0.0%;size-adjust:117.91%}.source_serif_4_14dc29bd-module__eXPxrW__className{font-family:"Source Serif 4","Source Serif 4 Fallback";font-style:normal}.source_serif_4_14dc29bd-module__eXPxrW__variable{--font-source-serif:"Source Serif 4","Source Serif 4 Fallback"}
.sp-theme{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--background:#f7f4ec;--foreground:#27221a;--card:#fffdf7;--card-foreground:#27221a;--popover:#fffdf7;--popover-foreground:#27221a;--primary:#b23a2e;--primary-foreground:#fffdf7;--secondary:#ece5d6;--secondary-foreground:#27221a;--muted:#6f675a;--muted-bg:#efe9db;--muted-foreground:#6f675a;--accent:#e9f0f9;--accent-foreground:#1e4f9c;--destructive:#b23a2e;--destructive-foreground:#fffdf7;--border:#ddd4c2;--input:#c8bda6;--ring:#b23a2e;--success-fg:#2f4a28;--success-bg:#e7efe4;--success-border:#7a9a6e;--warning-fg:#7a5a0a;--warning-bg:#fdf3dc;--warning-border:#c89617;--danger-fg:#7c2d24;--danger-bg:#f8e7e4;--mark-bg:#f5e6ad;--mark-underline:#b07c0a59;--focus-bg:#fdf6ee;--selection-bg:#f3d9cf;--skill-listening:#1e4f9c;--skill-listening-soft:#e9f0f9;--skill-reading:#2f6a4a;--skill-reading-soft:#e7efe4;--skill-writing:#7c580c;--skill-writing-soft:#fdf3dc;--skill-speaking:#6b4fa1;--skill-speaking-soft:#efe9f6;--radius-sm:6px;--radius-md:8px;--radius:10px;--radius-lg:12px;--radius-full:999px;--shadow-sm:0 1px 3px #3c321e14;--shadow-md:0 4px 12px #3c321e40;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;background:var(--background);min-height:100vh;color:var(--foreground);font-family:var(--font-geist-sans),system-ui,sans-serif}.sp-theme[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--background:#191511;--foreground:#eae2d3;--card:#201c16;--card-foreground:#eae2d3;--popover:#201c16;--popover-foreground:#eae2d3;--primary:#e0604f;--primary-foreground:#2b0f0a;--secondary:#2a251d;--secondary-foreground:#eae2d3;--muted:#a79e8c;--muted-bg:#2a251d;--muted-foreground:#a79e8c;--accent:#1f2b3c;--accent-foreground:#9cc0ee;--destructive:#e0604f;--destructive-foreground:#2b0f0a;--border:#373127;--input:#544838;--ring:#e0604f;--success-fg:#b3d2a0;--success-bg:#22301e;--success-border:#5b7e4e;--warning-fg:#eac66b;--warning-bg:#362c13;--warning-border:#997a2b;--danger-fg:#f1afa4;--danger-bg:#39201b;--mark-bg:#5a4b1d;--mark-underline:#eac66b66;--focus-bg:#2a251d;--selection-bg:#5c2d23;--skill-listening:#8fb5e8;--skill-listening-soft:#1f2b3c;--skill-reading:#85c79b;--skill-reading-soft:#22301e;--skill-writing:#e3bd63;--skill-writing-soft:#362c13;--skill-speaking:#b9a3e8;--skill-speaking-soft:#312946;--shadow-sm:0 1px 3px #00000073;--shadow-md:0 4px 12px #0000008c}.sp-theme ::selection{background:var(--selection-bg)}.exam-paper{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.exam-serif{font-family:var(--font-source-serif),ui-serif,Georgia,serif}.exam-input{border:none;border-bottom:1px solid var(--input);width:100%;font-family:var(--font-source-serif),ui-serif,Georgia,serif;color:var(--foreground);background:0 0;border-radius:0;outline:none;padding:2px 6px;font-size:1rem;line-height:1.6}.exam-input:focus{border-bottom:2px solid var(--primary);background:var(--focus-bg)}.exam-blank{align-items:baseline;min-width:72px;display:inline-flex}.exam-input::placeholder{color:var(--muted-foreground);opacity:1}.match-bank{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.match-chip{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--secondary);min-width:36px;height:36px;color:var(--secondary-foreground);cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;align-items:center;gap:6px;padding:0 10px;font-size:.875rem;font-weight:600;display:inline-flex}.match-chip:hover{border-color:var(--primary)}.match-chip[data-armed=true]{background:var(--primary);border-color:var(--primary);color:var(--primary-foreground)}.match-chip[data-dragging=true]{z-index:40;cursor:grabbing;box-shadow:var(--shadow-md);position:relative}.match-hint{min-height:1.1rem;color:var(--muted-foreground);flex-basis:100%;font-size:.75rem}.match-items{flex-direction:column;gap:10px;margin-top:14px;display:flex}.match-item{align-items:center;gap:10px;display:flex}.match-item-num{min-width:22px;font-weight:700}.match-item-text{flex:auto;min-width:0}.match-slot{text-align:center;width:48px;height:36px;color:var(--foreground);border:1.5px dashed var(--input);border-radius:var(--radius-md);background:0 0;flex:none;font-size:1rem;font-weight:700}.match-slot:focus{border-style:solid;border-color:var(--primary);background:var(--focus-bg);outline:none}.match-slot[data-filled=true]{background:var(--accent);border-style:solid}.match-board[data-drag-live=true] .match-slot{border-color:var(--primary)}.match-slot[data-droptarget=true]{border-style:solid;border-color:var(--primary);background:var(--focus-bg)}.match-chip[data-used=true]{opacity:.45;text-decoration:line-through}.flow-steps{flex-direction:column;margin-top:14px;display:flex}.flow-arrow{color:var(--muted-foreground);text-align:center;-webkit-user-select:none;user-select:none;padding:2px 0;font-size:1.1rem;line-height:1.5;display:block}.flow-box{border:1.5px solid var(--border);border-radius:var(--radius-md);background:var(--card);padding:10px 14px}.match-board[data-drag-live=true] .diagram-marker{border-color:var(--primary)}.diagram-marker[data-droptarget=true]{background:var(--focus-bg);box-shadow:0 0 0 3px var(--focus-bg)}.flag-btn{border-radius:var(--radius-sm);width:22px;height:22px;color:var(--muted-foreground);vertical-align:-4px;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;margin-left:6px;transition:color .12s,background-color .12s;display:inline-flex}.flag-btn:hover:not(:disabled){background:var(--secondary);color:var(--foreground)}.flag-btn[data-flagged=true]{color:var(--warning-fg);background:var(--warning-bg);border-color:var(--warning-border)}.flag-btn:disabled{opacity:.4;cursor:not-allowed}.exam-topbar-time{font-family:var(--font-geist-mono),ui-monospace,monospace;color:var(--foreground);font-size:.875rem;font-weight:600}.exam-topbar-timer[data-urgent] .exam-topbar-time{color:var(--primary)}.exam-topbar-timer[data-flash] .exam-topbar-time{animation:.5s linear 6 exam-timer-flash}@keyframes exam-timer-flash{0%,44%{opacity:1}50%,94%{opacity:.1}to{opacity:1}}@media (prefers-reduced-motion:reduce){.exam-topbar-timer[data-flash] .exam-topbar-time{color:var(--primary);animation:none}}.exam-topbar-elapsed{letter-spacing:.04em;color:var(--muted-foreground);margin-left:6px;font-size:.6875rem;font-weight:600}.exam-topbar-paused{letter-spacing:.06em;text-transform:uppercase;color:var(--muted-foreground);margin-right:6px;font-size:.6875rem;font-weight:700}.exam-topbar-timer[data-paused] .exam-topbar-time{opacity:.65}.exam-dialog{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--card);color:var(--foreground);box-shadow:var(--shadow-sm);width:calc(100vw - 2rem);max-width:26rem;margin:auto;padding:20px 24px}.exam-dialog::backdrop{background:#00000080}.exam-hide-overlay{background:var(--background);border:0;justify-content:center;align-items:center;width:100%;max-width:none;height:100%;max-height:none;padding:0;display:flex}.exam-hide-overlay:not([open]){display:none}.bottom-part{flex-wrap:wrap;align-items:center;gap:6px 10px;padding:2px 0;display:flex}.bottom-part-label{border-radius:var(--radius-sm);letter-spacing:.02em;color:var(--muted-foreground);align-items:baseline;gap:5px;margin-left:-6px;padding:2px 6px;font-size:.75rem;font-weight:700;transition:color .12s,background-color .12s;display:inline-flex}.bottom-part-label:hover:not(:disabled):not([aria-current=true]){background:var(--secondary);color:var(--foreground)}.bottom-part-label[aria-current=true]{color:var(--foreground)}.bottom-part-label:disabled{opacity:.5;cursor:not-allowed}.bottom-part-count{font-variant-numeric:tabular-nums;font-weight:400}.bottom-chips{flex-wrap:wrap;gap:5px;display:flex}.bottom-chip{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--card);font-variant-numeric:tabular-nums;min-width:30px;height:30px;color:var(--foreground);justify-content:center;align-items:center;padding:0 4px;font-size:.78rem;transition:border-color .12s,background-color .12s;display:inline-flex}.bottom-chip:hover:not(:disabled){border-color:var(--input);background:var(--secondary)}.bottom-chip:disabled{opacity:.5;cursor:not-allowed}.bottom-chip[data-answered]{box-shadow:inset 0 -2px 0 var(--success-border);font-weight:600}.bottom-chip[data-flagged]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-fg);border-radius:9999px}.bottom-chip[data-current]{outline:2px solid var(--primary);outline-offset:2px}.bottom-controls{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:10px;margin-top:8px;padding-top:8px;display:flex}.bottom-arrow{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--card);width:32px;height:32px;color:var(--foreground);justify-content:center;align-items:center;transition:border-color .12s,background-color .12s;display:inline-flex}.bottom-arrow:hover:not(:disabled){border-color:var(--input);background:var(--secondary)}.bottom-arrow:disabled{opacity:.4;cursor:not-allowed}.bottom-review{color:var(--foreground);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:7px;font-size:.8rem;font-weight:600;display:inline-flex}.bottom-review:has(input:disabled){opacity:.5;cursor:not-allowed}.bottom-review input{accent-color:var(--primary);width:15px;height:15px}.split-side{min-width:0;min-height:0;overflow-y:auto}.split-side-left{flex:0 0 var(--split-pct,50%)}.split-side-right{flex:1 1 0}@media (max-width:767.98px){.split-side-left{flex:1}.split-side[data-inactive]{display:none}}.split-divider{cursor:col-resize;touch-action:none;-webkit-user-select:none;user-select:none;flex:none;width:14px;margin:0 1px;position:relative}.split-divider:before{content:"";background:var(--border);width:2px;transition:background-color .12s;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.split-divider:after{content:"";border-radius:var(--radius-full);background:var(--input);width:4px;height:32px;transition:background-color .12s,height .12s}.split-divider:hover:after,.split-divider:focus-visible:after{background:var(--primary)}.split-divider:focus-visible{outline:2px solid var(--primary);outline-offset:-2px;border-radius:var(--radius-sm)}.split-divider[data-dragging]:before{background:var(--primary)}.split-divider[data-dragging]:after{background:var(--primary);height:48px}.split-toggle{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--card);align-self:center;margin-bottom:10px;display:inline-flex;overflow:hidden}@media (min-width:768px){.split-toggle{display:none}}.split-toggle button{color:var(--muted-foreground);border-right:1px solid var(--border);padding:6px 18px;font-size:.8rem;font-weight:600}.split-toggle button:last-child{border-right:none}.split-toggle button[aria-pressed=true]{background:var(--primary);color:var(--primary-foreground)}[data-text-size=large]{--exam-text-scale:1.15}[data-text-size=xlarge]{--exam-text-scale:1.35}.exam-content{zoom:var(--exam-text-scale,1)}[data-passage-font=sans] .exam-content .exam-serif,[data-passage-font=sans] .exam-content .exam-input{font-family:var(--font-geist-sans),system-ui,sans-serif}[data-contrast=white-black]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--background:#000;--foreground:#fff;--card:#000;--card-foreground:#fff;--popover:#000;--popover-foreground:#fff;--primary:#fff;--primary-foreground:#000;--secondary:#262626;--secondary-foreground:#fff;--muted:#fff;--muted-bg:#262626;--muted-foreground:#fff;--accent:#262626;--accent-foreground:#fff;--destructive:#fff;--destructive-foreground:#000;--border:#fff;--input:#fff;--ring:#fff;--success-fg:#fff;--success-bg:#262626;--success-border:#fff;--warning-fg:#fff;--warning-bg:#262626;--warning-border:#fff;--danger-fg:#fff;--danger-bg:#262626;--mark-bg:#fff;--mark-underline:transparent;--focus-bg:#262626;--selection-bg:#fff}[data-contrast=yellow-black]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--background:#000;--foreground:#ff0;--card:#000;--card-foreground:#ff0;--popover:#000;--popover-foreground:#ff0;--primary:#ff0;--primary-foreground:#000;--secondary:#262626;--secondary-foreground:#ff0;--muted:#ff0;--muted-bg:#262626;--muted-foreground:#ff0;--accent:#262626;--accent-foreground:#ff0;--destructive:#ff0;--destructive-foreground:#000;--border:#ff0;--input:#ff0;--ring:#ff0;--success-fg:#ff0;--success-bg:#262626;--success-border:#ff0;--warning-fg:#ff0;--warning-bg:#262626;--warning-border:#ff0;--danger-fg:#ff0;--danger-bg:#262626;--mark-bg:#ff0;--mark-underline:transparent;--focus-bg:#262626;--selection-bg:#ff0}[data-contrast=white-black] ::selection{color:#000;background:#fff}[data-contrast=yellow-black] ::selection{color:#000;background:#ff0}.passage-view .passage-para{gap:10px;margin-top:1rem;display:flex}.passage-view .passage-letter{border:1px solid var(--border);border-radius:var(--radius-full);width:20px;height:20px;color:var(--muted-foreground);flex:none;justify-content:center;align-items:center;margin-top:5px;font-size:.65rem;font-weight:700;display:inline-flex}.passage-view p{margin:0}.hl-area{position:relative}.hl-overlay{pointer-events:none;z-index:1;position:absolute;inset:0}.hl-rect{background:color-mix(in srgb,var(--mark-bg)60%,transparent);border-radius:2px;position:absolute}.hl-rect[data-noted]{box-shadow:inset 0 -2px 0 var(--mark-underline)}[data-contrast=white-black] .hl-rect{background:0 0;box-shadow:inset 0 -3px #fff}[data-contrast=yellow-black] .hl-rect{background:0 0;box-shadow:inset 0 -3px #ff0}[data-contrast=white-black] .hl-rect[data-noted]{box-shadow:inset 0 -3px #fff,inset 0 0 0 1px #fff}[data-contrast=yellow-black] .hl-rect[data-noted]{box-shadow:inset 0 -3px #ff0,inset 0 0 0 1px #ff0}.part-tabs{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--card);display:inline-flex;overflow:hidden}.part-tabs button{color:var(--muted-foreground);border-right:1px solid var(--border);padding:6px 14px;font-size:.8rem;font-weight:600}.part-tabs button:last-child{border-right:none}.part-tabs button[aria-selected=true]{background:var(--primary);color:var(--primary-foreground)}.filter-chip{border-radius:var(--radius-full);border:1px solid var(--border);background:var(--card);color:var(--muted-foreground);padding:3px 10px;font-size:.72rem;font-weight:600}.filter-chip:hover{border-color:var(--input);color:var(--foreground)}.filter-chip[data-active]{background:var(--skill-soft,var(--accent));border-color:var(--skill,var(--accent-foreground));color:var(--skill,var(--accent-foreground))}.filter-chip-clear{color:var(--primary);text-underline-offset:2px;background:0 0;border:none;padding:3px 6px;font-size:.72rem;font-weight:700;text-decoration:underline}.chevron{color:var(--muted-foreground);transition:transform .15s}.chevron[data-open]{transform:rotate(180deg)}.skill-rule{border-left:4px solid var(--skill,var(--primary))}.brand-rule{border-top:4px solid var(--primary)}.exam-essay{resize:vertical;min-height:420px;color:var(--foreground);background:0 0;border:none;outline:none;padding:18px 20px;font-size:1.02rem;line-height:1.9}.exam-essay:focus{background:var(--focus-bg)}.word-count-ok{color:var(--success-fg)}.word-count-low{color:var(--warning-fg);font-weight:600}.rec-dot{border-radius:var(--radius-full);background:var(--primary);width:12px;height:12px;animation:1.2s ease-in-out infinite rec-pulse;display:inline-block}@keyframes rec-pulse{0%,to{opacity:1}50%{opacity:.25}}.cue-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);border-left:4px solid var(--primary);padding:16px 20px}.exam-banner{border-radius:var(--radius-md);border:1px solid var(--primary);background:var(--danger-bg);color:var(--danger-fg);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:10px 14px;font-size:.875rem;font-weight:600;display:flex}.map-wrap{-webkit-user-select:none;user-select:none;width:100%;position:relative}.map-wrap svg{width:100%;height:auto;display:block}.map-marker{border-radius:var(--radius-full);background:var(--card);border:1.5px solid var(--primary);min-width:26px;height:26px;color:var(--primary);justify-content:center;align-items:center;padding:0 4px;font-size:.72rem;font-weight:700;display:inline-flex;position:absolute;transform:translate(-50%,-50%)}.map-marker[data-done=true]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-fg)}.review-row{border-bottom:1px solid var(--border);align-items:flex-start;gap:12px;padding:10px 12px;display:flex}.review-row:last-child{border-bottom:none}.review-verdict{border-radius:var(--radius-full);flex:none;justify-content:center;align-items:center;width:22px;height:22px;margin-top:2px;font-size:.75rem;font-weight:700;display:inline-flex}.review-verdict[data-verdict=correct]{background:var(--success-bg);color:var(--success-fg)}.review-verdict[data-verdict=wrong]{background:var(--danger-bg);color:var(--danger-fg)}.review-verdict[data-verdict=blank]{background:var(--muted-bg);color:var(--muted-foreground)}
