.academy-shell[data-v-d6a8847f]{isolation:isolate}.ac-grid[data-v-d6a8847f]{z-index:0;pointer-events:none;opacity:.4;background-image:linear-gradient(270deg,#ffffff05 1px,#0000 1px),linear-gradient(#ffffff05 1px,#0000 1px);background-size:48px 48px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(80% 50% at 50% 0,#000,#0000 78%);mask-image:radial-gradient(80% 50% at 50% 0,#000,#0000 78%)}.ac-glow[data-v-d6a8847f]{inset-inline:0;z-index:0;pointer-events:none;background:radial-gradient(55% 65% at 30% 0,#c8a66a12,#0000 72%);height:420px;position:absolute;top:0}.ac-hl[data-v-d6a8847f]{color:var(--color-primary);text-underline-offset:8px;-webkit-text-decoration:underline #c8a66a66;text-decoration:underline #c8a66a66;text-decoration-thickness:4px}.resume-card[data-v-d6a8847f]{border:1px solid color-mix(in srgb, var(--color-primary) 35%, var(--color-border));background:color-mix(in srgb, var(--color-primary) 5%, var(--color-surface));border-radius:1rem;transition:border-color .25s,transform .25s,box-shadow .25s;display:block}.resume-card[data-v-d6a8847f]:hover{border-color:var(--color-primary);box-shadow:0 18px 40px -20px color-mix(in srgb, var(--color-primary) 45%, transparent);transform:translateY(-2px)}.resume-play[data-v-d6a8847f]{background:var(--color-primary);width:2.75rem;height:2.75rem;color:var(--color-background);border-radius:.75rem;flex-shrink:0;justify-content:center;align-items:center;display:flex}.resume-go[data-v-d6a8847f]{white-space:nowrap;color:var(--color-primary);align-items:center;gap:.4rem;font-size:.75rem;font-weight:800;display:inline-flex}.resume-card:hover .resume-go[data-v-d6a8847f]{gap:.6rem}.no-scrollbar[data-v-d6a8847f]::-webkit-scrollbar{display:none}.no-scrollbar[data-v-d6a8847f]{-ms-overflow-style:none;scrollbar-width:none}.dom-nav[data-v-d6a8847f]{text-align:start;cursor:pointer;border:1px solid var(--color-border);background:color-mix(in srgb, var(--color-surface) 55%, var(--color-background));border-radius:.9rem;flex-shrink:0;align-items:center;gap:.9rem;padding:.9rem 1rem;transition:border-color .25s,background .25s,transform .25s,box-shadow .25s;display:flex;position:relative;overflow:hidden}.dom-nav[data-v-d6a8847f]:before{content:"";background:var(--dom);opacity:0;width:3px;transition:opacity .25s;position:absolute;inset-block:0;inset-inline-start:0}.dom-nav[data-v-d6a8847f]:hover{border-color:color-mix(in srgb, var(--dom) 35%, var(--color-border));transform:translateY(-1px)}.dom-nav.is-active[data-v-d6a8847f]{border-color:color-mix(in srgb, var(--dom) 50%, var(--color-border));background:color-mix(in srgb, var(--dom) 7%, var(--color-surface));box-shadow:0 14px 34px -20px color-mix(in srgb, var(--dom) 45%, transparent)}.dom-nav.is-active[data-v-d6a8847f]:before{opacity:1}.dom-nav-ico[data-v-d6a8847f]{width:2.5rem;height:2.5rem;color:var(--color-gray-400);border:1px solid var(--color-border);background:var(--color-surface);border-radius:.7rem;flex-shrink:0;justify-content:center;align-items:center;transition:color .25s,border-color .25s,background .25s;display:flex}.dom-nav:hover .dom-nav-ico[data-v-d6a8847f]{color:var(--dom);border-color:color-mix(in srgb, var(--dom) 40%, transparent)}.dom-nav.is-active .dom-nav-ico[data-v-d6a8847f]{color:var(--dom);border-color:color-mix(in srgb, var(--dom) 45%, transparent);background:color-mix(in srgb, var(--dom) 10%, transparent)}.dom-nav-body[data-v-d6a8847f]{flex-direction:column;flex:1;gap:.15rem;min-width:0;display:flex}.dom-nav-title[data-v-d6a8847f]{color:var(--color-text);white-space:nowrap;text-overflow:ellipsis;font-size:.85rem;font-weight:800;overflow:hidden}.dom-nav-call[data-v-d6a8847f]{font-family:var(--font-mono);letter-spacing:.14em;color:var(--color-gray-600);font-size:9px;transition:color .25s}.dom-nav.is-active .dom-nav-call[data-v-d6a8847f]{color:var(--dom)}.dom-nav-meta[data-v-d6a8847f]{color:var(--color-gray-500);flex-wrap:wrap;align-items:center;gap:.4rem;font-size:10px;display:flex}.dom-nav-xp[data-v-d6a8847f]{font-family:var(--font-mono);color:var(--color-primary);font-weight:800}.dom-nav-arrow[data-v-d6a8847f]{width:1rem;height:1rem;color:var(--color-gray-600);opacity:0;flex-shrink:0;transition:opacity .25s,transform .25s,color .25s;transform:translate(4px)}.dom-nav:hover .dom-nav-arrow[data-v-d6a8847f],.dom-nav.is-active .dom-nav-arrow[data-v-d6a8847f]{opacity:1;color:var(--dom);transform:none}.dom-header[data-v-d6a8847f]{border-bottom:2px solid color-mix(in srgb, var(--dom) 35%, var(--color-border));align-items:center;gap:1.1rem;padding-bottom:1.4rem;display:flex}.dom-header-ico[data-v-d6a8847f]{width:3.25rem;height:3.25rem;color:var(--dom);border:1px solid color-mix(in srgb, var(--dom) 40%, transparent);background:color-mix(in srgb, var(--dom) 9%, transparent);box-shadow:0 10px 28px -14px color-mix(in srgb, var(--dom) 50%, transparent);border-radius:.9rem;flex-shrink:0;justify-content:center;align-items:center;display:flex}.sub-section[data-v-d6a8847f]{padding-inline-start:1.4rem;position:relative}.sub-section[data-v-d6a8847f]:before{content:"";background:linear-gradient(to bottom, color-mix(in srgb, var(--dom) 55%, transparent), var(--color-border) 70%);border-radius:9999px;width:2px;position:absolute;inset-block:.4rem;inset-inline-start:0}.sub-head[data-v-d6a8847f]{align-items:center;gap:1rem;margin-bottom:1.6rem;display:flex}.sub-num[data-v-d6a8847f]{font-family:var(--font-mono);color:color-mix(in srgb, var(--dom) 55%, transparent);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:1.6rem;font-weight:900;line-height:1}.sub-meta[data-v-d6a8847f]{font-family:var(--font-mono);color:var(--color-gray-500);border:1px solid var(--color-border);background:color-mix(in srgb, var(--color-surface) 50%, transparent);border-radius:9999px;flex-shrink:0;padding:.25rem .7rem;font-size:10px}.module-card[data-v-d6a8847f]{border:1px solid var(--color-border);background:color-mix(in srgb, var(--color-surface) 55%, var(--color-background));border-radius:1rem;padding:1.4rem;transition:border-color .25s,box-shadow .25s,transform .25s}.module-card[data-v-d6a8847f]:hover{border-color:color-mix(in srgb, var(--dom) 40%, var(--color-border));box-shadow:0 20px 44px -26px color-mix(in srgb, var(--dom) 40%, transparent);transform:translateY(-2px)}.module-head[data-v-d6a8847f]{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.module-progress[data-v-d6a8847f]{margin-top:1rem}.lesson-grid[data-v-d6a8847f]{grid-template-columns:1fr;gap:.5rem;margin-top:1.1rem;display:grid}@media (width>=640px){.lesson-grid[data-v-d6a8847f]{grid-template-columns:1fr 1fr}}.lesson[data-v-d6a8847f]{border:1px solid #0000;border-radius:.6rem;align-items:center;gap:.7rem;padding:.65rem .75rem;transition:border-color .2s,background .2s;display:flex}.lesson[data-v-d6a8847f]:hover{border-color:color-mix(in srgb, var(--dom) 30%, var(--color-border));background:color-mix(in srgb, var(--color-surface) 60%, transparent)}.lesson-idx[data-v-d6a8847f]{width:1.75rem;height:1.75rem;font-family:var(--font-mono);color:var(--color-gray-500);border:1px solid var(--color-border);background:var(--color-surface);border-radius:.5rem;flex-shrink:0;justify-content:center;align-items:center;font-size:10px;font-weight:800;transition:all .2s;display:flex}.lesson:hover .lesson-idx[data-v-d6a8847f]{color:var(--dom);border-color:color-mix(in srgb, var(--dom) 40%, var(--color-border))}.lesson-xp[data-v-d6a8847f]{font-family:var(--font-mono);color:var(--color-gray-500);flex-shrink:0;font-size:10px;font-weight:800}.empty-card[data-v-d6a8847f]{border:1px dashed var(--color-border);text-align:center;border-radius:1rem;padding:2.5rem 1rem}.dom-swap-enter-active[data-v-d6a8847f]{transition:opacity .45s cubic-bezier(.16,1,.3,1),transform .45s cubic-bezier(.16,1,.3,1)}.dom-swap-leave-active[data-v-d6a8847f]{transition:opacity .22s,transform .22s}.dom-swap-enter-from[data-v-d6a8847f]{opacity:0;transform:translateY(20px)}.dom-swap-leave-to[data-v-d6a8847f]{opacity:0;transform:translateY(-10px)}.reveal-init[data-v-d6a8847f]{opacity:0;filter:blur(5px);transform:translateY(18px)}.reveal-in[data-v-d6a8847f]{opacity:1;filter:blur();transition:opacity .6s cubic-bezier(.16, 1, .3, 1) var(--d,0s), transform .6s cubic-bezier(.16, 1, .3, 1) var(--d,0s), filter .6s cubic-bezier(.16, 1, .3, 1) var(--d,0s);transform:none}@media (prefers-reduced-motion:reduce){.reveal-init[data-v-d6a8847f]{opacity:1;filter:none;transform:none}.reveal-in[data-v-d6a8847f],.dom-swap-enter-active[data-v-d6a8847f],.dom-swap-leave-active[data-v-d6a8847f]{transition:none}}
