:root{--eh-font-heading:var(--font-lexend,"Lexend"), var(--font-be-vietnam,"Be Vietnam Pro"), system-ui, sans-serif;--eh-font-body:var(--font-be-vietnam,"Be Vietnam Pro"), system-ui, sans-serif;--eh-blue-50:#e6f1f6;--eh-blue-100:#a8d1e6;--eh-blue-300:#209fdf;--eh-blue-500:#0077b2;--eh-blue-600:#069;--eh-blue-700:#00557f;--eh-blue-900:#003d5c;--eh-primary:#00557f;--eh-primary-hover:#003d5c;--eh-on-primary:#fff;--eh-accent:#ffce5c;--eh-on-accent:#0a2231;--eh-ink:#0a2231;--eh-ink-muted:#5b6b75;--eh-canvas:#fff;--eh-surface:#fff;--eh-surface-soft:#e6f1f6;--eh-hairline:#d8e3e9;--eh-border-input:#7d8f99;--eh-gray-detail:#989898;--eh-link:#00557f;--eh-surface-hover:#f5f8fa;--eh-focus:#00557f;--eh-success:#2a7d4f;--eh-success-soft:#eef7f1;--eh-warning:#5c4a0e;--eh-warning-soft:#fcebc0;--eh-error:#b3402f;--eh-error-soft:#f6e1db;--eh-info:#069;--eh-placeholder-note:#fff4d6;--eh-ai:#6b3fd4;--eh-ai-soft:#f1ecfc;--eh-level-solid:#00557f;--eh-on-level-solid:#fff;--eh-level-reinforce:#a8d1e6;--eh-on-level-reinforce:#00557f;--eh-level-rebuild:#f6e1db;--eh-on-level-rebuild:#a3391b;--eh-level-insufficient:#ededed;--eh-on-level-insufficient:#6b6b6b;--eh-canvas-dark:#0f3347;--eh-hero-dark:#00557f;--eh-footer-dark:#082433;--eh-surface-dark:#164560;--eh-ink-dark:#e6f1f6;--eh-ink-muted-dark:#a9c2d0;--eh-hairline-dark:#3a6a85;--eh-border-input-dark:#7fa3b8;--eh-primary-dark:#209fdf;--eh-on-primary-dark:#0a2231;--eh-link-dark:#a8d1e6;--eh-focus-dark:#a8d1e6;--eh-success-dark:#7fd3a4;--eh-warning-dark:#f1d27a;--eh-error-dark:#f4a493;--eh-ai-dark:#c4b2f5;--eh-primary-dark-hover:#a8d1e6;--eh-surface-hover-dark:#1b5070;--eh-ink-light:#0a2231;--eh-success-light:#2a7d4f;--eh-warning-light:#5c4a0e;--eh-error-light:#b3402f;--eh-action:var(--eh-primary);--eh-on-action:var(--eh-on-primary);--eh-action-hover:var(--eh-primary-hover);--eh-display-size:36px;--eh-display-weight:600;--eh-display-lh:1.15;--eh-headline-size:26px;--eh-headline-weight:600;--eh-headline-lh:1.25;--eh-title-size:19px;--eh-title-weight:600;--eh-title-lh:1.3;--eh-body-size:16px;--eh-body-weight:400;--eh-body-lh:1.6;--eh-body-strong-size:16px;--eh-body-strong-weight:600;--eh-body-strong-lh:1.6;--eh-body-sm-size:14px;--eh-body-sm-weight:400;--eh-body-sm-lh:1.5;--eh-label-size:12px;--eh-label-weight:600;--eh-label-lh:1.4;--eh-label-ls:.05em;--eh-button-size:14px;--eh-button-weight:600;--eh-button-lh:1;--eh-button-lg-size:16px;--eh-button-lg-weight:600;--eh-button-lg-lh:1;--eh-field-label-size:14px;--eh-field-label-weight:600;--eh-field-label-lh:1.4;--eh-number-size:16px;--eh-number-weight:400;--eh-number-lh:1.5;--eh-input-size:16px;--eh-display-size-tablet:32px;--eh-display-size-mobile:28px;--eh-headline-size-mobile:21px;--eh-title-size-mobile:17px;--eh-body-size-mobile:14px;--eh-body-sm-size-mobile:12px;--eh-label-size-mobile:11px;--eh-input-size-mobile:14px;--eh-space-xxs:4px;--eh-space-xs:8px;--eh-space-sm:12px;--eh-space-base:16px;--eh-space-lg:24px;--eh-space-xl:32px;--eh-space-xxl:48px;--eh-space-section:64px;--eh-space-section-lg:96px;--eh-space-gutter:24px;--eh-container-max:1280px;--eh-space-card:24px;--eh-page-margin-mobile:16px;--eh-section-mobile:40px;--eh-touch-target:44px;--eh-radius-xs:4px;--eh-radius-sm:8px;--eh-radius-md:12px;--eh-radius-lg:16px;--eh-radius-xl:24px;--eh-radius-full:9999px;--eh-shadow-2:0 4px 12px #0a223114;--eh-shadow-3:0 16px 48px -8px #0a22312e;--eh-overlay:#0a223180;--eh-motion-fast:.15s;--eh-motion-base:.25s;--eh-motion-slow:.4s}[data-theme=dark]{--eh-canvas:#0f3347;--eh-surface:#164560;--eh-surface-soft:#164560;--eh-surface-hover:#1b5070;--eh-ink:#e6f1f6;--eh-ink-muted:#a9c2d0;--eh-hairline:#3a6a85;--eh-border-input:#7fa3b8;--eh-link:#a8d1e6;--eh-focus:#a8d1e6;--eh-success:#7fd3a4;--eh-warning:#f1d27a;--eh-error:#f4a493;--eh-ai:#c4b2f5;--eh-action:#209fdf;--eh-on-action:#0a2231;--eh-action-hover:#a8d1e6}:root{--eh-fs-display:var(--eh-display-size);--eh-fs-headline:var(--eh-headline-size);--eh-fs-title:var(--eh-title-size);--eh-fs-body:var(--eh-body-size);--eh-fs-body-sm:var(--eh-body-sm-size);--eh-fs-label:var(--eh-label-size);--eh-fs-input:var(--eh-input-size)}@media (min-width:768px) and (max-width:1023px){:root{--eh-fs-display:var(--eh-display-size-tablet)}}@media (max-width:767px){:root{--eh-fs-display:var(--eh-display-size-mobile);--eh-fs-headline:var(--eh-headline-size-mobile);--eh-fs-title:var(--eh-title-size-mobile);--eh-fs-body:var(--eh-body-size-mobile);--eh-fs-body-sm:var(--eh-body-sm-size-mobile);--eh-fs-label:var(--eh-label-size-mobile);--eh-fs-input:var(--eh-input-size-mobile)}}*,:before,:after{box-sizing:border-box}body{background:var(--eh-canvas);color:var(--eh-ink);font-family:var(--eh-font-body);font-size:var(--eh-fs-body);line-height:var(--eh-body-lh);-webkit-font-smoothing:antialiased;margin:0}h1,h2,h3,h4,h5,h6{font-family:var(--eh-font-heading);color:var(--eh-ink);margin:0;font-weight:600}p{margin:0}h1,h2,h3,h4,p,li,td,th,label,figcaption{text-wrap:pretty}a{color:var(--eh-link);text-underline-offset:2px}:focus-visible{outline:2px solid var(--eh-focus);outline-offset:2px}[data-theme=dark]{background:var(--eh-canvas);color:var(--eh-ink)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}:root{--bg:transparent;--bg-solid:#0f2560;--on-bg:#fff;--on-bg-muted:#c8d6ff;--card:#fff;--card-ink:var(--eh-ink);--card-muted:var(--eh-ink-muted);--primary:#2f6fed;--primary-hover:#1f56c7;--primary-shadow:#1640a0;--accent:#ffce5c;--accent-ink:#3a2a00;--line:#dde6f3;--soft:#eef4ff;--ok:#2a9d5c;--warn:#e0a100;--danger:#d64545;--radius:16px;--radius-sm:10px;--btn-h:52px;--fs:17px;--shadow:0 10px 30px #050f3240}html[data-mode=light]{--bg:transparent;--bg-solid:#e6f1f6;--on-bg:var(--eh-ink);--on-bg-muted:var(--eh-ink-muted);--primary:#00557f;--primary-hover:#003d5c;--primary-shadow:#002a40;--soft:#e6f1f6;--line:#d8e3e9;--shadow:0 8px 24px #0a22311a}[data-tuoi=nho]{--radius:24px;--radius-sm:16px;--btn-h:60px;--fs:19px}*{box-sizing:border-box}html,body{min-height:100%;margin:0}html{scrollbar-gutter:stable;overflow-y:scroll}body{font-family:var(--eh-font-body);font-size:var(--fs);color:var(--on-bg);background:var(--bg-solid);line-height:1.5}img{max-width:100%;display:block}button{font:inherit}h1,h2,h3{font-family:var(--eh-font-heading);margin:0;line-height:1.2}.page{background:var(--bg);isolation:isolate;min-height:100vh;font-size:var(--fs);position:relative;overflow:hidden}.page__inner{z-index:1;max-width:1120px;margin:0 auto;padding:24px 24px 96px;position:relative}.theme-bg{z-index:0;pointer-events:none;background-image:linear-gradient(#080e2859, #080e28b3), var(--theme-image);background-position:50%;background-size:cover;position:fixed;inset:0}html[data-mode=light] .theme-bg{background-image:linear-gradient(#ffffff59, #ffffffc7), var(--theme-image)}.theme-bg.is-calm{filter:blur(6px)saturate(.8);background-image:linear-gradient(#080e28b8, #080e28db), var(--theme-image);transform:scale(1.04)}html[data-mode=light] .theme-bg.is-calm{background-image:linear-gradient(#f0f6fad1, #f0f6faeb), var(--theme-image)}.topbar{align-items:center;gap:16px;margin-bottom:24px;display:flex}.brand{font:700 20px var(--eh-font-heading);color:var(--on-bg);align-items:center;gap:10px;text-decoration:none;display:flex}.brand__mark{background:var(--accent);width:40px;height:40px;color:var(--accent-ink);border-radius:12px;place-items:center;font-size:20px;display:grid}.topbar__spacer{flex:1}.user-pill{color:var(--on-bg);background:#ffffff24;border:1px solid #ffffff40;border-radius:999px;align-items:center;gap:10px;padding:6px 8px 6px 6px;display:flex}html[data-mode=light] .user-pill{border-color:var(--line);background:#fff}.user-pill__avatar{background:var(--accent);width:36px;height:36px;color:var(--accent-ink);border-radius:50%;place-items:center;font-weight:700;display:grid}.card{background:var(--card);color:var(--card-ink);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px}.muted{color:var(--card-muted)}.btn{min-height:var(--btn-h);font:700 calc(var(--fs) - 1px) var(--eh-font-heading);cursor:pointer;border:0;border-radius:999px;justify-content:center;align-items:center;gap:10px;padding:0 24px;text-decoration:none;transition:transform 80ms,background .15s;display:inline-flex}.btn:active{transform:translateY(2px)}.btn:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.btn--primary{background:var(--primary);color:#fff;box-shadow:0 4px 0 var(--primary-shadow)}.btn--primary:hover{background:var(--primary-hover)}.btn--accent{background:var(--accent);color:var(--accent-ink);box-shadow:0 4px #c99a1e}.btn--ghost{color:var(--primary);border:2px solid var(--line);background:0 0}.btn--ghost:hover{background:var(--soft)}.btn--block{width:100%}.btn:disabled{opacity:.5;cursor:default;transform:none}.btn svg{width:22px;height:22px}.chip{font:600 14px var(--eh-font-heading);border-radius:999px;align-items:center;gap:6px;padding:4px 12px;display:inline-flex}.chip--tag{background:var(--soft);color:var(--primary)}.login{grid-template-columns:1.1fr 1fr;align-items:center;gap:32px;min-height:calc(100vh - 140px);display:grid}.login__hello h1{color:var(--on-bg);font-size:46px}.login__hello p{color:var(--on-bg-muted);white-space:nowrap;max-width:none;font-size:19px}.login__mascot{align-items:flex-end;gap:16px;margin-top:24px;display:flex}.bubble{color:var(--eh-ink);box-shadow:var(--shadow);background:#fff;border-radius:18px;flex:none;width:260px;padding:10px 16px;font-size:15px;font-weight:600;position:relative}.bubble:after{content:"";border:10px solid #0000;border-left:0;border-right-color:#fff;position:absolute;bottom:22px;left:-10px}.login__form{flex-direction:column;gap:18px;display:flex}.login__form h2{font-size:28px}.steps{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.step{border-radius:var(--radius-sm);background:var(--soft);color:var(--card-ink);white-space:nowrap;flex-direction:row;justify-content:center;align-items:center;gap:6px;padding:8px 6px;font-size:14px;display:flex}.step b{font-size:14px}.step__icon{width:30px;height:30px;color:var(--primary);background:#fff;border-radius:50%;flex:none;place-items:center;display:grid}.step__icon svg{width:16px;height:16px}.step b{font-family:var(--eh-font-heading)}.field{flex-direction:column;gap:6px;display:flex}.field__label{font:600 16px var(--eh-font-heading);color:var(--card-ink)}.input{border-radius:var(--radius-sm);border:2px solid var(--line);min-height:60px;font:600 22px var(--eh-font-body);color:var(--card-ink);letter-spacing:.02em;background:#fff;padding:0 18px}.input:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 4px #2f6fed26}.input.is-error{border-color:var(--danger)}.field__error{color:var(--danger);font-size:15px;font-weight:600}.field__row{gap:8px;display:flex}.field__row .input{flex:1;min-width:0}.eye{border-radius:var(--radius-sm);border:2px solid var(--line);min-width:60px;color:var(--primary);cursor:pointer;background:#fff;place-items:center;display:grid}.eye svg{width:24px;height:24px}.alert{border-radius:var(--radius-sm);color:#9b2c2c;background:#fde8e8;padding:12px 16px;font-weight:600}.link{color:var(--primary);font-weight:600}.hello{align-items:center;gap:24px;margin-bottom:28px;display:flex}.hello h1{color:var(--on-bg);font-size:40px}.hello p{color:var(--on-bg-muted);margin:6px 0 0;font-size:19px}.tests{grid-template-columns:repeat(auto-fill,minmax(420px,1fr));gap:24px;display:grid}.ring{--p:0;background:conic-gradient(var(--ok) calc(var(--p) * 1%), var(--soft) 0);border-radius:50%;flex:none;place-items:center;width:72px;height:72px;display:grid}.sec{border-radius:var(--radius-sm);border:1px solid var(--line);background:#f6f9fd;align-items:center;gap:14px;padding:12px 14px;display:flex}.sec.is-done{opacity:.75}.before{flex-wrap:wrap;align-items:center;gap:18px;margin-top:24px;display:flex}.back{color:var(--on-bg);align-items:center;gap:6px;margin-bottom:12px;font-weight:600;text-decoration:none;display:inline-flex}.back svg{width:20px;height:20px}.tiles{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;margin-top:24px;display:grid}.tile{flex-direction:column;gap:14px;display:flex}.tile__icon{background:var(--soft);width:64px;height:64px;color:var(--primary);border-radius:20px;place-items:center;display:grid}.tile__icon svg{width:32px;height:32px}.tile__meta{flex-wrap:wrap;gap:8px;display:flex}.tile.is-done{opacity:.7}.overlay{z-index:50;overscroll-behavior:contain;background:#050f2d8c;place-items:safe center center;padding:16px;display:grid;position:fixed;inset:0;overflow-y:auto}.dialog{width:min(560px,100%);color:var(--card-ink);border-radius:var(--radius);background:#fff;flex-direction:column;gap:16px;padding:28px;display:flex;box-shadow:0 24px 60px #00000059}.dialog h2{font-size:26px}.dialog__mascot{justify-content:center;margin-top:-96px;display:flex}.rules{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.rules li{align-items:flex-start;gap:12px;display:flex}.rules__icon{background:var(--soft);width:40px;height:40px;color:var(--primary);border-radius:12px;flex:none;place-items:center;display:grid}.rules__icon svg{width:20px;height:20px}.dialog__actions{flex-wrap:wrap;justify-content:flex-end;gap:12px;display:flex}@media (max-width:520px){.overlay{padding-bottom:96px}.dialog{gap:12px;padding:20px}.dialog__mascot{display:none}}.exam{background:var(--bg);min-height:100vh;font-size:var(--fs);flex-direction:column;display:flex}.font-size{gap:6px;display:inline-flex}.font-size__btn{min-width:44px;min-height:44px;color:inherit;font:700 15px var(--eh-font-heading);cursor:pointer;background:0 0;border:2px solid;border-radius:999px;padding:0 10px}.font-size__btn.is-big{font-size:19px}.font-size__btn:disabled{opacity:.35;cursor:default}.exam-top{z-index:20;color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0a1946d9;align-items:center;gap:16px;padding:12px 24px;display:flex;position:sticky;top:0}html[data-mode=light] .exam-top{color:var(--eh-ink);border-bottom:1px solid var(--line);background:#fff}.exam-top__title{flex-direction:column;display:flex}.exam-top__title b{font:700 18px var(--eh-font-heading)}.exam-top__title span{opacity:.8;font-size:14px}.saved{opacity:.85;align-items:center;gap:6px;font-size:14px;display:inline-flex}.saved:before{content:"";background:#3ddc84;border-radius:50%;width:8px;height:8px}.timer{color:#145c34;font:700 22px var(--eh-font-heading);font-variant-numeric:tabular-nums;background:#e7f7ee;border-radius:999px;align-items:center;gap:8px;padding:8px 16px;display:inline-flex}.timer svg{width:22px;height:22px}.timer.is-low{color:#a02121;background:#fde3e3;animation:1s ease-in-out infinite alternate pulse}@keyframes pulse{0%{transform:scale(1)}to{transform:scale(1.04)}}@media (prefers-reduced-motion:reduce){.timer.is-low{animation:none}}.leave-note{z-index:31;background:var(--warn);color:#1d1500;max-width:min(92vw,640px);font:700 calc(var(--fs) - 1px) var(--eh-font-heading);text-align:center;cursor:pointer;box-shadow:var(--shadow);border:0;border-radius:20px;padding:12px 20px;position:fixed;top:80px;left:50%;transform:translate(-50%)}.low-banner{z-index:30;color:#fff;box-shadow:var(--shadow);background:#a02121;border-radius:999px;padding:10px 18px;font-weight:700;position:fixed;top:80px;left:50%;transform:translate(-50%)}.exam-body{flex-direction:column;flex:1;gap:16px;width:100%;max-width:1280px;margin:0 auto;padding:20px 24px 140px;display:flex}.group-head{color:var(--on-bg);align-items:center;gap:14px;display:flex}.group-head h2{color:var(--on-bg);font-size:26px}.group-head p{color:var(--on-bg-muted);margin:0;font-size:17px}.audio{z-index:15;border-radius:var(--radius);color:var(--eh-ink);box-shadow:var(--shadow);background:#fff;align-items:center;gap:14px;padding:12px 16px;display:flex;position:sticky;top:72px}.audio__play{background:var(--primary);color:#fff;cursor:pointer;width:56px;height:56px;box-shadow:0 4px 0 var(--primary-shadow);border:0;border-radius:50%;flex:none;place-items:center;display:grid}.audio__play svg{width:26px;height:26px}.audio__play:disabled{box-shadow:none;cursor:default;background:#b9c4d6}.audio__mid{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.audio__track{background:#dfe7f3;border-radius:999px;flex:none;width:100%;height:16px;display:block;overflow:hidden;box-shadow:inset 0 1px 3px #00000026}.audio__fill{background:linear-gradient(90deg, var(--accent), var(--primary));border-radius:999px;min-width:6px;height:100%;transition:width .25s linear;display:block}.audio__seek{accent-color:var(--primary);flex:1;height:10px}.audio__time{font:600 15px var(--eh-font-heading);font-variant-numeric:tabular-nums;text-align:center;min-width:96px}.plays{align-items:center;gap:6px;font-size:14px;font-weight:600;display:inline-flex}.plays__dot{background:var(--primary);border-radius:50%;width:14px;height:14px}.plays__dot.is-used{background:#c9d3e3}.layout-split{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:16px;display:grid}.layout-split__left{top:calc(84px + var(--pin-h,0px));max-height:calc(100vh - 200px - var(--pin-h,0px));position:sticky;overflow:auto}.form__wide.form__area{resize:vertical;width:100%;min-height:112px;line-height:1.5;display:block}.group-pin{top:calc(var(--exam-top-h,72px) + 4px);z-index:16;align-self:flex-start;max-width:100%;position:sticky}.group-pin .group-head{background:#080e28e6}html[data-mode=light] .group-pin .group-head{background:#fffffff5}.layout-full{flex-direction:column;gap:16px;display:flex}.passage h3{margin-bottom:10px;font-size:22px}.passage p{margin:0 0 12px;line-height:1.7}.q{flex-direction:column;gap:14px;display:flex;position:relative}.q__head{align-items:flex-start;gap:12px;display:flex}.q__num{background:var(--primary);color:#fff;width:40px;height:40px;font:700 18px var(--eh-font-heading);border-radius:12px;flex:none;place-items:center;display:grid}.q__stem{font-size:calc(var(--fs) + 1px);flex:1;padding-top:6px;font-weight:600}.flag{border:2px solid var(--line);color:var(--card-muted);cursor:pointer;background:#fff;border-radius:999px;align-items:center;gap:6px;padding:4px 12px;font-size:14px;font-weight:600;display:inline-flex}.flag.is-on{border-color:var(--warn);color:#7a5600;background:#fff7e0}.flag svg{width:16px;height:16px}.flag--icon{justify-content:center;width:34px;height:34px;padding:0}.flag--icon svg{width:18px;height:18px}.q>.flag--icon{width:30px;height:30px;position:absolute;top:10px;right:10px}.q>.flag--icon svg{width:16px;height:16px}.q__head{padding-right:26px}.options{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.opt{border-radius:var(--radius-sm);border:2px solid var(--line);cursor:pointer;text-align:left;min-height:60px;color:var(--card-ink);font-size:var(--fs);background:#fff;align-items:center;gap:12px;padding:10px 16px;display:flex}.opt:hover{border-color:var(--primary)}.opt__letter{background:var(--soft);width:36px;height:36px;color:var(--primary);font:700 17px var(--eh-font-heading);border-radius:50%;flex:none;place-items:center;display:grid}.opt.is-on .opt__letter{background:var(--primary);color:#fff}.example{color:var(--card-ink);border-radius:var(--radius-sm);border:1px dashed var(--line);background:#f6f9fd;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;display:flex}.example b{font-family:var(--eh-font-heading);color:var(--card-ink);font-size:20px}.match{-webkit-user-select:none;user-select:none;width:100%;max-width:640px;margin:0 auto;position:relative}.navbar{z-index:20;color:var(--eh-ink);border-top:1px solid var(--line);background:#fff;align-items:center;gap:12px;padding:8px 24px;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -8px 24px #00000014}.navbar__groups{flex:1;gap:18px;padding:5px 6px;display:flex;overflow-x:auto}.navbar__group{flex-direction:column;gap:4px;display:flex}.navbar__label{font:600 12px var(--eh-font-heading);color:var(--eh-ink-muted);white-space:nowrap}.navbar__nums{gap:6px;display:flex}.num{border:2px solid var(--line);width:40px;height:40px;font:700 15px var(--eh-font-heading);color:var(--eh-ink);cursor:pointer;background:#fff;border-radius:10px;position:relative}.num.is-done{background:var(--primary);border-color:var(--primary);color:#fff}.num.is-current{outline:3px solid var(--accent);outline-offset:1px}.num.is-flag:after{content:"";background:var(--warn);border:2px solid #fff;border-radius:50%;width:12px;height:12px;position:absolute;top:-5px;right:-5px}.navbar__count{white-space:nowrap;font-weight:700}.rotate{z-index:60;text-align:center;background:var(--bg-solid);color:var(--on-bg);place-items:center;padding:24px;display:none;position:fixed;inset:0}@media (orientation:portrait) and (max-width:1024px) and (pointer:coarse){.rotate{display:grid}}.done{text-align:center;flex-direction:column;align-items:center;gap:16px;max-width:640px;margin:40px auto 0;display:flex}.done h1{font-size:36px}@media (max-width:1000px){.login{grid-template-columns:minmax(0,1fr)}.layout-split{grid-template-columns:1fr}.layout-split__left{max-height:none;position:static}.tests{grid-template-columns:minmax(0,1fr)}}.rotate h2{color:inherit}.theme-picker{position:relative}.theme-picker__btn{min-height:48px;color:var(--on-bg);cursor:pointer;font:600 15px var(--eh-font-heading);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffff29;border:1px solid #ffffff59;border-radius:999px;align-items:center;gap:8px;padding:0 16px;display:inline-flex}html[data-mode=light] .theme-picker__btn{border-color:var(--line);background:#fff}.theme-picker__btn svg{width:20px;height:20px}.theme-picker__panel{z-index:40;width:min(560px,100vw - 32px);color:var(--eh-ink);background:#fff;border-radius:20px;padding:16px;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 20px 50px #0000004d}.theme-picker__title{font:700 17px var(--eh-font-heading);margin-bottom:12px;display:block}.theme-picker__grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.theme-card{cursor:pointer;color:var(--eh-ink);background:#f4f7fb;border:3px solid #0000;border-radius:14px;flex-direction:column;gap:6px;padding:6px;display:flex}.theme-card img{aspect-ratio:16/10;object-fit:cover;border-radius:10px;width:100%}.theme-card__name{font:600 14px var(--eh-font-heading);justify-content:center;align-items:center;gap:4px;display:flex}.theme-card__name svg{width:16px;height:16px;color:var(--primary)}.theme-card.is-on{border-color:var(--primary);background:#fff}.theme-card:hover{border-color:var(--line)}@media (max-width:860px){.hello{flex-wrap:wrap}}@media (max-width:520px){.topbar{gap:8px}.brand{white-space:nowrap;font-size:18px}.user-pill b,.user-pill__avatar{display:none}.user-pill{padding:4px}.hello{flex-wrap:wrap;gap:12px}.hello h1{font-size:30px}.hello p{font-size:17px}}@media (max-width:700px){.theme-picker__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.theme-picker__btn span{display:none}}.login__hello{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#080e2873;border-radius:20px;padding:18px 22px}html[data-mode=light] .login__hello{background:#ffffffb8}.group-head{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#080e2873;border-radius:16px;align-self:flex-start;padding:10px 16px}html[data-mode=light] .group-head{background:#ffffffbf}.back{background:#080e2866;border-radius:999px;padding:6px 14px}html[data-mode=light] .back{background:#ffffffbf}.user-pill .btn--ghost{color:#fff;border-color:#fff6}html[data-mode=light] .user-pill .btn--ghost{color:var(--primary);border-color:var(--line)}.mascot-float{transform-origin:50% 100%;animation:3.2s ease-in-out infinite mascot-bob}@keyframes mascot-bob{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-8px)rotate(-1.5deg)}}@media (prefers-reduced-motion:reduce){.mascot-float{animation:none}}.mascot{object-fit:contain;-webkit-user-select:none;user-select:none;filter:drop-shadow(0 8px 10px #00000038);display:block}.dialog__mascot .mascot{margin-bottom:-6px}.pc{outline-offset:4px;color:#fff;background:radial-gradient(60% 45% at 50% 105%,#ff78c861,#0000 70%),radial-gradient(50% 40% at 12% 90%,#785aff73,#0000 70%),radial-gradient(50% 40% at 90% 85%,#3ca0ff59,#0000 70%),linear-gradient(#1c0f52 0%,#2b1573 55%,#3c1b86 100%);border-radius:32px;padding:56px 16px 22px;position:relative;overflow:hidden;box-shadow:0 18px 50px #08042873,inset 0 0 0 2px #ffffff1f}.pc__stars{pointer-events:none;opacity:.9;background-image:radial-gradient(2px 2px at 8% 18%,#fff,#0000),radial-gradient(1.5px 1.5px at 22% 62%,#cfe3ff,#0000),radial-gradient(2.5px 2.5px at 34% 12%,#fff,#0000),radial-gradient(1.5px 1.5px at 47% 78%,#fff,#0000),radial-gradient(2px 2px at 58% 26%,#ffe9a8,#0000),radial-gradient(1.5px 1.5px at 71% 70%,#fff,#0000),radial-gradient(2.5px 2.5px at 83% 15%,#fff,#0000),radial-gradient(2px 2px at 93% 52%,#cfe3ff,#0000),radial-gradient(1.5px 1.5px at 14% 40%,#fff,#0000),radial-gradient(1.5px 1.5px at 64% 48%,#fff,#0000);animation:5s ease-in-out infinite alternate pc-twinkle;position:absolute;inset:0}@keyframes pc-twinkle{0%{opacity:.55}to{opacity:1}}.pc__stage{--step:320px;touch-action:pan-y;-webkit-user-select:none;user-select:none;height:380px;position:relative}.pc__item{cursor:pointer;width:340px;transform:translateX(calc(var(--d) * var(--step))) scale(calc(1 - var(--a) * .36));opacity:calc(1 - var(--a) * .5);filter:saturate(calc(1 - var(--a) * .25)) blur(calc(var(--a) * 1px));margin-left:-170px;transition:transform .55s cubic-bezier(.3,.9,.3,1),opacity .55s,filter .55s;position:absolute;top:14px;left:50%}.pc__item[style*="--a: 2"]{opacity:0}.pc__planet{width:340px;height:340px;position:relative}.pc__planet .planet{width:100%;height:100%;display:block;overflow:visible}.pc__item.is-active .pc__planet{animation:5s ease-in-out infinite pc-bob}.pc__item.is-active:hover .planet{filter:brightness(1.08)}@keyframes pc-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.pc__mascot{pointer-events:none;filter:drop-shadow(0 8px 10px #00000059);margin-left:-6px;position:absolute;top:-34px;left:50%}.pc__badge{text-align:center;min-width:44px;font:700 15px var(--eh-font-heading);color:#fff;border:3px solid #fff;border-radius:999px;padding:5px 10px;position:absolute;top:40px;right:36px;box-shadow:0 4px #00000040}.pc__arrow{z-index:20;cursor:pointer;color:#fff;background:linear-gradient(#a874ff,#6a3fd6);border:3px solid #fff;border-radius:18px;place-items:center;width:56px;height:64px;display:grid;position:absolute;top:140px;box-shadow:0 5px #3d1f92}.pc__arrow svg{stroke-width:3.5px;width:32px;height:32px}.pc__arrow:active:not(:disabled){transform:translateY(3px);box-shadow:0 2px #3d1f92}.pc__arrow:disabled{opacity:.35;cursor:default}.pc__arrow--l{left:4px}.pc__arrow--r{right:4px}.pc__info{text-align:center;flex-direction:column;align-items:center;gap:10px;margin-top:4px;display:flex;position:relative}.pc__ribbon{color:#fff;border:3px solid #ffffffd9;border-radius:10px;min-width:320px;max-width:92%;padding:8px 36px 10px;transition:background .4s;position:relative;box-shadow:0 6px #00000047}.pc__ribbon:before,.pc__ribbon:after{content:"";background:inherit;filter:brightness(.78);z-index:-1;border-radius:6px;width:26px;height:100%;position:absolute;top:12px}.pc__ribbon:before{left:-20px}.pc__ribbon:after{right:-20px}.pc__ribbon h2{color:#fff;text-shadow:0 2px #0000004d;margin:0;font-size:36px;line-height:1.15}.pc__tag{font:600 13px var(--eh-font-body);opacity:.92;text-transform:uppercase;letter-spacing:.04em;display:block}.pc__meta{color:#d9ddff;max-width:640px;margin:0;font-size:16px}.pc__dots{margin-top:16px;flex-wrap:wrap;justify-content:center;gap:12px;width:fit-content;max-width:100%;margin-inline:auto;display:flex;position:relative}.pc__dot{color:#fff;cursor:pointer;width:46px;height:46px;font:700 18px var(--eh-font-heading);border:3px solid #ffffffd9;border-radius:50%;transition:transform .2s;box-shadow:0 4px #0000004d}.pc__dot.is-on{outline-offset:2px;outline:4px solid #ffffff80;transform:scale(1.22)}.pc__legend{color:#c9ceff;justify-content:center;align-items:center;gap:8px;margin:12px 0 0;font-size:14px;display:flex;position:relative}.lg{border-radius:50%;width:12px;height:12px;margin-left:10px;display:inline-block}.lg--todo{background:#e5484d}.lg--doing{background:#f08c1a}.lg--done{background:#2ea05a}.pc+.before{margin-top:24px}.planet__spin{will-change:transform}.planet__spin--land{animation:80s linear infinite planet-spin}.planet__spin--cloud{animation:52s linear infinite planet-spin}@keyframes planet-spin{0%{transform:translate(0)}to{transform:translate(-480px)}}.planet__spark{transform-box:fill-box;transform-origin:50%;animation:2.4s ease-in-out infinite planet-spark}@keyframes planet-spark{0%,to{opacity:.4;transform:scale(.35)}50%{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.planet__spin,.planet__spark,.pc__item.is-active .pc__planet,.pc__stars{animation:none}}@media (max-width:1000px){.pc__stage{--step:250px;height:340px}.pc__item,.pc__planet{width:300px;height:300px}.pc__item{height:auto;margin-left:-150px}.pc__arrow{top:120px}}@media (max-width:640px){.pc__stage{--step:190px;height:290px}.pc__item,.pc__planet{width:250px;height:250px}.pc__item{margin-left:-125px}.pc__arrow{width:44px;height:54px;top:100px}.pc__ribbon{min-width:0;padding:8px 26px 10px}.pc__ribbon h2{font-size:28px}.pc__mascot{top:-28px}}.pc{box-shadow:none;color:var(--on-bg);background:0 0;overflow:visible}.pc__stars{display:none}.pc__meta,.pc__legend{color:var(--on-bg);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#080e2880;border-radius:14px;padding:8px 16px}html[data-mode=light] .pc__meta,html[data-mode=light] .pc__legend{background:#ffffffc7}.pc__arrow{background:linear-gradient(180deg, color-mix(in srgb, var(--primary) 70%, #fff), var(--primary));box-shadow:0 5px 0 var(--primary-shadow)}.pc__arrow:active:not(:disabled){box-shadow:0 2px 0 var(--primary-shadow)}.pc__item{overflow:visible}.pc__legend{width:fit-content;margin-inline:auto}.pc__meta{max-width:760px}.exam-top__nav{gap:8px;margin-left:12px;display:inline-flex}.btn-nav{border:2px solid var(--primary);min-height:44px;color:var(--primary);font:700 16px var(--eh-font-heading);cursor:pointer;box-shadow:0 3px 0 var(--primary-shadow);white-space:nowrap;background:#fff;border-radius:999px;align-items:center;gap:6px;padding:0 16px;display:inline-flex}.btn-nav svg{width:20px;height:20px}.btn-nav.is-next{background:var(--primary);color:#fff}.btn-nav:active:not(:disabled){box-shadow:0 1px 0 var(--primary-shadow);transform:translateY(2px)}.btn-nav:disabled{opacity:.4;cursor:default;box-shadow:none}@media (max-width:900px){.exam-top__title span{display:none}.btn-nav{padding:0 12px;font-size:15px}.exam-top{gap:10px;padding:10px 16px}.exam-top__title{min-width:0;max-width:190px}.exam-top__title b{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:15px;line-height:1.2;display:-webkit-box;overflow:hidden}.exam-top__nav{margin-left:0}.saved{gap:0;font-size:0}.leave-note,.low-banner{top:84px}}.tick{flex-wrap:wrap;align-items:center;gap:20px;display:flex}.mark{width:76px;height:76px;font:800 44px var(--eh-font-heading);color:#8392aa;cursor:pointer;background:#fff;border:4px solid #aeb9cc;border-radius:18px;place-items:center;display:grid;box-shadow:0 4px #cdd6e4}.mark[aria-disabled=true]{cursor:default;box-shadow:none}.bank{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:start;gap:16px;display:grid}.gap{min-width:150px;color:var(--card-ink);font:700 20px var(--eh-font-heading);cursor:pointer;vertical-align:middle;background:#f4f8ff;border:3px dashed #9db0cf;border-radius:12px;align-items:center;gap:6px;margin:0 4px;padding:2px 12px 2px 8px;display:inline-flex}.gap b{background:var(--primary);color:#fff;border-radius:50%;place-items:center;width:28px;height:28px;font-size:16px;display:grid}.gap.is-active{border-color:var(--accent);box-shadow:0 0 0 4px #ffce5c99}.gap.is-flag{box-shadow:0 0 0 3px #f2b705}.word{border:3px solid var(--line);cursor:pointer;font:700 19px var(--eh-font-heading);color:var(--card-ink);background:#fff;border-radius:14px;flex-direction:column;align-items:center;gap:6px;padding:8px;display:flex}.word img{object-fit:cover;border-radius:8px;width:100%;height:86px}.word:hover{border-color:var(--primary)}.word.is-used{opacity:.45;border-style:dashed}@media (max-width:1000px){.bank{grid-template-columns:1fr}}.layout-split__left .audio{box-shadow:none;border:2px solid var(--line);flex-wrap:wrap;margin-bottom:12px;position:static}.letters{flex-wrap:wrap;gap:10px;display:flex}.letter{border:3px solid var(--primary);width:60px;height:60px;color:var(--primary);font:800 26px var(--eh-font-heading);cursor:pointer;box-shadow:0 4px 0 var(--primary-shadow);background:#fff;border-radius:14px}.letter.is-on{background:var(--primary);color:#fff}.input.open{resize:vertical;width:100%;min-height:120px;font-size:19px;line-height:1.5}.speak{flex-direction:column;gap:14px;display:flex}.speak__time{font:700 16px var(--eh-font-heading);font-variant-numeric:tabular-nums;color:var(--eh-ink)}.speak__err{color:#c92a2a;margin:0;font-weight:600}.q__num{width:auto;min-width:40px;padding:0 8px}.form{flex-direction:column;gap:12px;display:flex}.form__row{flex-wrap:wrap;align-items:center;gap:12px 18px;display:flex}.form__field{color:var(--card-ink);flex-wrap:wrap;align-items:center;gap:8px;font-weight:600;display:inline-flex}.form__input{width:160px;min-height:52px;font-size:20px}.form__wide{width:min(560px,100%);min-height:52px;font-size:18px}.letters .letter{width:auto;min-width:60px;height:auto;min-height:60px;line-height:1.25;font-size:calc(var(--fs) + 2px);padding:8px 16px}.frac{vertical-align:middle;text-align:center;flex-direction:column;font-size:.9em;line-height:1.1;display:inline-flex}.frac>span:first-child{border-bottom:1px solid;padding:0 3px}.num{width:auto;min-width:40px;padding:0 6px}.qtable{border-collapse:collapse;width:100%;color:var(--card-ink)}.qtable th,.qtable td{border-bottom:1px solid var(--line);text-align:left;padding:10px 8px;font-weight:600}.qtable thead th{text-align:center;font:700 15px var(--eh-font-heading)}.qtable tbody td{text-align:center;width:72px}.qtable--data{border:1px solid var(--line);border-radius:8px;max-width:520px;margin:4px auto 14px}.qtable--data thead th,.qtable--data tbody td{text-align:center;width:auto;font-size:calc(var(--fs) - 1px);padding:8px 12px}.qtable--data thead th{background:var(--soft)}.opt{border:2px solid var(--line);min-height:56px;color:var(--eh-ink);font:600 calc(var(--fs) - 1px) var(--eh-font-heading);text-align:left;cursor:pointer;background:#fff;border-radius:14px;align-items:center;gap:12px;padding:8px 14px;display:flex}.opt:hover:not(:disabled){border-color:var(--primary)}.opt.is-on{border-color:var(--primary);background:#eef6fc}.pick{color:var(--eh-ink);flex-wrap:wrap;align-items:center;gap:10px;display:flex}.confirm{white-space:nowrap;gap:6px;min-height:40px;padding:0 14px}.confirm svg{width:18px;height:18px}.confirm--done{color:var(--ok,#1f8a4c);border-color:var(--ok,#1f8a4c)}.num.is-draft{border-style:dashed;border-color:var(--accent);background:#fff7e0}.card.ph-empty{-webkit-backdrop-filter:blur(16px)saturate(1.3);color:#fff;text-shadow:0 1px 3px #00000073;background:linear-gradient(160deg,#6e5ad280,#283c8c6b);border:1.5px solid #fff6;box-shadow:0 8px 28px #0003,inset 0 1px #ffffff59}.card.ph-empty *{color:inherit}.ph-empty{text-align:center;flex-direction:column;align-items:center;gap:8px;width:fit-content;max-width:min(460px,100%);margin:56px auto 0;padding:24px 40px;display:flex}.wordcount{font:700 calc(var(--fs) - 3px) var(--eh-font-heading);color:var(--card-ink);opacity:.75;align-self:flex-start;margin-top:4px}.font-size__btn--icon{place-items:center;padding:0;display:inline-grid}.font-size__btn--icon svg{width:22px;height:22px}.font-size__btn--icon[aria-pressed=true]{color:#3b2a00;background:#ffd36b;border-color:#ffd36b}.exam.is-focus{--on-bg:#fff;--on-bg-muted:#c8d6ff;background:#0d1530}.exam-top{position:sticky}.audio-topline{pointer-events:none;background:#788cc859;height:6px;position:absolute;bottom:0;left:0;right:0}.audio-topline__fill{background:linear-gradient(90deg,#ff9a3c,#ff5a5f);border-radius:0 6px 6px 0;height:100%;transition:width .25s linear;display:block}.word[draggable=true]{cursor:grab}.countdown{background:#050f2dd1}.countdown__box{color:#fff;text-align:center;flex-direction:column;align-items:center;gap:8px;display:flex}.countdown__box p{font:700 26px var(--eh-font-heading);margin:0}.countdown__box span{opacity:.9;font-size:20px}.countdown__num{color:#3b1d00;width:220px;height:220px;font:800 130px/1 var(--eh-font-heading);background:radial-gradient(circle at 35% 30%,#ffd36b,#ff8a2a);border-radius:50%;place-items:center;animation:1s ease-out count-pop;display:grid;box-shadow:0 10px #00000040,0 0 0 10px #ffffff2e}@keyframes count-pop{0%{opacity:0;transform:scale(1.4)}25%{opacity:1;transform:scale(1)}to{opacity:.9;transform:scale(.92)}}@media (prefers-reduced-motion:reduce){.countdown__num{animation:none}}html[data-mode=light] .exam.is-focus .group-head{background:#ffffff1a}html[data-mode=light] .exam.is-focus .exam-top{color:#fff;background:#0a1946e6;border-bottom:0}.exam-top__bars{pointer-events:none;flex-direction:column;gap:2px;display:flex;position:absolute;bottom:0;left:0;right:0}.exam-top__bars .audio-topline{position:relative}.pace{background:#788cc84d;height:5px;display:block}.pace__fill{border-radius:0 5px 5px 0;height:100%;transition:width .5s linear;display:block}.pace--done .pace__fill{background:#8a97c8}.exam-top__bars{gap:0}.pace{background:0 0;height:24px;position:relative}.pace__line{background:#788cc84d;height:6px;position:absolute;top:9px;left:0;right:0}.pace__icon{top:50%;left:calc((100% - var(--iw)) * var(--p));filter:drop-shadow(0 1px 2px #00000059);align-items:center;transition:left .5s linear;display:flex;position:absolute;transform:translateY(-50%)}.pace__icon img{width:auto;height:27px;display:block}@media (max-width:900px){.exam-top{padding-bottom:46px}}.navbar__nav{flex:none;margin-left:0}.side-nav{z-index:15;background:var(--primary);color:#fff;cursor:pointer;width:60px;height:60px;box-shadow:0 5px 0 var(--primary-shadow), 0 8px 18px #0000004d;border:3px solid #fff;border-radius:50%;place-items:center;padding:0;display:grid;position:fixed;top:50%;transform:translateY(-50%)}.side-nav svg{width:34px;height:34px}.side-nav:active{box-shadow:0 2px 0 var(--primary-shadow);transform:translateY(calc(2px - 50%))}@media (max-width:1100px){.side-nav{opacity:.9;width:48px;height:48px}.side-nav svg{width:28px;height:28px}.side-nav--prev{left:6px}.side-nav--next{right:6px}}@media (max-width:700px){.navbar__nav .btn-nav{padding:0 10px}}.exam .exam-body{padding-left:80px;padding-right:80px}@media (max-width:1100px){.exam .exam-body{padding-left:62px;padding-right:62px}}.exam-top{padding-bottom:74px}.pace{height:32px}.pace__line{border-radius:6px;height:12px;top:10px}.pace__fill{border-radius:6px}.pace__icon img{width:auto;height:39px}.pace--done .pace__icon{transform:translateY(-56%)}@media (max-width:900px){.exam-top{padding-bottom:70px}}.exam-top,.exam.is-focus .exam-top{padding-bottom:18px}.pace-box{pointer-events:none;flex-direction:column;flex:0 300px;min-width:120px;margin:0 8px;display:flex}.pace-box .pace{height:26px}.pace-box .pace__line{border-radius:5px;height:10px;top:8px}.pace-box .pace__icon img{height:34px}.pace-box .pace--done .pace__icon{transform:translateY(-54%)}@media (max-width:900px){.exam-top{padding-bottom:18px}.pace-box{flex-basis:180px}}@media (max-width:640px){.pace-box{display:none}}.leave-note,.low-banner{top:84px}.side-nav--prev{left:clamp(12px,50vw - 694px,224px)}.side-nav--next{right:clamp(12px,50vw - 694px,224px)}@media (max-width:1100px){.side-nav--prev{left:6px}.side-nav--next{right:6px}}.pace-box{flex:1 1 0;min-width:140px;max-width:none;margin:0 24px}@media (max-width:900px){.pace-box{flex:1 1 0;margin:0 10px}}.navbar__groups{justify-content:safe center}.audio{top:calc(var(--exam-top-h,72px) + 8px)}.layout-split__left{top:calc(var(--exam-top-h,72px) + var(--pin-h,0px) + 24px);max-height:calc(100vh - var(--exam-top-h,72px) - var(--pin-h,0px) - 140px)}.layout-split__left .audio{top:0}.audio{flex-wrap:wrap;row-gap:8px}.audio__mid{flex:150px;min-width:150px}.audio__mid b,.audio__time,.plays{white-space:nowrap}.spk__bar{width:100%;color:var(--eh-ink);box-shadow:var(--shadow);background:#fff;border-radius:999px;align-items:center;gap:12px;padding:8px 18px 8px 10px;display:flex}.spk__avatar{border:3px solid var(--primary);background:#e6f0ff;border-radius:50%;flex:none;place-items:center;width:60px;height:60px;display:grid;overflow:hidden}.spk__label{font:800 18px var(--eh-font-heading);white-space:nowrap}.spk__play{background:var(--primary);color:#fff;cursor:pointer;width:48px;height:48px;box-shadow:0 3px 0 var(--primary-shadow);border:0;border-radius:50%;flex:none;place-items:center;display:grid}.spk__play svg{width:24px;height:24px}.spk__track{background:#dfe7f3;border-radius:999px;flex:1;height:14px;overflow:hidden}.spk__track>span{background:linear-gradient(90deg,#ff9a3c,#ff5a5f);height:100%;transition:width .25s linear;display:block}.spk__time{font:700 15px var(--eh-font-heading);white-space:nowrap}.spk__frame{width:100%;box-shadow:0 8px 0 #00000040, var(--shadow);background:linear-gradient(160deg,#b9803f,#8a5a26);border-radius:26px;padding:14px}.spk__frame img{object-fit:contain;width:100%;height:auto;max-height:36vh;margin:0 auto;display:block}.spk__mic{color:var(--card-ink,var(--eh-ink));text-align:center;flex-direction:column;align-items:center;gap:10px;font-size:18px;font-weight:700;display:flex}.spk__mic-btn{color:#fff;cursor:pointer;background:linear-gradient(160deg,#ff8a4c,#e5482e);border:5px solid #fff;border-radius:50%;place-items:center;width:96px;height:96px;display:grid;box-shadow:0 7px #00000040}.spk__mic-btn svg{width:46px;height:46px}.spk__mic-btn.is-on{background:linear-gradient(160deg,#ff5a5f,#b3202a);animation:1.1s ease-out infinite spk-pulse}@keyframes spk-pulse{0%{box-shadow:0 7px #00000040,0 0 #ff5a5fb3}to{box-shadow:0 7px #00000040,0 0 0 30px #ff5a5f00}}.spk__done{color:#3ddc84;background:#3ddc8433;border-radius:999px;padding:8px 18px}@media (prefers-reduced-motion:reduce){.spk__mic-btn.is-on{animation:none}}.spk__bar--me{background:#fff4e6}.spk__avatar--me{color:#e5482e;background:#ffe0c2;border-color:#e5482e}.spk__avatar--me svg{width:30px;height:30px}.spk__play--me{background:#e5482e;box-shadow:0 3px #a8321d}.spk__bar--me .spk__track>span{background:linear-gradient(90deg,#ff8a4c,#e5482e)}.spk__bar{border-radius:32px;flex-wrap:wrap;row-gap:6px}.spk__track{flex:120px;min-width:120px}.before{flex-wrap:nowrap;gap:14px;padding:14px 18px}.before>b{white-space:nowrap;font-size:17px}@media (max-width:960px){.before{flex-wrap:wrap}}@media (min-width:901px){.exam-top__title{flex:none;width:240px;min-width:0;max-width:none}.exam-top__title b,.exam-top__title span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.exam-top .saved{flex:none;width:64px}.exam-top .timer{box-sizing:border-box;white-space:nowrap;flex:none;justify-content:center;width:148px}}.input[aria-invalid=true]{border-color:#dc2626;box-shadow:0 4px #dc262659}.options--long{grid-template-columns:minmax(0,1fr);gap:8px}.options--long .opt{min-height:48px;font-size:calc(var(--fs) - 2px);padding:8px 14px;line-height:1.3}.options--mid .opt{min-height:52px;font-size:calc(var(--fs) - 2px);padding:8px 12px;line-height:1.25}.options--long .opt__letter,.options--mid .opt__letter{width:32px;height:32px;font-size:15px}textarea.open{resize:none;overscroll-behavior:contain;overflow-y:auto}.say{margin:10px 0 12px}.speak__time.is-warn{color:#c2410c}.tiles>.tile{container-type:inline-size}.tile__name{white-space:nowrap;align-items:center;min-height:31px;display:flex}.rg{gap:14px;width:min(720px,100%);max-height:calc(100vh - 32px);position:relative;overflow:hidden auto}.rg-close{background:var(--soft);width:40px;height:40px;color:var(--card-ink);cursor:pointer;border:0;border-radius:50%;place-items:center;display:grid;position:absolute;top:12px;right:12px}.rg-close svg{width:20px;height:20px}.rg-head{align-items:center;gap:16px;padding-right:40px;display:flex}.rg-label{font:700 14px var(--eh-font-heading);letter-spacing:.05em;text-transform:uppercase;color:var(--eh-ink-muted);margin-top:4px}.rg-cards{grid-template-columns:1fr 1fr;gap:12px;display:grid}.rg-card{border:2px solid var(--line);border-radius:var(--radius);cursor:pointer;background:#fff;flex-direction:column;gap:8px;padding:16px;transition:border-color .15s,box-shadow .15s,transform .15s;display:flex;position:relative}.rg-card:hover{border-color:var(--primary);transform:translateY(-2px)}.rg-card input{opacity:0;pointer-events:none;position:absolute}.rg-card:focus-within{outline:3px solid var(--accent);outline-offset:2px}.rg-card.is-on{border-color:var(--primary);background:var(--soft);box-shadow:0 6px #2f6fed40}.rg-card.is-out{opacity:.5;cursor:not-allowed;filter:grayscale(.6);transform:none}.rg-card__body{flex-direction:column;gap:4px;display:flex}.rg-card__body b{font:700 17px var(--eh-font-heading);white-space:nowrap}.rg-card__sub{color:var(--primary);white-space:nowrap;font-size:15px;font-weight:700}.rg-card__sub .muted{font-weight:400}.rg-slots{color:#1f56c7;background:#e3f0ff;border-radius:999px;align-self:flex-start;padding:3px 12px;font-size:14px;font-weight:700}.rg-slots.is-hot{color:#7a5a00;background:#fff3cf}.rg-slots.is-out{color:#8a1f1f;background:#fdecec}.rg-tick{background:var(--primary);color:#fff;border-radius:50%;place-items:center;width:28px;height:28px;display:grid;position:absolute;top:10px;right:10px}.rg-tick svg{width:18px;height:18px}.rg-pair{grid-template-columns:1fr 1fr;gap:12px;display:grid}.rg-check{align-items:flex-start;gap:10px;font-size:16px;display:flex}.rg-check input{flex:none;width:22px;height:22px;margin-top:2px}.rg-done{text-align:center;flex-direction:column;align-items:stretch;gap:12px;display:flex}.rg-code{font:700 32px var(--eh-font-heading);letter-spacing:.05em;border:2px dashed var(--primary);border-radius:var(--radius);justify-content:center;align-items:center;gap:12px;padding:12px;display:flex}.rg-code .btn{min-height:40px;padding:0 14px;font-size:15px}@media (max-width:560px){.rg-cards,.rg-pair{grid-template-columns:1fr}.rg-head{flex-direction:column;align-items:flex-start}}.rg-pair>*,.rg .field{min-width:0}.rg .input{box-sizing:border-box;width:100%;min-width:0}.rg{gap:10px;padding:18px 24px}.rg-head{gap:14px}.rg-head h2{font-size:24px}.rg-head p{font-size:16px}.rg-label{margin-top:0;font-size:14px}.rg-card{gap:4px;padding:11px 16px}.rg-card__body b{font-size:17px}.rg-slots{padding:2px 11px;font-size:14px}.rg .field{gap:3px}.rg .field__label{font-size:15px}.rg .input{border-radius:10px;height:44px;min-height:44px;padding:0 12px;font-size:17px}.rg .btn{min-height:50px}.rg .field__error{font-size:14px}.rg-check{font-size:16px}.rg-check input{width:22px;height:22px}.rg-pair{gap:12px}.linkbtn{font:600 16px var(--eh-font-body,inherit);color:var(--primary);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:4px 6px;text-decoration:underline}.linkbtn:hover{color:var(--primary-hover)}.rg.rg-roomy{gap:22px;width:min(580px,100%);padding:30px 32px}.rg-roomy .rg-head{gap:18px}.rg-roomy .rg-head h2{font-size:30px}.rg-roomy .rg-head p{font-size:18px}.rg-roomy .field{gap:8px}.rg-roomy .field__label{font-size:18px}.rg-roomy .input{height:56px;min-height:56px;padding:0 16px;font-size:19px}.rg-roomy .btn{min-height:58px;font-size:20px}.rg-roomy p{font-size:18px}@media (min-width:1001px) and (max-height:1100px){.page__inner{padding-bottom:0}.pc{padding-top:24px}.pc__stage{--step:280px;height:310px;margin-top:24px}.pc__item,.pc__planet{width:280px;height:280px}.pc__item{margin-left:-140px;top:20px}.pc__arrow{top:125px}.pc__info{gap:8px;margin-top:0}.pc__ribbon h2{font-size:30px}.pc__meta{padding:6px 14px;font-size:15px}.pc__dots{margin-top:24px}.pc__legend{margin-top:16px;padding:4px 14px}}@media (min-width:1001px) and (max-height:860px){.pc__stage{--step:190px;height:210px;margin-top:24px}.pc__item,.pc__planet{width:190px;height:190px}.pc__item{margin-left:-95px}.pc__arrow{top:75px}.pc__ribbon h2{font-size:26px}}@media (min-width:1001px) and (max-height:800px){.pc__stage{--step:170px;height:188px}.pc__item,.pc__planet{width:170px;height:170px}.pc__item{margin-left:-85px;top:14px}.pc__arrow{top:65px}.pc__dots{margin-top:20px}.pc__meta{display:none}.pc__stage{margin-top:20px}.page__inner{padding-bottom:4px}}.login__mascot .bubble{margin-bottom:80px}.rg-status{border-radius:var(--radius-sm);background:var(--soft);flex-direction:column;gap:6px;padding:12px 14px;line-height:1.6;display:flex}.login__pair{grid-template-columns:1fr 1fr;gap:12px;display:grid}@media (max-width:900px){.login__hello p{white-space:normal;max-width:460px}}@media (max-width:560px){.login__hello h1{font-size:34px}.login__mascot .mascot{height:130px!important}.login__mascot .bubble{flex:1 1 0;width:auto;min-width:0;margin-bottom:24px}.step{white-space:normal;text-align:center;flex-direction:column}}.devcheck{flex-direction:column;gap:12px;margin-bottom:16px;padding:18px 22px;display:flex}.devcheck__title{align-items:center;gap:10px;font-size:20px;display:flex}.devcheck__title svg{width:24px;height:24px;color:var(--primary)}.devcheck__row{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.devcheck__ok{align-items:center;gap:10px;font-weight:600;display:flex}.devcheck__ok input{width:24px;height:24px}.vplayer{top:calc(var(--exam-top-h,72px) + 8px);z-index:15;border-radius:var(--radius);width:min(100%,60vh,560px);color:var(--eh-ink);box-shadow:var(--shadow);background:#fff;flex-direction:column;gap:8px;margin:0 auto 14px;padding:8px;display:flex;position:sticky}.vplayer__stage{aspect-ratio:16/9;background:linear-gradient(135deg,#dfe9f7,#b9cdea);border-radius:12px;position:relative;overflow:hidden}.vplayer__stage video{object-fit:cover;width:100%;height:100%;display:block;position:absolute;inset:0}.vplayer__cta{cursor:pointer;color:#fff;font:700 20px var(--eh-font-heading);text-shadow:0 2px 8px #00000073;background:#0a143261;border:0;flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex;position:absolute;inset:0}.vplayer__cta:hover{background:#0a143247}.vplayer__cta:disabled{cursor:default;opacity:.7}.vplayer__cta-icon{background:var(--primary);width:72px;height:72px;box-shadow:0 5px 0 var(--primary-shadow);border-radius:50%;place-items:center;display:grid}.vplayer__cta-icon svg{width:34px;height:34px}.vplayer__done{color:#fff;font:700 20px var(--eh-font-heading);background:#0a143280;place-items:center;display:grid;position:absolute;inset:0}.vplayer__pause{width:44px;height:44px;color:var(--primary);cursor:pointer;background:#ffffffe6;border:0;border-radius:50%;place-items:center;display:grid;position:absolute;bottom:10px;left:10px}.vplayer__bar{align-items:center;gap:12px;padding:2px 6px 4px;display:flex}.vplayer__bar .audio__track{flex:1}.vplayer__bar .audio__time{white-space:nowrap;min-width:0}.vplayer__bar .plays{white-space:nowrap}.vplayer__credit{color:var(--eh-ink-muted);padding:0 6px 2px;font-size:10.5px;line-height:1.3;display:block}.layout-split__left .vplayer{width:100%;box-shadow:none;background:0 0;border-radius:0;margin:0;padding:0;position:static}.layout-split__left .vplayer__stage{border-radius:14px}.passage-pin{top:calc(var(--exam-top-h,72px) + 8px);z-index:14;border-radius:var(--radius);color:var(--eh-ink);box-shadow:var(--shadow);border-left:6px solid var(--primary);background:#fff;max-height:32vh;margin-bottom:14px;padding:14px 20px;line-height:1.55;position:sticky;overflow:auto}.passage-pin p{margin:0 0 6px}.passage-pin p:last-child{margin-bottom:0}.dialog .devcheck{box-shadow:none;background:var(--soft);margin:0;padding:14px 16px}.dialog .devcheck__title{font-size:17px}.pc__legend{gap:6px;margin-top:8px;padding:4px 12px;font-size:12.5px}.pc__meta{padding:5px 14px;font-size:15px}.ph-center{padding-top:clamp(12px,5.5vh,52px)}.legal{flex-direction:column;gap:14px;max-width:860px;margin:8px auto 0;display:flex}.legal__draft{color:#5c4a0e;border:2px solid var(--accent);box-shadow:var(--shadow);background:#fff7d6;border-radius:14px;padding:10px 16px;font-size:15px}.legal mark{color:#5c4a0e;background:#fff0a8;border-radius:6px;padding:0 5px;font-weight:600}.legal__card{flex-direction:column;gap:28px;padding:36px 40px;font-size:17px;line-height:1.65;display:flex}.legal__head{flex-direction:column;gap:10px;display:flex}.legal__eyebrow{color:var(--primary);letter-spacing:.06em;text-transform:uppercase;margin:0;font-size:14px;font-weight:700}.legal__head h1{color:var(--card-ink);margin:0;font-size:38px;line-height:1.15}.legal__lead{color:var(--card-muted);margin:0;font-size:19px}.legal__meta{color:var(--card-muted);margin:0;font-size:15px}.legal__toc{background:var(--soft);border-radius:14px;grid-template-columns:1fr 1fr;gap:6px 20px;margin-top:8px;padding:16px 20px;display:grid}.legal__toc a{color:var(--primary);padding:3px 0;font-size:16px;font-weight:600;text-decoration:none}.legal__toc a:hover{text-decoration:underline}.legal section{flex-direction:column;gap:10px;scroll-margin-top:20px;display:flex}.legal section h2{color:var(--primary);border-bottom:2px solid var(--soft);margin:0;padding-bottom:8px;font-size:24px}.legal p{max-width:none;color:var(--card-ink);margin:0}.legal p.muted{color:var(--card-muted);font-size:15px}.legal ul{flex-direction:column;gap:6px;margin:0;padding-left:22px;display:flex}.legal__dl{grid-template-columns:220px 1fr;gap:8px 16px;margin:0;display:grid}.legal__dl dt{color:var(--card-muted);font-weight:600}.legal__dl dd{margin:0}.legal__table{border:1.5px solid var(--line);border-radius:14px;overflow-x:auto}.legal__table table{border-collapse:collapse;width:100%;min-width:560px;font-size:16px}.legal__table th,.legal__table td{text-align:left;vertical-align:top;border-bottom:1px solid var(--line);padding:11px 14px}.legal__table thead th{background:var(--soft);color:var(--primary);letter-spacing:.03em;text-transform:uppercase;font-size:14px}.legal__table tbody th{width:24%;font-weight:700}.legal__table tbody tr:last-child th,.legal__table tbody tr:last-child td{border-bottom:0}.legal__consent{background:linear-gradient(180deg, var(--soft), #fff);border:2px solid var(--primary);border-radius:18px;padding:22px 24px}.legal__consent a,.legal p a{color:var(--primary);font-weight:600}.legal__checks{gap:12px;padding:0;list-style:none}.legal__checks li{border:1.5px solid var(--line);background:#fff;border-radius:14px;align-items:flex-start;gap:12px;padding:14px 16px;display:flex}.legal__box{border:2.5px solid var(--primary);background:#fff;border-radius:8px;flex:none;width:26px;height:26px;margin-top:2px}.legal__foot{justify-content:flex-start;padding-top:4px;display:flex}@media (max-width:720px){.legal__card{padding:22px 18px;font-size:16px}.legal__head h1{font-size:30px}.legal__toc{grid-template-columns:1fr}.legal__dl{grid-template-columns:1fr;gap:2px 0}.legal__dl dd{margin-bottom:8px}}
