.narrow[data-v-544ef7b8]{max-width:420px;padding-top:60px}.auth[data-v-544ef7b8]{padding:30px;text-align:center}.lock[data-v-544ef7b8]{display:flex;justify-content:center;color:var(--violet);margin-bottom:8px}.auth h1[data-v-544ef7b8]{font-size:26px;margin:0}.sub[data-v-544ef7b8]{color:var(--ink-soft);margin:6px 0 20px}.field[data-v-544ef7b8]{text-align:left}.btn[data-v-544ef7b8]{width:100%;justify-content:center}.head[data-v-51cfb2d8]{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:16px;flex-wrap:wrap}.head h1[data-v-51cfb2d8]{margin:6px 0 0;font-size:28px}.muted[data-v-51cfb2d8]{color:var(--stage-dim)}.toolbar[data-v-51cfb2d8]{display:flex;align-items:center;gap:10px;margin-bottom:16px}.search[data-v-51cfb2d8]{flex:1;font-family:inherit;font-size:14px;padding:10px 14px;border-radius:11px;border:1.5px solid #e6e2f2;outline:none}.search[data-v-51cfb2d8]:focus{border-color:var(--violet)}.grid[data-v-51cfb2d8]{display:flex;flex-direction:column;gap:10px}.srow[data-v-51cfb2d8]{text-align:left;cursor:pointer;padding:14px 16px;border:1px solid #eae7f5;background:var(--card);font-family:inherit;display:flex;align-items:center;gap:14px;transition:.12s;width:100%}.srow[data-v-51cfb2d8]:hover{border-color:var(--violet);transform:translateY(-1px)}.s-main[data-v-51cfb2d8]{display:flex;flex-direction:column;gap:2px;min-width:140px}.s-main b[data-v-51cfb2d8]{font-size:15px}.mail[data-v-51cfb2d8]{font-size:12px;color:var(--stage-dim)}.s-prog[data-v-51cfb2d8]{display:flex;align-items:center;gap:10px;flex:1}.s-prog .progress-bar[data-v-51cfb2d8]{flex:1}.cnt[data-v-51cfb2d8]{font-family:JetBrains Mono;font-size:12px;color:var(--ink-soft);white-space:nowrap}.last[data-v-51cfb2d8]{font-size:11.5px;color:var(--stage-dim);white-space:nowrap}.del[data-v-51cfb2d8]{margin-left:auto;padding:8px 10px}.ttl-icon[data-v-51cfb2d8]{color:var(--sun);vertical-align:-3px;margin-right:2px}.avatars[data-v-51cfb2d8]{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.av-choice[data-v-51cfb2d8]{width:38px;height:38px;display:flex;align-items:center;justify-content:center;border-radius:10px;border:1.5px solid transparent;cursor:pointer;transition:.1s}.av-choice.violet[data-v-51cfb2d8]{background:var(--violet-tint);color:var(--violet-dk)}.av-choice.mint[data-v-51cfb2d8]{background:var(--mint-tint);color:#0a7a63}.av-choice.coral[data-v-51cfb2d8]{background:var(--coral-tint);color:#a52943}.av-choice.sun[data-v-51cfb2d8]{background:var(--sun-tint);color:#a5670a}.av-choice.sky[data-v-51cfb2d8]{background:var(--sky-tint);color:var(--sky-dk)}.av-choice.on[data-v-51cfb2d8]{border-color:currentColor;box-shadow:0 0 0 2px var(--card),0 0 0 3.5px currentColor;transform:translateY(-1px)}.pw-row[data-v-51cfb2d8]{display:flex;gap:8px}.pw-row input[data-v-51cfb2d8]{flex:1}.creds[data-v-51cfb2d8]{padding:16px;display:flex;flex-direction:column;gap:10px;margin-bottom:6px}.creds div[data-v-51cfb2d8]{display:flex;justify-content:space-between;align-items:center;gap:10px}.creds .dim[data-v-51cfb2d8]{font-size:12.5px;color:var(--stage-dim)}.creds b[data-v-51cfb2d8]{font-family:JetBrains Mono;color:var(--violet-dk)}.back[data-v-51891038]{font-size:14px;font-weight:600;display:inline-flex;align-items:center;gap:5px}.head[data-v-51891038]{display:flex;align-items:center;gap:18px;padding:22px 24px;margin:14px 0 16px;flex-wrap:wrap}.who h1[data-v-51891038]{margin:0;font-size:22px}.who[data-v-51891038]{display:flex;flex-direction:column;gap:4px}.who .mail[data-v-51891038]{font-size:13px;color:var(--stage-dim)}.actions[data-v-51891038]{margin-left:auto;display:flex;gap:10px;flex-wrap:wrap}.muted[data-v-51891038]{color:var(--stage-dim)}.ttl-icon[data-v-51891038]{color:var(--sun);vertical-align:-3px;margin-right:2px}.section-ttl[data-v-51891038]{margin:0 0 4px;font-size:17px}.section-sub[data-v-51891038]{margin:0 0 14px;color:var(--ink-soft);font-size:13.5px}.course-tabs[data-v-51891038]{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.course-tab[data-v-51891038]{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border-radius:11px;border:1.5px solid #e6e2f2;background:#fff;color:var(--ink-soft);font-family:inherit;font-weight:600;font-size:13.5px;cursor:pointer}.course-tab.active.violet[data-v-51891038]{border-color:var(--violet);background:var(--violet-tint);color:var(--violet-dk)}.course-tab.active.mint[data-v-51891038]{border-color:var(--mint);background:var(--mint-tint);color:#0a7a63}.course-tab.active.coral[data-v-51891038]{border-color:var(--coral);background:var(--coral-tint);color:#a52943}.course-tab.active.sun[data-v-51891038]{border-color:var(--sun);background:var(--sun-tint);color:#a5670a}.course-tab.active.sky[data-v-51891038]{border-color:var(--sky);background:var(--sky-tint);color:var(--sky-dk)}.lesson-block[data-v-51891038]{margin-bottom:10px;overflow:hidden}.lesson-head[data-v-51891038]{width:100%;display:flex;align-items:center;gap:10px;padding:14px 16px;background:none;border:0;cursor:pointer;font-family:inherit;text-align:left}.chevron[data-v-51891038]{color:var(--stage-dim);transition:transform .15s;flex-shrink:0}.chevron.open[data-v-51891038]{transform:rotate(180deg)}.l-title[data-v-51891038]{flex:1;font-size:14.5px;font-weight:600;color:var(--ink)}.toggle-vis[data-v-51891038]{padding:5px 11px;font-size:12px;color:#0a7a63;background:var(--mint-tint);flex-shrink:0}.toggle-vis.off[data-v-51891038]{color:var(--stage-dim);background:#f0eef7}.lesson-block.empty[data-v-51891038]{opacity:.65}table[data-v-51891038]{width:100%;border-collapse:collapse;font-size:13.5px;border-top:1px solid #f2f0f9}th[data-v-51891038]{text-align:left;font-family:JetBrains Mono;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--stage-dim);padding:8px 16px;border-bottom:1px solid #eee}td[data-v-51891038]{padding:9px 16px;border-bottom:1px solid #f2f0f9}.dim[data-v-51891038]{color:var(--ink-soft)}tr:last-child td[data-v-51891038]{border-bottom:none}.no-ex[data-v-51891038]{margin:0;padding:12px 16px 14px;color:var(--stage-dim);font-size:13px;border-top:1px solid #f2f0f9}.tag[data-v-51891038]{font-size:12px;font-weight:600;padding:3px 9px;border-radius:100px;display:inline-flex;align-items:center;gap:4px}.tag.solved[data-v-51891038]{background:var(--mint-tint);color:#0a7a63}.tag.in_progress[data-v-51891038]{background:#fff5e6;color:#a5670a}.tag.not_started[data-v-51891038]{background:#f0eef7;color:var(--stage-dim)}.pw-row[data-v-51891038]{display:flex;gap:8px}.pw-row input[data-v-51891038]{flex:1}.nav[data-v-57f9a53f]{background:var(--card);border-bottom:1px solid #eae7f5;position:sticky;top:0;z-index:10}.nav-in[data-v-57f9a53f]{max-width:1040px;margin:0 auto;padding:12px clamp(16px,4vw,28px);display:flex;align-items:center;justify-content:space-between;gap:16px}.brand[data-v-57f9a53f]{font-family:Space Grotesk;font-weight:700;font-size:19px;color:var(--ink);display:inline-flex;align-items:center;gap:7px}.brand span[data-v-57f9a53f]{color:var(--violet);margin-left:2px}.links[data-v-57f9a53f]{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.who[data-v-57f9a53f]{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--ink-soft)}:root{--ink:#171423;--ink-soft:#4b4560;--paper:#f6f5fb;--card:#ffffff;--violet:#5b4cdb;--violet-dk:#4536c0;--violet-tint:#ece9fb;--sun:#f4a522;--sun-tint:#fff1d6;--mint:#0ca789;--mint-tint:#e3f6f0;--stage:#221c3d;--stage-2:#2c2550;--stage-line:#3a3268;--stage-dim:#8a80b8;--coral:#e7607a;--coral-tint:#fdecef;--sky:#2f8fe0;--sky-dk:#1f6bb5;--sky-tint:#e5f1fd;--radius:16px;--shadow:0 1px 2px rgba(23,20,35,.06),0 12px 30px -12px rgba(23,20,35,.18)}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Plus Jakarta Sans,system-ui,sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased}a{color:var(--violet-dk);text-decoration:none}h1,h2,h3{font-family:Space Grotesk,sans-serif;letter-spacing:-.015em}code,pre{font-family:JetBrains Mono,monospace}.inl{font-size:.85em;background:var(--violet-tint);color:var(--violet-dk);padding:1.5px 6px;border-radius:6px}.container{max-width:1040px;margin:0 auto;padding:28px clamp(16px,4vw,28px) 70px}.card{background:var(--card);border:1px solid #eae7f5;border-radius:var(--radius);box-shadow:var(--shadow)}.btn{font-family:inherit;font-weight:600;font-size:14px;border:0;cursor:pointer;border-radius:11px;padding:11px 18px;display:inline-flex;align-items:center;gap:8px;transition:.15s;color:#fff;background:var(--violet)}.btn:hover{background:var(--violet-dk);transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn.sun{background:var(--sun);color:var(--ink)}.btn.sun:hover{filter:brightness(1.05)}.btn.ghost{background:var(--violet-tint);color:var(--violet-dk)}.btn.ghost:hover{background:#e0dbf7}.btn.coral{background:var(--coral);color:#fff}.btn.coral:hover{filter:brightness(1.08)}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.field label{font-size:13px;font-weight:600;color:var(--ink-soft)}.field input,.field select{font-family:inherit;font-size:15px;padding:11px 13px;border-radius:11px;border:1.5px solid #e6e2f2;background:#fff;outline:none}.field input:focus,.field select:focus{border-color:var(--violet)}.field .hint-txt{font-size:12px;color:var(--stage-dim)}.pill{font-family:JetBrains Mono;font-size:11px;text-transform:uppercase;letter-spacing:.05em;padding:4px 10px;border-radius:100px;background:var(--violet-tint);color:var(--violet-dk);font-weight:600;display:inline-flex;align-items:center;gap:4px}.pill.mint{background:var(--mint-tint);color:#0a7a63}.pill.sun{background:#fff5e6;color:#a5670a}.pill.coral{background:var(--coral-tint);color:#a52943}.pill.sky{background:var(--sky-tint);color:var(--sky-dk)}.progress-bar{height:8px;background:var(--violet-tint);border-radius:100px;overflow:hidden}.progress-bar>i{display:block;height:100%;background:var(--mint);border-radius:100px;transition:width .5s}.alert{padding:11px 14px;border-radius:11px;font-size:14px;margin-bottom:14px}.alert.err{background:var(--coral-tint);color:#a52943;border:1px solid #f6cdd5}.alert.ok{background:var(--mint-tint);color:#0a7a63;border:1px solid #c4ebdd}.avatar{width:40px;height:40px;min-width:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:19px;background:var(--violet-tint);color:var(--violet-dk)}.avatar.violet{background:var(--violet-tint);color:var(--violet-dk);box-shadow:inset 0 0 0 1.5px #5b4cdb26}.avatar.mint{background:var(--mint-tint);color:#0a7a63;box-shadow:inset 0 0 0 1.5px #0ca7892e}.avatar.coral{background:var(--coral-tint);color:#a52943;box-shadow:inset 0 0 0 1.5px #e7607a2e}.avatar.sun{background:var(--sun-tint);color:#a5670a;box-shadow:inset 0 0 0 1.5px #f4a52238}.avatar.sky{background:var(--sky-tint);color:var(--sky-dk);box-shadow:inset 0 0 0 1.5px #2f8fe033}.empty-state{padding:40px 24px;text-align:center;color:var(--ink-soft)}.empty-state .emoji{display:flex;justify-content:center;color:var(--violet);margin-bottom:10px}.empty-state b{color:var(--ink)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#17142373;display:flex;align-items:center;justify-content:center;padding:20px;z-index:50;animation:fade-in .15s ease-out}.modal{background:var(--card);border-radius:20px;box-shadow:var(--shadow);padding:26px;width:100%;max-width:420px;animation:pop-in .18s cubic-bezier(.2,1.4,.4,1)}.modal h2{margin:0 0 4px;font-size:22px}.modal .sub{color:var(--ink-soft);font-size:13.5px;margin:0 0 18px}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:6px}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes pop-in{0%{opacity:0;transform:scale(.92) translateY(6px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes bounce-in{0%{transform:scale(.4);opacity:0}60%{transform:scale(1.08);opacity:1}to{transform:scale(1)}}@keyframes float-up{to{transform:translateY(-120px) rotate(var(--rot,20deg));opacity:0}}:focus-visible{outline:3px solid var(--violet);outline-offset:2px;border-radius:6px}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.badge-count{font-family:JetBrains Mono;font-weight:700;font-size:13px;color:var(--violet-dk);background:var(--violet-tint);padding:3px 10px;border-radius:100px}
