:root{--brand: #15803d;--brand-soft: #f0fdf4;--ink: #0f172a;--muted: #64748b;--line: #e2e8f0;--bg: #f8fafc;--card: #ffffff;--danger: #b91c1c;--warn: #b45309;--radius: 12px;--gap: 1rem;--page: 44rem;--page-wide: 46rem}@media(min-width:48rem){:root{--page: 52rem;--page-wide: 58rem;--gap: 1.25rem}html{font-size:17px}}@media(min-width:62rem){:root{--page: 62rem;--page-wide: 74rem}}@media(min-width:80rem){:root{--page: 68rem;--page-wide: 82rem}}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:system-ui,-apple-system,Segoe UI,sans-serif}@media(pointer:coarse){button,select,input:not([type=radio]):not([type=checkbox]),textarea,a.btn{min-height:44px}input[type=radio],input[type=checkbox]{width:1.15rem;height:1.15rem}label{line-height:1.5}}.split{display:grid;gap:var(--gap);grid-template-columns:1fr;align-items:start}@media(min-width:62rem){.split{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr)}.split--even{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.split--aside{grid-template-columns:minmax(0,22rem) minmax(0,1fr)}.split>.sticky-col{position:sticky;top:1rem}}.grid-cards{display:grid;gap:.6rem;grid-template-columns:1fr}@media(min-width:48rem){.grid-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:62rem){.grid-cards{grid-template-columns:repeat(3,minmax(0,1fr))}}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.panel{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1rem}.chip{display:inline-block;border-radius:999px;padding:.12rem .6rem;font-size:.78rem;font-style:normal;background:var(--line)}.chip.pending{background:#e2e8f0;color:#334155}.chip.in_progress{background:#dbeafe;color:#1e40af}.chip.submitted{background:#fde68a;color:#78350f}.chip.corrected,.chip.marked{background:#bbf7d0;color:#14532d}.chip.late{background:#fecaca;color:#7f1d1d}.chip.closed{background:#e2e8f0;color:#64748b}body{margin:0;font-family:system-ui,sans-serif}.disclaimer{font-size:.7rem;color:#888;text-align:center;padding:.5rem 1rem}.assignments[data-v-9e3298f3]{max-width:var(--page-wide);margin:0 auto;padding:1rem 1rem 3rem}.top[data-v-9e3298f3]{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;flex-wrap:wrap}.top h1[data-v-9e3298f3]{margin:0;font-size:1.5rem}.sub[data-v-9e3298f3]{color:var(--muted);font-size:.85rem;margin:.2rem 0 1rem;max-width:34rem}.form h2[data-v-9e3298f3]{margin:0 0 .8rem;font-size:1.1rem}.field[data-v-9e3298f3]{display:block;margin-bottom:.7rem}.field>span[data-v-9e3298f3]{display:block;font-size:.8rem;color:var(--muted);margin-bottom:.2rem}.field select[data-v-9e3298f3],.field input[data-v-9e3298f3],.field textarea[data-v-9e3298f3],.search[data-v-9e3298f3]{width:100%;box-sizing:border-box;padding:.5rem;font:inherit;border:1px solid var(--line);border-radius:8px;background:#fff}fieldset[data-v-9e3298f3]{border:1px solid var(--line);border-radius:10px;margin:0 0 .8rem;padding:.6rem .8rem}legend[data-v-9e3298f3]{font-size:.8rem;color:var(--muted);padding:0 .3rem}.opt[data-v-9e3298f3]{display:flex;align-items:center;gap:.5rem;padding:.25rem 0;cursor:pointer}.opt.strong[data-v-9e3298f3]{font-weight:600}.lbl[data-v-9e3298f3]{font-size:.78rem;color:var(--muted);margin:.6rem 0 .2rem;text-transform:uppercase;letter-spacing:.04em}.skill[data-v-9e3298f3]{padding:.3rem 0;border-bottom:1px solid #f1f5f9}.parts[data-v-9e3298f3]{display:flex;flex-wrap:wrap;gap:.35rem;margin:.3rem 0 .5rem 1.6rem}.part-chip[data-v-9e3298f3]{display:inline-flex;align-items:center;gap:.3rem;border:1px solid var(--line);border-radius:999px;padding:.2rem .6rem;font-size:.82rem;cursor:pointer;background:#fff}.part-chip.on[data-v-9e3298f3]{border-color:var(--brand);background:var(--brand-soft)}.part-chip small[data-v-9e3298f3]{color:var(--muted)}.student-list[data-v-9e3298f3]{max-height:14rem;overflow-y:auto;margin-top:.3rem}.hint[data-v-9e3298f3]{color:var(--muted);font-size:.82rem}.error[data-v-9e3298f3]{color:var(--danger)}.ok[data-v-9e3298f3]{color:var(--brand)}button.primary[data-v-9e3298f3]{width:100%;background:var(--brand);color:#fff;border:0;border-radius:8px;padding:.65rem 1rem;font:inherit;font-weight:600;cursor:pointer}button.primary[data-v-9e3298f3]:disabled{opacity:.5;cursor:not-allowed}.list[data-v-9e3298f3]{display:flex;flex-direction:column;gap:.7rem}.task-top[data-v-9e3298f3]{display:flex;justify-content:space-between;gap:.8rem;align-items:flex-start}.meta[data-v-9e3298f3]{color:var(--muted);font-size:.82rem;margin:.15rem 0 0}.bars[data-v-9e3298f3]{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.6rem}.btn[data-v-9e3298f3]{text-decoration:none;color:var(--brand);font-weight:600;white-space:nowrap;border:1px solid var(--line);border-radius:8px;padding:.35rem .7rem;align-self:flex-start;height:fit-content}.detail[data-v-546529d2]{max-width:var(--page);margin:0 auto;padding:1rem 1rem 3rem}.top[data-v-546529d2]{margin-bottom:.8rem}.panel[data-v-546529d2]{margin-bottom:1rem}h1[data-v-546529d2]{font-size:1.35rem;margin:0 0 .3rem}h2[data-v-546529d2]{font-size:1.05rem;margin:0 0 .6rem}.meta[data-v-546529d2]{color:var(--muted);font-size:.85rem;margin:.15rem 0}.instructions[data-v-546529d2]{background:var(--brand-soft);border-radius:8px;padding:.6rem .8rem;margin-top:.6rem}.actions[data-v-546529d2]{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.9rem;align-items:center}.due-edit[data-v-546529d2]{display:flex;gap:.3rem;align-items:center}button[data-v-546529d2]{border:1px solid var(--line);background:#fff;border-radius:8px;padding:.4rem .8rem;font:inherit;cursor:pointer}button.danger[data-v-546529d2]{color:var(--danger);border-color:#fca5a5}input[type=datetime-local][data-v-546529d2]{padding:.4rem;border:1px solid var(--line);border-radius:8px;font:inherit}table[data-v-546529d2]{width:100%;border-collapse:collapse}th[data-v-546529d2],td[data-v-546529d2]{text-align:left;padding:.5rem .4rem;border-bottom:1px solid #eef2f7;vertical-align:middle}th[data-v-546529d2]{font-size:.78rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}a[data-v-546529d2]{color:var(--brand)}.hint[data-v-546529d2]{color:var(--muted)}.ok[data-v-546529d2]{color:var(--brand)}.classes[data-v-bdee00f8]{max-width:var(--page-wide);margin:0 auto;padding:1rem 1rem 3rem}.top[data-v-bdee00f8]{display:flex;justify-content:space-between;align-items:baseline}h1[data-v-bdee00f8]{font-size:1.5rem;margin:0 0 1rem}h2[data-v-bdee00f8]{font-size:1.1rem;margin:0 0 .5rem}h3[data-v-bdee00f8]{font-size:.85rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:1rem 0 .4rem}.col[data-v-bdee00f8]{display:flex;flex-direction:column;gap:.8rem}form[data-v-bdee00f8]{display:flex;flex-direction:column;gap:.5rem}input[data-v-bdee00f8],select[data-v-bdee00f8],.search[data-v-bdee00f8]{width:100%;box-sizing:border-box;padding:.5rem;font:inherit;border:1px solid var(--line);border-radius:8px;background:#fff}button[data-v-bdee00f8]{border:1px solid var(--line);background:#fff;border-radius:8px;padding:.45rem .8rem;font:inherit;cursor:pointer}button.primary[data-v-bdee00f8]{background:var(--brand);color:#fff;border-color:var(--brand);font-weight:600}button.danger[data-v-bdee00f8]{color:var(--danger);border-color:#fca5a5}button.ghost[data-v-bdee00f8]{border:0;color:var(--muted)}.class-list[data-v-bdee00f8]{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.4rem}.class-btn[data-v-bdee00f8]{width:100%;text-align:left;display:flex;flex-direction:column;gap:.1rem}.class-btn.on[data-v-bdee00f8]{border-color:var(--brand);background:var(--brand-soft)}.class-btn .cname[data-v-bdee00f8]{font-weight:600}.class-btn small[data-v-bdee00f8]{color:var(--muted)}.dhead[data-v-bdee00f8]{display:flex;justify-content:space-between;gap:.8rem;align-items:flex-start}.members[data-v-bdee00f8]{list-style:none;padding:0;margin:0}.members li[data-v-bdee00f8]{display:flex;justify-content:space-between;align-items:center;padding:.4rem 0;border-bottom:1px solid #eef2f7}.pick[data-v-bdee00f8]{max-height:16rem;overflow-y:auto;margin:.4rem 0 .7rem}.opt[data-v-bdee00f8]{display:flex;align-items:center;gap:.5rem;padding:.25rem 0;cursor:pointer}.meta[data-v-bdee00f8]{color:var(--muted);font-size:.85rem;margin:0}.hint[data-v-bdee00f8]{color:var(--muted)}.error[data-v-bdee00f8]{color:var(--danger)}a[data-v-bdee00f8]{color:var(--brand)}.home[data-v-574ed0d2]{max-width:var(--page);margin:0 auto;padding:1rem 1rem 3rem}.top[data-v-574ed0d2]{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;flex-wrap:wrap}.top h1[data-v-574ed0d2]{margin:.1rem 0 0;font-size:1.6rem}.brand[data-v-574ed0d2]{margin:0;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:#15803d;font-weight:700}.who[data-v-574ed0d2]{font-size:.85rem;color:#64748b;display:flex;gap:.6rem;align-items:center}.who button[data-v-574ed0d2]{border:1px solid #cbd5e1;background:none;border-radius:6px;padding:.25rem .6rem;cursor:pointer;color:#475569}.tools[data-v-574ed0d2]{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0 1.3rem}.tools a[data-v-574ed0d2]{text-decoration:none;font-size:.85rem;color:#334155;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:999px;padding:.35rem .75rem}.levels[data-v-574ed0d2]{display:flex;gap:.5rem;overflow-x:auto;padding-bottom:.4rem;margin-bottom:1rem}.level[data-v-574ed0d2]{flex:0 0 auto;display:flex;flex-direction:column;align-items:flex-start;gap:.1rem;background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:.5rem .8rem;cursor:pointer;text-align:left}.level .cefr[data-v-574ed0d2]{font-weight:700;font-size:.95rem;color:#0f172a}.level .lname[data-v-574ed0d2]{font-size:.72rem;color:#64748b;max-width:9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.level .count[data-v-574ed0d2]{font-size:.7rem;color:#15803d;font-weight:600}.level.on[data-v-574ed0d2]{border-color:#15803d;background:#f0fdf4}.cards[data-v-574ed0d2]{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}.card[data-v-574ed0d2]{display:flex;align-items:center;gap:.8rem;text-decoration:none;color:inherit;border:1px solid #e2e8f0;border-radius:12px;padding:.7rem .9rem;background:#fff}.card .num[data-v-574ed0d2]{flex:0 0 2rem;height:2rem;border-radius:50%;background:#f0fdf4;color:#15803d;font-weight:700;display:flex;align-items:center;justify-content:center;font-size:.9rem}.card .body[data-v-574ed0d2]{display:flex;flex-direction:column;flex:1 1 auto}.card .cname[data-v-574ed0d2]{font-weight:600}.card .meta[data-v-574ed0d2]{color:#64748b;font-size:.78rem}.card .go[data-v-574ed0d2]{color:#15803d;font-weight:600;font-size:.9rem}.chip[data-v-574ed0d2]{font-size:.7rem;background:#ffe9b3;border-radius:999px;padding:.1rem .5rem;font-style:normal;margin-left:.3rem}.chip.marked[data-v-574ed0d2]{background:#bbf7d0}.chip.submitted[data-v-574ed0d2]{background:#fde68a}.past-title[data-v-574ed0d2]{margin-top:2rem;font-size:1.1rem}.past[data-v-574ed0d2]{list-style:none;padding:0}.past li[data-v-574ed0d2]{display:flex;justify-content:space-between;gap:.6rem;padding:.55rem 0;border-bottom:1px solid #eef2f7}.past a[data-v-574ed0d2]{color:#15803d}.date[data-v-574ed0d2]{color:#94a3b8;margin-left:.3rem}.empty[data-v-574ed0d2]{color:#64748b}.tools a.highlight[data-v-574ed0d2]{background:var(--brand-soft);border-color:#bbf7d0;color:#14532d;font-weight:600}.badge[data-v-574ed0d2]{background:#dc2626;color:#fff;border-radius:999px;font-style:normal;font-size:.7rem;padding:.05rem .4rem;margin-left:.3rem;font-weight:700}.tasks-block[data-v-574ed0d2]{margin-bottom:1.4rem}.tasks[data-v-574ed0d2]{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}.tasks li[data-v-574ed0d2]{display:flex;justify-content:space-between;align-items:center;gap:.8rem;border:1px solid #bbf7d0;background:var(--brand-soft);border-radius:12px;padding:.6rem .9rem}.tinfo[data-v-574ed0d2]{display:flex;flex-direction:column}.tinfo .meta[data-v-574ed0d2]{color:#4b5563}.go-task[data-v-574ed0d2]{text-decoration:none;color:#fff;background:var(--brand);border-radius:8px;padding:.4rem .9rem;font-weight:600;font-size:.9rem;white-space:nowrap}.chip.late[data-v-574ed0d2]{background:#fecaca;color:#7f1d1d}.see-all[data-v-574ed0d2]{display:inline-block;margin-top:.5rem;color:var(--brand);font-size:.88rem}@media(min-width:48rem){.top h1[data-v-574ed0d2]{font-size:1.9rem}.past[data-v-574ed0d2]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 1.5rem}.tasks[data-v-574ed0d2]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:62rem){.tasks[data-v-574ed0d2]{grid-template-columns:repeat(3,minmax(0,1fr))}}.entry[data-v-bdf0710e]{max-width:22rem;margin:14vh auto;text-align:center;padding:1rem}.error[data-v-bdf0710e]{color:#c00}.login[data-v-8d1cecbc]{max-width:24rem;margin:8vh auto;padding:1rem;display:flex;flex-direction:column}form[data-v-8d1cecbc]{display:flex;flex-direction:column;gap:.9rem}.field[data-v-8d1cecbc]{display:flex;flex-direction:column;gap:.25rem}.field span[data-v-8d1cecbc]{font-weight:600;font-size:.9rem}input[data-v-8d1cecbc],button[data-v-8d1cecbc]{padding:.7rem;font-size:1rem}button[data-v-8d1cecbc]{background:#345;color:#fff;border:0;border-radius:8px;cursor:pointer}.hint[data-v-8d1cecbc]{color:#666;font-size:.8rem}.student-hint[data-v-8d1cecbc]{background:#eef3f8;border-radius:8px;padding:.6rem .8rem;font-size:.85rem;color:#345;margin:0}.code-form[data-v-8d1cecbc]{margin-bottom:1.2rem}.code-form button[data-v-8d1cecbc]{background:#15803d}.sep[data-v-8d1cecbc]{text-align:center;color:#64748b;font-size:.8rem;margin:0 0 1rem;border-top:1px solid #e2e8f0;padding-top:.9rem}.error[data-v-8d1cecbc]{color:#c00}.alta[data-v-8d1cecbc]{text-align:center;font-size:.88rem;color:#64748b;margin:1.4rem 0 0}.alta a[data-v-8d1cecbc]{color:#15803d;font-weight:600}.runner[data-v-6350511c]{max-width:var(--page);margin:0 auto;padding:1rem}.task-banner[data-v-6350511c]{border:1px solid #bbf7d0;background:#f0fdf4;border-radius:12px;padding:.8rem 1rem;margin:1rem 0}.task-banner p[data-v-6350511c]{margin:.2rem 0;font-size:.9rem;color:#14532d}.task-banner .due[data-v-6350511c]{font-weight:600}.task-banner .instructions[data-v-6350511c]{font-style:italic}.parts[data-v-6350511c]{list-style:none;padding:0}.parts li[data-v-6350511c]{padding:.5rem 0;border-bottom:1px solid #eee}.mins[data-v-6350511c]{float:right;color:#666}.mode[data-v-6350511c]{border:1px solid #ddd;border-radius:8px;padding:.8rem 1rem;margin:1rem 0}.mode-opt[data-v-6350511c]{display:flex;align-items:center;gap:.5rem;padding:.3rem 0;cursor:pointer}.mode-opt.solo[data-v-6350511c]{margin-bottom:.5rem}.skill-picks[data-v-6350511c]{margin:.4rem 0 0 1.4rem}.bar[data-v-6350511c]{display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;background:#fff;padding:.5rem 0;border-bottom:2px solid #345;z-index:5}.timer[data-v-6350511c]{font-variant-numeric:tabular-nums;font-weight:600}.timer.low[data-v-6350511c]{color:#c00}.paced[data-v-6350511c]{font-size:.8rem;color:#15803d;font-weight:600}.part-tabs[data-v-6350511c]{display:flex;gap:.3rem;flex-wrap:wrap;margin:.6rem 0}.tab[data-v-6350511c]{border:1px solid #cbd5e1;background:#fff;border-radius:999px;padding:.25rem .7rem;cursor:pointer;font-size:.85rem}.tab.answered[data-v-6350511c]{border-color:#15803d;background:#f0fdf4}.tab.active[data-v-6350511c]{background:#345;color:#fff;border-color:#345}.instructions[data-v-6350511c]{font-style:italic;color:#345}@media(min-width:62rem){.runner[data-v-6350511c]{max-width:var(--page)}.pic-options[data-v-6350511c]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.6rem}.pictures[data-v-6350511c]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}.parts[data-v-6350511c]{columns:2}}.matching-text[data-v-6350511c]{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:.6rem .9rem;margin:.5rem 0}.matching-text h3[data-v-6350511c]{margin:0 0 .3rem}.passage[data-v-6350511c]{white-space:pre-wrap;font-family:inherit;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:.8rem}.form-title[data-v-6350511c]{font-weight:700;letter-spacing:.05em}.gap-input[data-v-6350511c]{padding:.5rem;font-size:1rem;width:14rem;max-width:100%}.pictures[data-v-6350511c]{display:flex;gap:.6rem;flex-wrap:wrap;margin:.8rem 0}.picture[data-v-6350511c]{flex:1 1 30%;min-width:9rem;position:relative}.picture.selectable[data-v-6350511c]{cursor:pointer;outline:2px dashed #cbd5e1;outline-offset:2px;border-radius:8px}.picture.chosen[data-v-6350511c]{outline:3px solid #15803d;outline-offset:2px;border-radius:8px}.pick-badge[data-v-6350511c]{position:absolute;top:6px;right:6px;background:#15803d;color:#fff;border-radius:999px;width:1.4rem;height:1.4rem;display:flex;align-items:center;justify-content:center}.picture[data-v-6350511c] svg{width:100%;height:auto;border-radius:8px}.picture img[data-v-6350511c]{width:100%;height:auto;border-radius:8px;border:1px solid #e2e8f0}.pic-options[data-v-6350511c]{display:flex;gap:.6rem;flex-wrap:wrap}.pic-option[data-v-6350511c]{flex:1 1 28%;min-width:7rem;border:2px solid #ddd;border-radius:8px;padding:.4rem;cursor:pointer;text-align:center;position:relative}.pic-option.selected[data-v-6350511c]{border-color:#345;background:#eef3f8}.pic-option img[data-v-6350511c],.pic-option[data-v-6350511c] svg{width:100%;height:auto;border-radius:6px}.pic-option input[data-v-6350511c]{position:absolute;opacity:0}.notice[data-v-6350511c]{background:#f4f6f8;border:1px solid #d0d7de;border-radius:6px;padding:.6rem;font-family:inherit}.question[data-v-6350511c]{margin:1rem 0}.option[data-v-6350511c]{display:flex;gap:.5rem;padding:.45rem .6rem;border:1px solid #ddd;border-radius:6px;margin:.3rem 0;cursor:pointer}.option.selected[data-v-6350511c]{border-color:#345;background:#eef3f8}textarea[data-v-6350511c]{width:100%;box-sizing:border-box;padding:.6rem;font-size:1rem;font-family:inherit}.audio-box[data-v-6350511c]{margin:1rem 0}audio[data-v-6350511c]{width:100%}.speaking-box[data-v-6350511c]{border:1px solid #ddd;border-radius:8px;padding:1rem;margin:1rem 0}.examiner-line[data-v-6350511c]{background:#eef3f8;border-radius:8px;padding:.7rem}.examiner-label[data-v-6350511c]{font-weight:700;color:#345}.status[data-v-6350511c]{font-weight:600}.status.rec[data-v-6350511c]{color:#c00}.status.partner[data-v-6350511c]{color:#7c3aed}.partner-text[data-v-6350511c]{display:block;font-weight:400;font-style:italic;color:#555;margin-top:.3rem}.turn-bar[data-v-6350511c]{display:flex;justify-content:space-between;align-items:center;gap:1rem;border-radius:8px;padding:.5rem .8rem;margin-bottom:.7rem;background:#eef2f7;font-weight:700}.turn-bar.examiner[data-v-6350511c]{background:#e0edff;color:#1d4ed8}.turn-bar.partner[data-v-6350511c]{background:#f3e8ff;color:#7c3aed}.turn-bar.prep[data-v-6350511c]{background:#fff7d6;color:#92400e}.turn-bar.recording[data-v-6350511c]{background:#ffe4e6;color:#b91c1c}.turn-bar.finished[data-v-6350511c]{background:#dcfce7;color:#15803d}.turn-bar .clock[data-v-6350511c]{font-variant-numeric:tabular-nums}.partner-line[data-v-6350511c]{background:#f8f5ff;border-radius:8px;padding:.6rem}.partner-label[data-v-6350511c]{font-weight:700;color:#7c3aed}.prep-box[data-v-6350511c]{background:#fffbeb;border:1px solid #fde68a;border-radius:8px;padding:.7rem .9rem}.prep-bar[data-v-6350511c]{height:8px;background:#fde68a;border-radius:999px;overflow:hidden;margin:.5rem 0}.prep-bar .fill[data-v-6350511c]{height:100%;background:#f59e0b;transition:width 1s linear}.meter-box[data-v-6350511c]{margin-top:.4rem}.meter[data-v-6350511c]{height:14px;background:#f1f5f9;border-radius:999px;overflow:hidden;margin-bottom:.4rem;border:1px solid #e2e8f0}.meter .level[data-v-6350511c]{height:100%;background:linear-gradient(90deg,#86efac,#16a34a);transition:width .1s linear;min-width:2px}.meter.hot .level[data-v-6350511c]{background:linear-gradient(90deg,#22c55e,#15803d)}.hearing[data-v-6350511c]{color:#15803d;font-weight:600}.warn[data-v-6350511c]{color:#b45309;font-weight:600}.steps-review .step-list[data-v-6350511c]{list-style:none;padding:0;margin:.5rem 0 0}.steps-review li[data-v-6350511c]{display:flex;align-items:center;gap:.5rem;padding:.35rem 0;border-bottom:1px solid #f1f5f9}.steps-review li .ic[data-v-6350511c]{font-weight:700;width:1.2rem;text-align:center}.steps-review li.ok .ic[data-v-6350511c]{color:#15803d}.steps-review li.ko .ic[data-v-6350511c]{color:#b91c1c}.steps-review li .txt[data-v-6350511c]{flex:1}button.ghost[data-v-6350511c]{border:1px solid #cbd5e1;background:#fff;border-radius:6px;padding:.3rem .7rem;cursor:pointer;font-size:.85rem}.nav[data-v-6350511c]{margin:1.2rem 0;display:flex;gap:.6rem;align-items:center}.nav .spacer[data-v-6350511c]{flex:1}.nav button[data-v-6350511c]{border:1px solid #cbd5e1;background:#fff;border-radius:8px;padding:.6rem 1rem;cursor:pointer}button.primary[data-v-6350511c]{background:#345;color:#fff;border:0;border-radius:8px;padding:.7rem 1.4rem;font-size:1rem;cursor:pointer}button.primary[data-v-6350511c]:disabled{opacity:.5}.error[data-v-6350511c]{color:#c00}.warn-box[data-v-6350511c]{border:1px solid #f0c000;background:#fff8e1;border-radius:8px;padding:.6rem .9rem;margin-top:.6rem}.warn-box button[data-v-6350511c]{border:1px solid #345;background:none;border-radius:6px;padding:.4rem .9rem;cursor:pointer}.hint[data-v-6350511c]{color:#666;font-size:.9rem}pre[data-v-6350511c]{white-space:pre-wrap}.tasks[data-v-17221c9e]{max-width:var(--page);margin:0 auto;padding:1rem 1rem 3rem}.top[data-v-17221c9e]{display:flex;justify-content:space-between;align-items:baseline}h1[data-v-17221c9e]{font-size:1.5rem;margin:0 0 1rem}.list[data-v-17221c9e]{list-style:none;padding:0;margin:0}.task[data-v-17221c9e]{display:flex;flex-direction:column;gap:.15rem}.task.done[data-v-17221c9e]{opacity:.75}.head[data-v-17221c9e]{display:flex;justify-content:space-between;gap:.5rem;align-items:baseline}.meta[data-v-17221c9e]{color:var(--muted);font-size:.83rem;margin:.1rem 0}.due.late[data-v-17221c9e]{color:var(--danger);font-weight:600}.instructions[data-v-17221c9e]{background:var(--brand-soft);border-radius:8px;padding:.5rem .7rem;font-size:.85rem;margin:.5rem 0 0}.score[data-v-17221c9e]{font-weight:700;margin:.4rem 0 0}.go[data-v-17221c9e]{margin-top:.7rem}.btn[data-v-17221c9e]{display:inline-block;text-decoration:none;color:var(--brand);font-weight:600;border:1px solid var(--line);border-radius:8px;padding:.45rem .9rem}.btn.primary[data-v-17221c9e]{background:var(--brand);color:#fff;border-color:var(--brand)}.hint[data-v-17221c9e]{color:var(--muted)}a[data-v-17221c9e]{color:var(--brand)}.mw[data-v-e1d0c8e2]{border-top:1px solid #e2e8f0;margin-top:1.5rem;padding-top:1rem}.head[data-v-e1d0c8e2]{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;flex-wrap:wrap}.head h2[data-v-e1d0c8e2]{margin:0;font-size:1.05rem}.counters em[data-v-e1d0c8e2]{font-style:normal;border-radius:999px;padding:.1rem .6rem;font-size:.8rem;margin-left:.3rem}.pending[data-v-e1d0c8e2]{background:#fef3c7}.mastered[data-v-e1d0c8e2]{background:#dcfce7}.hint[data-v-e1d0c8e2]{color:#666;font-size:.88rem}.words[data-v-e1d0c8e2]{list-style:none;padding:0}.words li[data-v-e1d0c8e2]{display:flex;gap:.5rem;padding:.5rem 0;border-bottom:1px solid #f1f5f9}.words li.done[data-v-e1d0c8e2]{opacity:.65}.src[data-v-e1d0c8e2]{flex:none}.forms[data-v-e1d0c8e2]{display:block}.chip[data-v-e1d0c8e2]{font-size:.7rem;background:#e2e8f0;border-radius:999px;padding:.05rem .5rem;margin-left:.35rem}.chip.ok[data-v-e1d0c8e2]{background:#dcfce7}.note[data-v-e1d0c8e2],.ex[data-v-e1d0c8e2]{display:block;color:#64748b;font-size:.85rem}s[data-v-e1d0c8e2]{color:#b91c1c}strong[data-v-e1d0c8e2]{color:#15803d}.drill[data-v-e1d0c8e2]{border:1px solid #e2e8f0;border-radius:8px;padding:.7rem .9rem;margin:.6rem 0}.qtext[data-v-e1d0c8e2]{color:#475569;font-size:.85rem;margin:0 0 .3rem}.question[data-v-e1d0c8e2]{margin:.2rem 0 .5rem}.gap-input[data-v-e1d0c8e2]{padding:.45rem;font-size:1rem;width:12rem;max-width:100%}.option[data-v-e1d0c8e2]{display:flex;gap:.5rem;padding:.4rem .6rem;border:1px solid #ddd;border-radius:6px;margin:.25rem 0;cursor:pointer}.option.right[data-v-e1d0c8e2]{border-color:#15803d;background:#f0fdf4}.option.wrong[data-v-e1d0c8e2]{border-color:#b91c1c;background:#fef2f2}.pron-row[data-v-e1d0c8e2]{display:flex;gap:.5rem;flex-wrap:wrap}.pron-row button[data-v-e1d0c8e2]{border:1px solid #cbd5e1;background:#fff;border-radius:6px;padding:.4rem .9rem;cursor:pointer}.pron-row button.rec[data-v-e1d0c8e2]{border-color:#c00;color:#c00}.check[data-v-e1d0c8e2]{border:1px solid #345;background:none;border-radius:6px;padding:.35rem .9rem;cursor:pointer;margin-left:.4rem}.feedback[data-v-e1d0c8e2]{border-radius:8px;padding:.5rem .8rem;margin-top:.5rem}.feedback.good[data-v-e1d0c8e2]{background:#f0fdf4;border:1px solid #bbf7d0}.feedback.bad[data-v-e1d0c8e2]{background:#fef2f2;border:1px solid #fecaca}.why[data-v-e1d0c8e2]{color:#475569;font-size:.88rem;margin:.2rem 0 0}.why.ok[data-v-e1d0c8e2]{color:#15803d;font-weight:600}button.primary[data-v-e1d0c8e2]{background:#345;color:#fff;border:0;border-radius:8px;padding:.6rem 1.2rem;font-size:1rem;cursor:pointer;margin-top:.6rem}button.primary[data-v-e1d0c8e2]:disabled{opacity:.5}.practice[data-v-5d733c6b]{max-width:var(--page);margin:0 auto;padding:1rem 1rem 3rem}.top[data-v-5d733c6b]{display:flex;justify-content:space-between;align-items:baseline}.hint[data-v-5d733c6b]{color:#666;font-size:.9rem}.ex-list[data-v-5d733c6b]{list-style:none;padding:0}.ex-list li[data-v-5d733c6b]{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.7rem 0;border-bottom:1px solid #eee}.ex-list small[data-v-5d733c6b]{display:block;color:#666}.instructions[data-v-5d733c6b]{font-style:italic;color:#345}.question[data-v-5d733c6b]{margin:1.2rem 0}.gap-input[data-v-5d733c6b]{padding:.5rem;font-size:1rem;width:14rem;max-width:100%}.option[data-v-5d733c6b]{display:flex;gap:.5rem;padding:.45rem .6rem;border:1px solid #ddd;border-radius:6px;margin:.3rem 0;cursor:pointer}.option.selected[data-v-5d733c6b]{border-color:#345;background:#eef3f8}.option.right[data-v-5d733c6b]{border-color:#15803d;background:#f0fdf4}.option.wrong[data-v-5d733c6b]{border-color:#b91c1c;background:#fef2f2}.feedback[data-v-5d733c6b]{border-radius:8px;padding:.6rem .9rem;margin-top:.4rem}.feedback.good[data-v-5d733c6b]{background:#f0fdf4;border:1px solid #bbf7d0}.feedback.bad[data-v-5d733c6b]{background:#fef2f2;border:1px solid #fecaca}.explain[data-v-5d733c6b]{color:#444;margin:.3rem 0 0}.check[data-v-5d733c6b]{border:1px solid #345;background:none;border-radius:6px;padding:.4rem .9rem;cursor:pointer;margin-top:.3rem}.nav[data-v-5d733c6b]{margin:1.2rem 0;display:flex;justify-content:flex-end}button.primary[data-v-5d733c6b]{background:#345;color:#fff;border:0;border-radius:8px;padding:.6rem 1.2rem;font-size:1rem;cursor:pointer}.score-chip[data-v-5d733c6b]{background:#fff3;border-radius:999px;padding:.1rem .5rem;margin-left:.4rem}.annotated[data-v-1d246b75]{margin:.5rem 0}.text-body[data-v-1d246b75]{background:#f8fafc;border-left:3px solid #345;padding:.7rem .9rem;white-space:pre-wrap;line-height:1.9;border-radius:0 8px 8px 0}.mark[data-v-1d246b75]{border:0;background:none;padding:0;font:inherit;cursor:pointer;text-align:left}.wrong[data-v-1d246b75]{text-decoration:line-through;text-decoration-color:#b91c1c;color:#b91c1c}.fix[data-v-1d246b75]{color:#15803d;font-weight:600;margin-left:.25rem}.mark.open .fix[data-v-1d246b75]{background:#dcfce7;border-radius:4px;padding:0 .2rem}.detail[data-v-1d246b75]{border-radius:8px;padding:.6rem .9rem;margin-top:.6rem;background:#fff;border:1px solid #e2e8f0}.detail .cat[data-v-1d246b75],.chip[data-v-1d246b75]{font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;font-weight:700;color:#475569}.chip[data-v-1d246b75]{background:#e2e8f0;border-radius:999px;padding:.05rem .5rem;margin-right:.3rem}.chip.grammar[data-v-1d246b75],.detail.grammar .cat[data-v-1d246b75]{color:#b91c1c}.chip.vocabulary[data-v-1d246b75],.chip.collocation[data-v-1d246b75]{color:#b45309}.chip.register[data-v-1d246b75]{color:#7c3aed}.why[data-v-1d246b75]{color:#475569;font-size:.9rem;margin:.2rem 0 0}.list[data-v-1d246b75]{margin-top:.6rem}.list ol[data-v-1d246b75]{padding-left:1.1rem}.li-ann[data-v-1d246b75]{margin:.4rem 0;cursor:pointer}s[data-v-1d246b75]{color:#b91c1c}strong[data-v-1d246b75]{color:#15803d}.wf h3[data-v-a0753c52]{margin:1rem 0 .3rem;font-size:1rem}.block[data-v-a0753c52]{margin-top:1rem}.hint[data-v-a0753c52]{color:#666;font-size:.85rem;margin:0 0 .4rem}.upgrade[data-v-a0753c52]{border:1px solid #e2e8f0;border-radius:8px;padding:.5rem .8rem;margin:.4rem 0;background:#fff}.orig[data-v-a0753c52]{color:#64748b;font-style:italic;margin:0 0 .3rem}.rew[data-v-a0753c52]{color:#0f766e;font-weight:600;margin:0}.why[data-v-a0753c52]{color:#475569;font-size:.88rem}.structure[data-v-a0753c52]{list-style:none;padding:0;margin:0}.structure li[data-v-a0753c52]{display:flex;gap:.5rem;padding:.35rem 0;border-bottom:1px solid #f1f5f9;align-items:flex-start}.structure .ic[data-v-a0753c52]{font-weight:700;width:1.1rem;flex:none;text-align:center}.structure li.ok .ic[data-v-a0753c52]{color:#15803d}.structure li.weak .ic[data-v-a0753c52]{color:#b45309}.structure li.missing .ic[data-v-a0753c52],.structure li.missing strong[data-v-a0753c52]{color:#b91c1c}.results[data-v-e5d5f84c]{max-width:var(--page);margin:0 auto;padding:1rem 1rem 3rem}.summary-grid[data-v-e5d5f84c]{display:grid;gap:.8rem;grid-template-columns:1fr}@media(min-width:48rem){.summary-grid[data-v-e5d5f84c]{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.summary-grid .card[data-v-e5d5f84c]{margin:0}}.top[data-v-e5d5f84c]{display:flex;justify-content:space-between;align-items:baseline}.card[data-v-e5d5f84c]{border:1px solid #ddd;border-radius:8px;padding:1rem;margin:1rem 0}.big[data-v-e5d5f84c]{font-size:1.6rem;font-weight:700}.scale[data-v-e5d5f84c]{margin:.6rem 0}.scale p[data-v-e5d5f84c]{margin:.2rem 0;color:#444}.overall[data-v-e5d5f84c]{font-style:italic}.error[data-v-e5d5f84c]{color:#c00}.hint[data-v-e5d5f84c]{color:#666;font-size:.9rem}.partial-chip[data-v-e5d5f84c]{display:inline-block;background:#ffe9b3;border-radius:999px;padding:.25rem .9rem;font-weight:600}.score[data-v-e5d5f84c]{float:right;font-size:1rem;color:#345}.answers[data-v-e5d5f84c]{width:100%;border-collapse:collapse}.answers th[data-v-e5d5f84c]{text-align:left;font-size:.75rem;color:#888;font-weight:600;padding:.2rem .4rem}.answers td[data-v-e5d5f84c]{padding:.3rem .4rem;border-bottom:1px solid #f1f5f9;vertical-align:top}.qn[data-v-e5d5f84c]{color:#888}.qtext[data-v-e5d5f84c]{width:45%}.given[data-v-e5d5f84c]{font-weight:600}.ok .given[data-v-e5d5f84c]{color:#15803d}.ko .given[data-v-e5d5f84c]{color:#b91c1c}.mark[data-v-e5d5f84c]{font-weight:700}.key[data-v-e5d5f84c]{color:#64748b}.scale-card[data-v-e5d5f84c]{background:#f5f3ff;border-color:#ddd6fe}.grade[data-v-e5d5f84c]{font-size:1rem;background:#ede9fe;border-radius:999px;padding:.2rem .8rem;margin-left:.5rem}.scale-skills[data-v-e5d5f84c]{list-style:none;padding:0;margin:.4rem 0}.scale-skills li[data-v-e5d5f84c]{padding:.15rem 0}.guide[data-v-e5d5f84c]{background:#f8fafc}.guide-skill[data-v-e5d5f84c]{margin:.8rem 0;padding-top:.5rem;border-top:1px solid #e2e8f0}.guide-skill h3[data-v-e5d5f84c]{margin:.2rem 0}.practise-tip[data-v-e5d5f84c]{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:.5rem .8rem;margin:.4rem 0}.practise-tip p[data-v-e5d5f84c]{margin:.2rem 0;color:#444}.practice-cta[data-v-e5d5f84c]{margin:1.2rem 0}.btn-primary[data-v-e5d5f84c]{display:inline-block;background:#345;color:#fff;border-radius:8px;padding:.7rem 1.4rem;text-decoration:none}pre[data-v-e5d5f84c]{white-space:pre-wrap}details[data-v-e5d5f84c]{margin-top:.5rem}.lowconf[data-v-e5d5f84c]{font-size:.72rem;background:#fef3c7;color:#92400e;border-radius:999px;padding:.05rem .45rem;margin-left:.4rem}.review[data-v-69f90a49]{max-width:var(--page-wide);margin:0 auto;padding:1rem 1rem 3rem}.top[data-v-69f90a49]{display:flex;justify-content:space-between;align-items:baseline}h1[data-v-69f90a49]{font-size:1.5rem;margin:0 0 1rem}.news[data-v-69f90a49]{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;background:#fffbeb;border-color:#fcd34d;margin-bottom:.8rem}.news ul[data-v-69f90a49]{margin:.4rem 0 0;padding-left:1.1rem;font-size:.85rem}.filters[data-v-69f90a49]{display:flex;flex-wrap:wrap;gap:.7rem;align-items:flex-end;margin-bottom:.8rem}.filters label[data-v-69f90a49]{display:flex;flex-direction:column;gap:.2rem;flex:1 1 10rem}.filters span[data-v-69f90a49]{font-size:.75rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}select[data-v-69f90a49]{padding:.45rem;font:inherit;border:1px solid var(--line);border-radius:8px;background:#fff}button[data-v-69f90a49],.btn[data-v-69f90a49]{border:1px solid var(--line);background:#fff;border-radius:8px;padding:.45rem .8rem;font:inherit;cursor:pointer;text-decoration:none;color:var(--brand)}.more[data-v-69f90a49]{width:100%;margin-top:.6rem}table[data-v-69f90a49]{width:100%;border-collapse:collapse}th[data-v-69f90a49],td[data-v-69f90a49]{text-align:left;padding:.5rem .4rem;border-bottom:1px solid #eef2f7;vertical-align:top}th[data-v-69f90a49]{font-size:.76rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}small[data-v-69f90a49]{color:var(--muted)}.counter[data-v-69f90a49]{color:var(--muted);font-size:.82rem;text-align:right}a[data-v-69f90a49]{color:var(--brand)}.eval[data-v-cde4d1a7]{border-top:2px dashed #cbd5e1;margin-top:.8rem;padding-top:.6rem}.reviewed-chip[data-v-cde4d1a7]{background:#bbf7d0;border-radius:999px;padding:.15rem .6rem;font-size:.75rem;margin-left:.5rem}.scales[data-v-cde4d1a7]{display:flex;gap:1rem;flex-wrap:wrap}.scale[data-v-cde4d1a7]{flex:1 1 12rem}.scale label[data-v-cde4d1a7]{font-weight:700;display:block}.ai-band[data-v-cde4d1a7]{font-weight:400;color:#64748b;margin-left:.4rem}.scale input[data-v-cde4d1a7]{width:4rem;padding:.3rem;font-size:1rem}.fb[data-v-cde4d1a7]{font-size:.85rem;color:#444}.overall[data-v-cde4d1a7]{font-style:italic}.comment-label[data-v-cde4d1a7]{display:block;font-weight:600;margin-top:.5rem}textarea[data-v-cde4d1a7]{width:100%;box-sizing:border-box;padding:.5rem;font-family:inherit}.actions[data-v-cde4d1a7]{margin-top:.5rem;display:flex;align-items:center;gap:.8rem}button.primary[data-v-cde4d1a7]{background:#345;color:#fff;border:0;border-radius:8px;padding:.5rem 1.1rem;cursor:pointer}.saved[data-v-cde4d1a7]{color:#15803d;font-weight:600}.hint[data-v-cde4d1a7]{color:#666;font-size:.85rem}pre[data-v-cde4d1a7]{white-space:pre-wrap}.err-block[data-v-cde4d1a7]{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap}.err[data-v-cde4d1a7]{color:#b91c1c;font-weight:600;margin:0}button.retry[data-v-cde4d1a7]{background:#fff;border:1px solid #b91c1c;color:#b91c1c;border-radius:8px;padding:.4rem .9rem;cursor:pointer}.lowconf[data-v-cde4d1a7]{font-size:.72rem;background:#fef3c7;color:#92400e;border-radius:999px;padding:.05rem .45rem;margin-left:.4rem}.ra[data-v-f5b9ecfe]{max-width:var(--page);margin:0 auto;padding:1rem 1rem 3rem}.summary-grid[data-v-f5b9ecfe]{display:grid;gap:.8rem;grid-template-columns:1fr}@media(min-width:48rem){.summary-grid[data-v-f5b9ecfe]{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.summary-grid .card[data-v-f5b9ecfe]{margin:0}}.top[data-v-f5b9ecfe]{display:flex;justify-content:space-between;align-items:baseline}.card[data-v-f5b9ecfe]{border:1px solid #ddd;border-radius:8px;padding:1rem;margin:1rem 0}.score[data-v-f5b9ecfe]{float:right;font-size:1rem;color:#345}.answers[data-v-f5b9ecfe]{width:100%;border-collapse:collapse}.answers td[data-v-f5b9ecfe]{padding:.3rem .4rem;border-bottom:1px solid #f1f5f9}.qn[data-v-f5b9ecfe]{color:#888}.given[data-v-f5b9ecfe]{font-weight:600}.ok .given[data-v-f5b9ecfe]{color:#15803d}.ko .given[data-v-f5b9ecfe]{color:#b91c1c}.key[data-v-f5b9ecfe]{color:#64748b}.prompt[data-v-f5b9ecfe]{font-style:italic;color:#345}.student-text[data-v-f5b9ecfe]{background:#f8fafc;border-left:3px solid #345;margin:.5rem 0;padding:.6rem .9rem;white-space:pre-wrap}.rec[data-v-f5b9ecfe]{margin:.6rem 0}.pictures[data-v-f5b9ecfe]{display:flex;gap:.6rem;flex-wrap:wrap;margin:.6rem 0}.picture[data-v-f5b9ecfe]{flex:1 1 30%;min-width:8rem}.picture[data-v-f5b9ecfe] svg,.picture img[data-v-f5b9ecfe]{width:100%;height:auto;border-radius:8px}.examiner-q[data-v-f5b9ecfe]{margin:.2rem 0;color:#345;font-size:.9rem}audio[data-v-f5b9ecfe]{width:100%}.chip.partial[data-v-f5b9ecfe]{background:#dbeafe;border-radius:999px;padding:.15rem .6rem;font-size:.8rem;margin:0 .3rem}.hint[data-v-f5b9ecfe]{color:#666;font-size:.85rem}.guide[data-v-f5b9ecfe]{background:#f8fafc}.guide-skill[data-v-f5b9ecfe]{margin:.8rem 0;padding-top:.5rem;border-top:1px solid #e2e8f0}.guide-skill h3[data-v-f5b9ecfe]{margin:.2rem 0}.practise-tip[data-v-f5b9ecfe]{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:.5rem .8rem;margin:.4rem 0}.practise-tip p[data-v-f5b9ecfe]{margin:.2rem 0;color:#444}.overall[data-v-f5b9ecfe]{font-style:italic}.schools[data-v-ca36cd26]{max-width:var(--page-wide);margin:0 auto;padding:1rem 1rem 3rem}.top[data-v-ca36cd26]{display:flex;justify-content:space-between;align-items:baseline}h1[data-v-ca36cd26]{font-size:1.5rem;margin:0 0 1rem}h2[data-v-ca36cd26]{font-size:1.1rem;margin:0 0 .5rem}form[data-v-ca36cd26]{display:flex;flex-direction:column;gap:.5rem}input[data-v-ca36cd26],select[data-v-ca36cd26]{width:100%;box-sizing:border-box;padding:.5rem;font:inherit;border:1px solid var(--line);border-radius:8px;background:#fff}button[data-v-ca36cd26]{border:1px solid var(--line);background:#fff;border-radius:8px;padding:.4rem .75rem;font:inherit;cursor:pointer}button.primary[data-v-ca36cd26]{background:var(--brand);color:#fff;border-color:var(--brand);font-weight:600}button.ghost[data-v-ca36cd26]{border:0;color:var(--muted);padding-left:0}.list[data-v-ca36cd26]{display:flex;flex-direction:column;gap:.7rem}.head[data-v-ca36cd26]{display:flex;justify-content:space-between;gap:.6rem;align-items:baseline;flex-wrap:wrap}.meta[data-v-ca36cd26],small[data-v-ca36cd26]{color:var(--muted);font-size:.83rem}.link[data-v-ca36cd26],code[data-v-ca36cd26]{font-family:monospace;font-size:.78rem;word-break:break-all;background:#f8fafc;padding:.35rem .55rem;border-radius:6px;display:inline-block}.created[data-v-ca36cd26]{margin-top:.8rem;border-top:1px solid var(--line);padding-top:.6rem}.ok[data-v-ca36cd26]{color:var(--brand);font-weight:600}.error[data-v-ca36cd26]{color:var(--danger)}a[data-v-ca36cd26]{color:var(--brand)}.alta[data-v-344892ca]{max-width:var(--page-wide);margin:0 auto;padding:1.5rem 1rem 3rem}header[data-v-344892ca]{margin-bottom:1.2rem}h1[data-v-344892ca]{font-size:1.6rem;margin:0 0 .4rem}h2[data-v-344892ca]{font-size:1.05rem;margin:1.1rem 0 .4rem}h2[data-v-344892ca]:first-child{margin-top:0}.lead[data-v-344892ca]{color:var(--muted);margin:0;max-width:38rem}form[data-v-344892ca]{display:flex;flex-direction:column;gap:.85rem}.field[data-v-344892ca]{display:flex;flex-direction:column;gap:.25rem}.field span[data-v-344892ca]{font-weight:600;font-size:.9rem}input[type=text][data-v-344892ca],input[data-v-344892ca]:not([type]),input[type=email][data-v-344892ca],input[type=tel][data-v-344892ca]{width:100%;box-sizing:border-box;padding:.7rem;font:inherit;border:1px solid var(--line);border-radius:8px;background:#fff}.check[data-v-344892ca]{display:flex;gap:.6rem;align-items:flex-start;font-size:.88rem;color:var(--muted)}.check input[data-v-344892ca]{margin-top:.2rem;width:1.1rem;height:1.1rem}button.primary[data-v-344892ca]{background:var(--brand);color:#fff;border:0;border-radius:8px;padding:.85rem;font:inherit;font-weight:600;cursor:pointer;min-height:44px}button[disabled][data-v-344892ca]{opacity:.6;cursor:default}.info ol[data-v-344892ca]{margin:.2rem 0 0;padding-left:1.1rem}.info li[data-v-344892ca]{margin-bottom:.35rem}.hint[data-v-344892ca]{color:var(--muted);font-size:.82rem}.error[data-v-344892ca]{color:var(--danger)}.hecho[data-v-344892ca]{max-width:34rem}.volver[data-v-344892ca]{display:inline-block;margin-top:.8rem;color:var(--brand)}.trampa[data-v-344892ca]{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.verificar[data-v-cd977cd1]{max-width:38rem;margin:6vh auto;padding:1rem}h1[data-v-cd977cd1]{font-size:1.5rem;margin:0 0 .5rem}.lead[data-v-cd977cd1]{color:var(--muted);margin:0 0 1.2rem}.dato[data-v-cd977cd1]{display:flex;flex-direction:column;gap:.35rem;margin-bottom:1.1rem}.etiqueta[data-v-cd977cd1]{font-weight:600;font-size:.9rem}code[data-v-cd977cd1]{font-family:monospace;font-size:.8rem;word-break:break-all;background:#f8fafc;padding:.55rem .7rem;border-radius:6px}button[data-v-cd977cd1]{border:1px solid var(--line);background:#fff;border-radius:8px;padding:.5rem .9rem;font:inherit;cursor:pointer;min-height:44px;align-self:flex-start}button.primary[data-v-cd977cd1]{background:var(--brand);color:#fff;border-color:var(--brand);font-weight:600;align-self:stretch}.prueba[data-v-cd977cd1]{color:var(--muted);font-size:.88rem}.hint[data-v-cd977cd1]{color:var(--muted);font-size:.82rem}.volver[data-v-cd977cd1]{display:inline-block;margin-top:.8rem;color:var(--brand)}.mwp[data-v-9416c0f3]{max-width:var(--page);margin:0 auto;padding:1rem 1rem 3rem}.top[data-v-9416c0f3]{display:flex;justify-content:space-between;align-items:baseline}.top h1[data-v-9416c0f3]{font-size:1.2rem}.staff[data-v-1da79119]{max-width:var(--page-wide);margin:0 auto;padding:1rem 1rem 3rem}.top[data-v-1da79119]{display:flex;justify-content:space-between;align-items:baseline}h1[data-v-1da79119]{font-size:1.5rem;margin:0 0 1rem}h2[data-v-1da79119]{font-size:1.1rem;margin:0 0 .4rem}form[data-v-1da79119]{display:flex;flex-direction:column;gap:.5rem;margin-top:.6rem}input[data-v-1da79119],select[data-v-1da79119]{width:100%;box-sizing:border-box;padding:.5rem;font:inherit;border:1px solid var(--line);border-radius:8px;background:#fff}button[data-v-1da79119]{border:1px solid var(--line);background:#fff;border-radius:8px;padding:.4rem .75rem;font:inherit;cursor:pointer}button.primary[data-v-1da79119]{background:var(--brand);color:#fff;border-color:var(--brand);font-weight:600}button.danger[data-v-1da79119]{color:var(--danger);border-color:#fca5a5}.list[data-v-1da79119]{display:flex;flex-direction:column;gap:.7rem}.head[data-v-1da79119]{display:flex;justify-content:space-between;gap:.6rem;flex-wrap:wrap;align-items:baseline}.actions[data-v-1da79119]{display:flex;gap:.35rem;flex-wrap:wrap}.link[data-v-1da79119]{font-family:monospace;font-size:.75rem;word-break:break-all;background:#f8fafc;padding:.4rem .6rem;border-radius:6px;margin:.5rem 0 0}.meta[data-v-1da79119],.hint[data-v-1da79119],small[data-v-1da79119]{color:var(--muted);font-size:.82rem}.fresh[data-v-1da79119]{color:#b45309;font-size:.8rem;margin:.3rem 0 0}.error[data-v-1da79119]{color:var(--danger)}a[data-v-1da79119]{color:var(--brand)}.profile[data-v-8bd9f163]{max-width:var(--page-wide);margin:0 auto;padding:1rem 1rem 3rem}.top[data-v-8bd9f163]{margin-bottom:.8rem}.panel[data-v-8bd9f163]{margin-bottom:1rem}h1[data-v-8bd9f163]{font-size:1.4rem;margin:0 0 .2rem}h2[data-v-8bd9f163]{font-size:1.05rem;margin:0 0 .7rem}.meta[data-v-8bd9f163],small[data-v-8bd9f163],.hint[data-v-8bd9f163]{color:var(--muted);font-size:.83rem}.counters[data-v-8bd9f163]{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.7rem}.skill-row[data-v-8bd9f163]{margin-bottom:1.1rem}.skill-head[data-v-8bd9f163]{display:flex;justify-content:space-between;align-items:baseline}.avg[data-v-8bd9f163]{color:var(--muted);font-size:.82rem}.bars[data-v-8bd9f163]{display:flex;align-items:flex-end;gap:3px;height:4.5rem;margin:.35rem 0 .2rem;border-bottom:1px solid var(--line)}.bar-wrap[data-v-8bd9f163]{flex:1 1 0;max-width:2rem;height:100%;display:flex;align-items:flex-end}.bar[data-v-8bd9f163]{width:100%;border-radius:3px 3px 0 0;background:var(--brand)}.bar.good[data-v-8bd9f163]{background:#16a34a}.bar.mid[data-v-8bd9f163]{background:#f59e0b}.bar.low[data-v-8bd9f163]{background:#ef4444}.trend[data-v-8bd9f163]{font-size:.8rem;color:var(--muted)}.trend.up[data-v-8bd9f163]{color:#15803d;font-weight:600}.trend.down[data-v-8bd9f163]{color:var(--danger);font-weight:600}.tasks[data-v-8bd9f163]{list-style:none;padding:0;margin:0}.tasks li[data-v-8bd9f163]{display:flex;justify-content:space-between;gap:.6rem;align-items:flex-start;padding:.5rem 0;border-bottom:1px solid #eef2f7}.states[data-v-8bd9f163]{display:flex;flex-wrap:wrap;gap:.25rem;justify-content:flex-end}table[data-v-8bd9f163]{width:100%;border-collapse:collapse}th[data-v-8bd9f163],td[data-v-8bd9f163]{text-align:left;padding:.5rem .4rem;border-bottom:1px solid #eef2f7;vertical-align:top}th[data-v-8bd9f163]{font-size:.76rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}a[data-v-8bd9f163]{color:var(--brand)}.wp[data-v-82b74239]{max-width:var(--page);margin:0 auto;padding:1rem 1rem 3rem}.top[data-v-82b74239]{display:flex;justify-content:space-between;align-items:baseline}.hint[data-v-82b74239]{color:#666;font-size:.9rem}.error[data-v-82b74239]{color:#c00}.genres[data-v-82b74239],.history[data-v-82b74239]{list-style:none;padding:0}.genres li[data-v-82b74239],.history li[data-v-82b74239]{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;padding:.7rem 0;border-bottom:1px solid #eee}.genres small[data-v-82b74239],.history small[data-v-82b74239]{display:block;color:#666;font-size:.85rem}.conv[data-v-82b74239]{margin-top:.3rem}.conv summary[data-v-82b74239]{cursor:pointer;color:#345;font-size:.85rem}.conv ul[data-v-82b74239]{margin:.3rem 0;padding-left:1.1rem;color:#475569;font-size:.85rem}.link-back[data-v-82b74239]{border:0;background:none;color:#345;cursor:pointer;padding:.3rem 0}.task[data-v-82b74239]{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:.9rem;margin:.5rem 0 1rem}.task h2[data-v-82b74239]{margin:0 0 .4rem;font-size:1.05rem}.chip[data-v-82b74239]{background:#ede9fe;border-radius:999px;padding:.1rem .6rem;font-size:.75rem;margin-left:.4rem}.prompt[data-v-82b74239]{white-space:pre-wrap}.instructions[data-v-82b74239]{font-style:italic;color:#345}.points[data-v-82b74239]{padding-left:1.1rem}textarea[data-v-82b74239]{width:100%;box-sizing:border-box;padding:.6rem;font-size:1rem;font-family:inherit}button.primary[data-v-82b74239]{background:#345;color:#fff;border:0;border-radius:8px;padding:.6rem 1.2rem;font-size:1rem;cursor:pointer}button.primary[data-v-82b74239]:disabled{opacity:.5}.history button[data-v-82b74239]{border:1px solid #cbd5e1;background:#fff;border-radius:6px;padding:.3rem .8rem;cursor:pointer}.band[data-v-82b74239]{background:#dcfce7;border-radius:999px;padding:.1rem .5rem;margin-right:.4rem;font-style:normal}.card[data-v-82b74239]{border:1px solid #ddd;border-radius:8px;padding:1rem;margin:1rem 0}.big[data-v-82b74239]{font-size:1.5rem;font-weight:700;margin:0 0 .4rem}.scale[data-v-82b74239]{margin:.5rem 0}.scale p[data-v-82b74239]{margin:.2rem 0;color:#444}.overall[data-v-82b74239]{font-style:italic}.students[data-v-3ae7d450]{max-width:var(--page-wide);margin:0 auto;padding:1rem 1rem 3rem}.filters[data-v-3ae7d450]{display:flex;flex-wrap:wrap;gap:.8rem;align-items:flex-end}.filters label[data-v-3ae7d450]{display:flex;flex-direction:column;gap:.2rem;flex:1 1 12rem}.filters span[data-v-3ae7d450]{font-size:.72rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.filters select[data-v-3ae7d450],.filters input[data-v-3ae7d450]{padding:.45rem;font:inherit;border:1px solid var(--line);border-radius:8px;background:#fff}.sname[data-v-3ae7d450]{font-weight:700;color:var(--ink);text-decoration:none}.sname[data-v-3ae7d450]:hover{text-decoration:underline}.cls[data-v-3ae7d450]{color:var(--brand)}.btn[data-v-3ae7d450]{text-decoration:none;color:var(--brand);border:1px solid var(--line);border-radius:6px;padding:.4rem .75rem;font-size:.9rem}.cards-grid[data-v-3ae7d450]{display:grid;gap:.8rem;grid-template-columns:1fr}@media(min-width:62rem){.cards-grid[data-v-3ae7d450]{grid-template-columns:repeat(2,minmax(0,1fr))}.cards-grid .card[data-v-3ae7d450]{margin:0}}.top[data-v-3ae7d450]{display:flex;justify-content:space-between;align-items:baseline}.card[data-v-3ae7d450]{border:1px solid #ddd;border-radius:8px;padding:1rem;margin:.8rem 0}.row[data-v-3ae7d450]{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:.8rem}.row input[data-v-3ae7d450]{flex:1 1 10rem;padding:.55rem;font-size:1rem}textarea[data-v-3ae7d450]{width:100%;box-sizing:border-box;padding:.55rem;font-family:inherit;font-size:1rem;margin-bottom:.5rem}button[data-v-3ae7d450]{padding:.45rem .8rem;border-radius:6px;border:1px solid #cbd5e1;background:#fff;cursor:pointer}button.primary[data-v-3ae7d450]{background:#345;color:#fff;border:0}button.danger[data-v-3ae7d450]{color:#b91c1c;border-color:#fca5a5}.head[data-v-3ae7d450]{display:flex;justify-content:space-between;gap:.6rem;flex-wrap:wrap;align-items:baseline}.actions[data-v-3ae7d450]{display:flex;gap:.4rem;flex-wrap:wrap}.link[data-v-3ae7d450]{font-family:monospace;font-size:.78rem;word-break:break-all;background:#f8fafc;padding:.4rem .6rem;border-radius:6px}.chip.revoked[data-v-3ae7d450]{background:#fecaca;border-radius:999px;padding:.1rem .5rem;font-size:.75rem;margin-left:.4rem}.used[data-v-3ae7d450]{color:#64748b}.qr[data-v-3ae7d450]{text-align:center}.hint[data-v-3ae7d450]{color:#666}small[data-v-3ae7d450]{color:#64748b}
