.home-head{display:flex;align-items:center;justify-content:space-between;padding-top:var(--space-gap)}.home-wordmark{display:inline-flex;align-items:center;gap:7px;font-size:22px;line-height:26px;font-weight:800;letter-spacing:-.02em}.home-wordmark__spark{width:22px;height:22px;flex:none}.home-head__right{display:flex;align-items:center;gap:10px}.home-avatar{width:36px;height:36px;border-radius:var(--radius-pill);background:var(--color-surface-dark);color:var(--color-surface);display:inline-flex;align-items:center;justify-content:center;text-decoration:none;transition:transform .18s ease}.home-avatar:active{transform:scale(.94)}.home-stats{display:flex;gap:var(--space-gap);align-items:stretch}.stat-card{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:3px;padding:14px 12px}.stat-card--streak{width:var(--streak-card-width);flex:none}.stat-card--worth{flex:1 1}.stat-card__value{font-size:20px;line-height:24px;font-weight:800;display:inline-flex;align-items:center;gap:5px}.stat-card__flame{color:var(--color-primary);display:inline-flex}.stat-card__label{font-size:9px;line-height:13px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--color-ink3);white-space:nowrap}.stat-card__hint{font-size:var(--type-caption-size);line-height:var(--type-caption-line);color:var(--color-ink2)}.stat-card__note{font-size:10px;line-height:14px;color:var(--color-ink3)}.promptbook-row{display:flex;align-items:center;gap:12px;padding:14px 16px;color:var(--color-ink);text-decoration:none}.promptbook-row__icon{display:inline-flex;color:var(--color-ink)}.promptbook-row__title{flex:1 1;font-size:17px;line-height:22px;font-weight:700}.promptbook-row__chevron{display:inline-flex;color:var(--color-ink3)}.promptbook-row__count{width:26px;height:26px;border-radius:var(--radius-pill);background:var(--color-primary-soft);color:var(--color-primary-text);font-size:12px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}.home-collapse{display:grid;grid-template-rows:0fr;transition:grid-template-rows .35s ease}.home-collapse[data-open=true]{grid-template-rows:1fr}.home-collapse__inner{min-height:0;--collapse-bleed:24px;margin-inline:calc(-1 * var(--collapse-bleed));padding-inline:var(--collapse-bleed);overflow:hidden}.home-courses{display:flex;flex-direction:column;gap:var(--space-gap)}@media (prefers-reduced-motion:reduce){.home-avatar,.home-collapse,.plan-expand,.plan-expand__btn svg{transition:none}.plan-bars__bar{animation:none}}.lesson-icon__part{transform-box:view-box;transform-origin:12px 12px}@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.course-card:hover .lesson-icon__part,.ex-card:hover .lesson-icon__part,.lesson-icon:hover .lesson-icon__part,.lesson-row:hover .lesson-icon__part,.plan-challenge:hover .lesson-icon__part,.saved-row:hover .lesson-icon__part,.snake-node:hover .lesson-icon__part{animation-duration:1.6s;animation-timing-function:cubic-bezier(.4,0,.2,1);animation-iteration-count:infinite;animation-delay:var(--icon-delay,0s)}.course-card:hover .lesson-icon__part--part,.ex-card:hover .lesson-icon__part--part,.lesson-icon:hover .lesson-icon__part--part,.lesson-row:hover .lesson-icon__part--part,.plan-challenge:hover .lesson-icon__part--part,.saved-row:hover .lesson-icon__part--part,.snake-node:hover .lesson-icon__part--part{animation-duration:1.6s;animation-timing-function:cubic-bezier(.4,0,.2,1);animation-iteration-count:infinite;animation-delay:var(--delay,0s)}.course-card:hover .lesson-icon__part--voice,.ex-card:hover .lesson-icon__part--voice,.lesson-icon:hover .lesson-icon__part--voice,.lesson-row:hover .lesson-icon__part--voice,.plan-challenge:hover .lesson-icon__part--voice,.saved-row:hover .lesson-icon__part--voice,.snake-node:hover .lesson-icon__part--voice{animation-name:icon-voice}.course-card:hover .lesson-icon__part--mic-pulse,.ex-card:hover .lesson-icon__part--mic-pulse,.lesson-icon:hover .lesson-icon__part--mic-pulse,.lesson-row:hover .lesson-icon__part--mic-pulse,.plan-challenge:hover .lesson-icon__part--mic-pulse,.saved-row:hover .lesson-icon__part--mic-pulse,.snake-node:hover .lesson-icon__part--mic-pulse{animation-name:icon-mic-pulse;transform-origin:12px 9px;animation-duration:1.1s}.course-card:hover .lesson-icon__part--ear-left,.ex-card:hover .lesson-icon__part--ear-left,.lesson-icon:hover .lesson-icon__part--ear-left,.lesson-row:hover .lesson-icon__part--ear-left,.plan-challenge:hover .lesson-icon__part--ear-left,.saved-row:hover .lesson-icon__part--ear-left,.snake-node:hover .lesson-icon__part--ear-left{animation-name:icon-ear-left;transform-origin:5px 15px;animation-duration:1.1s}.course-card:hover .lesson-icon__part--ear-right,.ex-card:hover .lesson-icon__part--ear-right,.lesson-icon:hover .lesson-icon__part--ear-right,.lesson-row:hover .lesson-icon__part--ear-right,.plan-challenge:hover .lesson-icon__part--ear-right,.saved-row:hover .lesson-icon__part--ear-right,.snake-node:hover .lesson-icon__part--ear-right{animation-name:icon-ear-right;transform-origin:19px 15px;animation-duration:1.1s}.course-card:hover .lesson-icon__part--wave,.ex-card:hover .lesson-icon__part--wave,.lesson-icon:hover .lesson-icon__part--wave,.lesson-row:hover .lesson-icon__part--wave,.plan-challenge:hover .lesson-icon__part--wave,.saved-row:hover .lesson-icon__part--wave,.snake-node:hover .lesson-icon__part--wave{animation-name:icon-wave}.course-card:hover .lesson-icon__part--sway,.ex-card:hover .lesson-icon__part--sway,.lesson-icon:hover .lesson-icon__part--sway,.lesson-row:hover .lesson-icon__part--sway,.plan-challenge:hover .lesson-icon__part--sway,.saved-row:hover .lesson-icon__part--sway,.snake-node:hover .lesson-icon__part--sway{animation-name:icon-sway}.course-card:hover .lesson-icon__part--bounce,.ex-card:hover .lesson-icon__part--bounce,.lesson-icon:hover .lesson-icon__part--bounce,.lesson-row:hover .lesson-icon__part--bounce,.plan-challenge:hover .lesson-icon__part--bounce,.saved-row:hover .lesson-icon__part--bounce,.snake-node:hover .lesson-icon__part--bounce{animation-name:icon-bounce;transform-origin:12px 21px;animation-duration:1.15s}.course-card:hover .lesson-icon__part--write,.ex-card:hover .lesson-icon__part--write,.lesson-icon:hover .lesson-icon__part--write,.lesson-row:hover .lesson-icon__part--write,.plan-challenge:hover .lesson-icon__part--write,.saved-row:hover .lesson-icon__part--write,.snake-node:hover .lesson-icon__part--write{animation-name:icon-write;animation-duration:2.6s;animation-timing-function:linear}.course-card:hover .lesson-icon__part--writing-line,.ex-card:hover .lesson-icon__part--writing-line,.lesson-icon:hover .lesson-icon__part--writing-line,.lesson-row:hover .lesson-icon__part--writing-line,.plan-challenge:hover .lesson-icon__part--writing-line,.saved-row:hover .lesson-icon__part--writing-line,.snake-node:hover .lesson-icon__part--writing-line{animation-name:icon-writing-line;animation-duration:2.6s;animation-timing-function:linear}.course-card:hover .lesson-icon__part--wand-sweep,.ex-card:hover .lesson-icon__part--wand-sweep,.lesson-icon:hover .lesson-icon__part--wand-sweep,.lesson-row:hover .lesson-icon__part--wand-sweep,.plan-challenge:hover .lesson-icon__part--wand-sweep,.saved-row:hover .lesson-icon__part--wand-sweep,.snake-node:hover .lesson-icon__part--wand-sweep{animation-name:icon-wand-sweep;transform-origin:6px 19px;animation-duration:1.9s}.course-card:hover .lesson-icon__part--wand-flash,.ex-card:hover .lesson-icon__part--wand-flash,.lesson-icon:hover .lesson-icon__part--wand-flash,.lesson-row:hover .lesson-icon__part--wand-flash,.plan-challenge:hover .lesson-icon__part--wand-flash,.saved-row:hover .lesson-icon__part--wand-flash,.snake-node:hover .lesson-icon__part--wand-flash{animation-name:icon-wand-flash;transform-origin:18px 6px;animation-duration:1.9s}.course-card:hover .lesson-icon__part--wand-glint,.ex-card:hover .lesson-icon__part--wand-glint,.lesson-icon:hover .lesson-icon__part--wand-glint,.lesson-row:hover .lesson-icon__part--wand-glint,.plan-challenge:hover .lesson-icon__part--wand-glint,.saved-row:hover .lesson-icon__part--wand-glint,.snake-node:hover .lesson-icon__part--wand-glint{animation-name:icon-wand-glint;transform-origin:6px 6px;animation-duration:1.9s}.course-card:hover .lesson-icon__part--ink,.ex-card:hover .lesson-icon__part--ink,.lesson-icon:hover .lesson-icon__part--ink,.lesson-row:hover .lesson-icon__part--ink,.plan-challenge:hover .lesson-icon__part--ink,.saved-row:hover .lesson-icon__part--ink,.snake-node:hover .lesson-icon__part--ink{animation-name:icon-ink;animation-duration:2.2s}.course-card:hover .lesson-icon__part--spark,.ex-card:hover .lesson-icon__part--spark,.lesson-icon:hover .lesson-icon__part--spark,.lesson-row:hover .lesson-icon__part--spark,.plan-challenge:hover .lesson-icon__part--spark,.saved-row:hover .lesson-icon__part--spark,.snake-node:hover .lesson-icon__part--spark{animation-name:icon-spark}.course-card:hover .lesson-icon__part--slide-y,.ex-card:hover .lesson-icon__part--slide-y,.lesson-icon:hover .lesson-icon__part--slide-y,.lesson-row:hover .lesson-icon__part--slide-y,.plan-challenge:hover .lesson-icon__part--slide-y,.saved-row:hover .lesson-icon__part--slide-y,.snake-node:hover .lesson-icon__part--slide-y{animation-name:icon-slide-y}.course-card:hover .lesson-icon__part--slide-up,.ex-card:hover .lesson-icon__part--slide-up,.lesson-icon:hover .lesson-icon__part--slide-up,.lesson-row:hover .lesson-icon__part--slide-up,.plan-challenge:hover .lesson-icon__part--slide-up,.saved-row:hover .lesson-icon__part--slide-up,.snake-node:hover .lesson-icon__part--slide-up{animation-name:icon-slide-up}.course-card:hover .lesson-icon__part--needle,.ex-card:hover .lesson-icon__part--needle,.lesson-icon:hover .lesson-icon__part--needle,.lesson-row:hover .lesson-icon__part--needle,.plan-challenge:hover .lesson-icon__part--needle,.saved-row:hover .lesson-icon__part--needle,.snake-node:hover .lesson-icon__part--needle{animation-name:icon-needle;transform-origin:12px 15px}.course-card:hover .lesson-icon__part--turn,.ex-card:hover .lesson-icon__part--turn,.lesson-icon:hover .lesson-icon__part--turn,.lesson-row:hover .lesson-icon__part--turn,.plan-challenge:hover .lesson-icon__part--turn,.saved-row:hover .lesson-icon__part--turn,.snake-node:hover .lesson-icon__part--turn{animation-name:icon-turn;animation-duration:2.2s;animation-timing-function:linear}.course-card:hover .lesson-icon__part--nudge,.ex-card:hover .lesson-icon__part--nudge,.lesson-icon:hover .lesson-icon__part--nudge,.lesson-row:hover .lesson-icon__part--nudge,.plan-challenge:hover .lesson-icon__part--nudge,.saved-row:hover .lesson-icon__part--nudge,.snake-node:hover .lesson-icon__part--nudge{animation-name:icon-nudge}.course-card:hover .lesson-icon__part--nudge-back,.ex-card:hover .lesson-icon__part--nudge-back,.lesson-icon:hover .lesson-icon__part--nudge-back,.lesson-row:hover .lesson-icon__part--nudge-back,.plan-challenge:hover .lesson-icon__part--nudge-back,.saved-row:hover .lesson-icon__part--nudge-back,.snake-node:hover .lesson-icon__part--nudge-back{animation-name:icon-nudge-back}.course-card:hover .lesson-icon__part--settle,.ex-card:hover .lesson-icon__part--settle,.lesson-icon:hover .lesson-icon__part--settle,.lesson-row:hover .lesson-icon__part--settle,.plan-challenge:hover .lesson-icon__part--settle,.saved-row:hover .lesson-icon__part--settle,.snake-node:hover .lesson-icon__part--settle{animation-name:icon-settle}.course-card:hover .lesson-icon__part--book-line,.ex-card:hover .lesson-icon__part--book-line,.lesson-icon:hover .lesson-icon__part--book-line,.lesson-row:hover .lesson-icon__part--book-line,.plan-challenge:hover .lesson-icon__part--book-line,.saved-row:hover .lesson-icon__part--book-line,.snake-node:hover .lesson-icon__part--book-line{animation-name:icon-book-line;animation-duration:2.8s;animation-fill-mode:backwards}.course-card:hover .lesson-icon__part--folder-open,.ex-card:hover .lesson-icon__part--folder-open,.lesson-icon:hover .lesson-icon__part--folder-open,.lesson-row:hover .lesson-icon__part--folder-open,.plan-challenge:hover .lesson-icon__part--folder-open,.saved-row:hover .lesson-icon__part--folder-open,.snake-node:hover .lesson-icon__part--folder-open{animation-name:icon-folder-open;transform-origin:12px 20px;animation-duration:2.5s}.course-card:hover .lesson-icon__part--compass,.ex-card:hover .lesson-icon__part--compass,.lesson-icon:hover .lesson-icon__part--compass,.lesson-row:hover .lesson-icon__part--compass,.plan-challenge:hover .lesson-icon__part--compass,.saved-row:hover .lesson-icon__part--compass,.snake-node:hover .lesson-icon__part--compass{animation-name:icon-compass}.course-card:hover .lesson-icon__part--lift,.ex-card:hover .lesson-icon__part--lift,.lesson-icon:hover .lesson-icon__part--lift,.lesson-row:hover .lesson-icon__part--lift,.plan-challenge:hover .lesson-icon__part--lift,.saved-row:hover .lesson-icon__part--lift,.snake-node:hover .lesson-icon__part--lift{animation-name:icon-lift}.course-card:hover .lesson-icon__part--lower,.ex-card:hover .lesson-icon__part--lower,.lesson-icon:hover .lesson-icon__part--lower,.lesson-row:hover .lesson-icon__part--lower,.plan-challenge:hover .lesson-icon__part--lower,.saved-row:hover .lesson-icon__part--lower,.snake-node:hover .lesson-icon__part--lower{animation-name:icon-lower}.course-card:hover .lesson-icon__part--frame-shift,.ex-card:hover .lesson-icon__part--frame-shift,.lesson-icon:hover .lesson-icon__part--frame-shift,.lesson-row:hover .lesson-icon__part--frame-shift,.plan-challenge:hover .lesson-icon__part--frame-shift,.saved-row:hover .lesson-icon__part--frame-shift,.snake-node:hover .lesson-icon__part--frame-shift{animation-name:icon-frame-shift;animation-duration:1.9s}.course-card:hover .lesson-icon__part--quote-hop,.ex-card:hover .lesson-icon__part--quote-hop,.lesson-icon:hover .lesson-icon__part--quote-hop,.lesson-row:hover .lesson-icon__part--quote-hop,.plan-challenge:hover .lesson-icon__part--quote-hop,.saved-row:hover .lesson-icon__part--quote-hop,.snake-node:hover .lesson-icon__part--quote-hop{animation-name:icon-quote-hop;animation-duration:1.5s}.course-card:hover .lesson-icon__part--alert-pulse,.ex-card:hover .lesson-icon__part--alert-pulse,.lesson-icon:hover .lesson-icon__part--alert-pulse,.lesson-row:hover .lesson-icon__part--alert-pulse,.plan-challenge:hover .lesson-icon__part--alert-pulse,.saved-row:hover .lesson-icon__part--alert-pulse,.snake-node:hover .lesson-icon__part--alert-pulse{animation-name:icon-alert-pulse;transform-origin:12px 13px;animation-duration:1.3s}.course-card:hover .lesson-icon__part--lock-close,.ex-card:hover .lesson-icon__part--lock-close,.lesson-icon:hover .lesson-icon__part--lock-close,.lesson-row:hover .lesson-icon__part--lock-close,.plan-challenge:hover .lesson-icon__part--lock-close,.saved-row:hover .lesson-icon__part--lock-close,.snake-node:hover .lesson-icon__part--lock-close{animation-name:icon-lock-close;transform-origin:8px 10px;animation-duration:.8s;animation-iteration-count:1;animation-fill-mode:both}.course-card:hover .lesson-icon__part--balance,.ex-card:hover .lesson-icon__part--balance,.lesson-icon:hover .lesson-icon__part--balance,.lesson-row:hover .lesson-icon__part--balance,.plan-challenge:hover .lesson-icon__part--balance,.saved-row:hover .lesson-icon__part--balance,.snake-node:hover .lesson-icon__part--balance{animation-name:icon-balance;transform-origin:12px 7px;animation-duration:2.4s}.course-card:hover .lesson-icon__part--look,.ex-card:hover .lesson-icon__part--look,.lesson-icon:hover .lesson-icon__part--look,.lesson-row:hover .lesson-icon__part--look,.plan-challenge:hover .lesson-icon__part--look,.saved-row:hover .lesson-icon__part--look,.snake-node:hover .lesson-icon__part--look{animation-name:icon-look}.course-card:hover .lesson-icon__part--ray,.ex-card:hover .lesson-icon__part--ray,.lesson-icon:hover .lesson-icon__part--ray,.lesson-row:hover .lesson-icon__part--ray,.plan-challenge:hover .lesson-icon__part--ray,.saved-row:hover .lesson-icon__part--ray,.snake-node:hover .lesson-icon__part--ray{animation-name:icon-ray;animation-duration:1.6s}.course-card:hover .lesson-icon__part--grow,.ex-card:hover .lesson-icon__part--grow,.lesson-icon:hover .lesson-icon__part--grow,.lesson-row:hover .lesson-icon__part--grow,.plan-challenge:hover .lesson-icon__part--grow,.saved-row:hover .lesson-icon__part--grow,.snake-node:hover .lesson-icon__part--grow{animation-name:icon-grow;transform-origin:12px 18px}.course-card:hover .lesson-icon__part--search,.ex-card:hover .lesson-icon__part--search,.lesson-icon:hover .lesson-icon__part--search,.lesson-row:hover .lesson-icon__part--search,.plan-challenge:hover .lesson-icon__part--search,.saved-row:hover .lesson-icon__part--search,.snake-node:hover .lesson-icon__part--search{animation-name:icon-search;animation-duration:2.3s;animation-timing-function:linear}.course-card:hover .lesson-icon__part--envelope-open,.ex-card:hover .lesson-icon__part--envelope-open,.lesson-icon:hover .lesson-icon__part--envelope-open,.lesson-row:hover .lesson-icon__part--envelope-open,.plan-challenge:hover .lesson-icon__part--envelope-open,.saved-row:hover .lesson-icon__part--envelope-open,.snake-node:hover .lesson-icon__part--envelope-open{animation-name:icon-envelope-open;transform-origin:12px 7px;animation-duration:2.7s}.course-card:hover .lesson-icon__part--dot,.ex-card:hover .lesson-icon__part--dot,.lesson-icon:hover .lesson-icon__part--dot,.lesson-row:hover .lesson-icon__part--dot,.plan-challenge:hover .lesson-icon__part--dot,.saved-row:hover .lesson-icon__part--dot,.snake-node:hover .lesson-icon__part--dot{animation-name:icon-dot}.course-card:hover .lesson-icon__part--clap,.ex-card:hover .lesson-icon__part--clap,.lesson-icon:hover .lesson-icon__part--clap,.lesson-row:hover .lesson-icon__part--clap,.plan-challenge:hover .lesson-icon__part--clap,.saved-row:hover .lesson-icon__part--clap,.snake-node:hover .lesson-icon__part--clap{animation-name:icon-clap;transform-origin:3px 10px;animation-duration:1.8s}}@keyframes icon-voice{0%,to{transform:scale(1)}35%{transform:scale(1.08,.94)}65%{transform:scale(.98,1.04)}}@keyframes icon-mic-pulse{0%,to{transform:scale(1)}30%{transform:translateY(-1px) scale(1.22,.86)}65%{transform:translateY(.7px) scale(.9,1.18)}}@keyframes icon-ear-left{0%,to{transform:translate(0) scale(1)}35%{transform:translate(-1.1px,-1.2px) scale(1.14,.9)}70%{transform:translate(.5px,.7px) scale(.94,1.1)}}@keyframes icon-ear-right{0%,to{transform:translate(0) scale(1)}35%{transform:translate(1.1px,-1.2px) scale(1.14,.9)}70%{transform:translate(-.5px,.7px) scale(.94,1.1)}}@keyframes icon-wave{0%,to{transform:scaleY(1)}30%{transform:scaleY(.58)}65%{transform:scaleY(1.12)}}@keyframes icon-sway{0%,to{transform:rotate(0)}35%{transform:rotate(-6deg)}65%{transform:rotate(3deg)}}@keyframes icon-bounce{0%,to{transform:translateY(0) scale(1)}15%{transform:scale(1.1,.88)}45%{transform:translateY(-3.4px) scale(.97,1.03)}75%{transform:scale(1.1,.88)}88%{transform:scale(.98,1.04)}}@keyframes icon-write{0%,8%{transform:translate(0)}18%{transform:translate(1px,-1px)}28%{transform:translate(2px)}38%{transform:translate(3px,-1px)}48%{transform:translate(4px)}58%{transform:translate(5px,-1px)}68%{transform:translate(6px)}80%{transform:translate(8px)}86%{transform:translate(8px,-3px)}94%{transform:translateY(-3px)}to{transform:translate(0)}}@keyframes icon-writing-line{0%,8%{stroke-dasharray:1;stroke-dashoffset:1;opacity:0}9%{opacity:1;stroke-dashoffset:1}80%,88%{stroke-dasharray:1;stroke-dashoffset:0;opacity:1}96%,to{stroke-dasharray:1;stroke-dashoffset:0;opacity:0}}@keyframes icon-wand-sweep{0%,to{transform:rotate(0)}25%{transform:rotate(-18deg)}50%,65%{transform:rotate(7deg)}}@keyframes icon-wand-flash{0%,to{opacity:1;transform:scale(1)}25%{opacity:.15;transform:scale(.5)}52%,65%{opacity:1;transform:scale(1.35)}85%{opacity:.5;transform:scale(.8)}}@keyframes icon-wand-glint{0%,to{opacity:1}25%,40%{opacity:0}60%{opacity:1;transform:scale(1.25)}}@keyframes icon-ink{0%,to{stroke-dasharray:1;stroke-dashoffset:0}20%{stroke-dasharray:1;stroke-dashoffset:1}65%,85%{stroke-dasharray:1;stroke-dashoffset:0}}@keyframes icon-spark{0%,to{opacity:1;transform:scale(1)}40%{opacity:.45;transform:scale(.86)}70%{opacity:1;transform:scale(1.04)}}@keyframes icon-slide-y{0%,to{transform:translateY(0)}45%{transform:translateY(3px)}}@keyframes icon-slide-up{0%,to{transform:translateY(0)}45%{transform:translateY(-3px)}}@keyframes icon-needle{0%,to{transform:rotate(0)}45%{transform:rotate(32deg)}75%{transform:rotate(-8deg)}}@keyframes icon-turn{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@keyframes icon-nudge{0%,to{transform:translateX(0)}50%{transform:translateX(-2.5px)}}@keyframes icon-nudge-back{0%,to{transform:translateX(0)}50%{transform:translateX(2.5px)}}@keyframes icon-settle{0%,to{transform:translateY(0)}40%{transform:translateY(-1.2px)}}@keyframes icon-book-line{0%{stroke-dasharray:1;stroke-dashoffset:1;opacity:0}10%,65%{stroke-dasharray:1;stroke-dashoffset:0;opacity:1}80%,to{stroke-dasharray:1;stroke-dashoffset:0;opacity:0}}@keyframes icon-folder-open{0%,to{d:path("M3 11h18l-2 8a2 2 0 0 1-2 1H5a2 2 0 0 1-2-3Z")}35%,65%{d:path("M6 15h17l-4 4a2 2 0 0 1-2 1H5a2 2 0 0 1-2-3Z")}}@keyframes icon-compass{0%,to{transform:rotate(0)}35%{transform:rotate(30deg)}70%{transform:rotate(-12deg)}}@keyframes icon-lift{0%,to{transform:translateY(0)}45%{transform:translateY(-1px)}}@keyframes icon-lower{0%,to{transform:translateY(0)}45%{transform:translateY(1px)}}@keyframes icon-frame-shift{0%,to{transform:translate(0)}45%,60%{transform:translate(2.5px,-3.5px)}}@keyframes icon-quote-hop{0%,to{transform:translateY(0)}40%{transform:translateY(-3.5px)}70%{transform:translateY(1px)}}@keyframes icon-alert-pulse{0%,to{transform:scale(1)}35%{transform:translateY(-1.4px) scale(1.4,1.18)}65%{transform:translateY(.5px) scale(.9)}}@keyframes icon-lock-close{0%,18%{transform:rotate(-28deg)}65%{transform:rotate(3deg)}82%,to{transform:rotate(0)}}@keyframes icon-balance{0%,50%,to{transform:rotate(0)}25%{transform:rotate(13deg)}75%{transform:rotate(-13deg)}}@keyframes icon-look{0%,to{transform:translateX(0)}40%,65%{transform:translateX(1.5px)}}@keyframes icon-ray{0%,to{opacity:1}25%{opacity:.1}55%,75%{opacity:1}}@keyframes icon-grow{0%,to{transform:scaleY(1)}25%{transform:scaleY(.65)}70%{transform:scaleY(1)}}@keyframes icon-search{0%{transform:rotate(0) translate(2px) rotate(0)}to{transform:rotate(1turn) translate(2px) rotate(-1turn)}}@keyframes icon-envelope-open{0%,to{transform:scaleY(1)}35%,65%{transform:scaleY(-1)}}@keyframes icon-dot{0%,to{opacity:1;transform:translateY(0)}45%{opacity:.5;transform:translateY(-1.5px)}}@keyframes icon-clap{0%,to{transform:rotate(0)}35%{transform:rotate(-7deg)}65%{transform:rotate(8deg)}}.plan-card__top{display:flex;align-items:center;justify-content:space-between;gap:var(--space-gap)}.plan-card__h{font-size:17px;line-height:22px;font-weight:700;margin:0}.plan-card__cap{color:var(--color-ink3);font-size:var(--type-caption-size);line-height:var(--type-caption-line)}.plan-bars{display:flex;align-items:flex-end;gap:6px;height:56px;margin:12px 0 10px}.plan-bars__col{flex:1 1;position:relative;display:flex;align-items:stretch}.plan-bars__bar{flex:1 1;background:var(--color-border);border-radius:6px;transform-origin:bottom;animation:plan-bar-grow .5s cubic-bezier(.2,.7,.3,1) backwards}.plan-bars__bar--done{background:var(--color-primary)}.plan-bars__bar--goal{background:var(--color-primary-soft)}.plan-bars__flag{position:absolute;top:-15px;right:0;display:inline-flex;color:var(--color-primary-text)}@keyframes plan-bar-grow{0%{transform:scaleY(0)}to{transform:scaleY(1)}}.plan-track{display:flex;align-items:center;gap:8px;min-width:0}.plan-track__icon{display:inline-flex;flex:none;color:var(--color-primary-text)}.plan-track__name{font-size:17px;line-height:22px;font-weight:700;color:var(--color-primary-text)}.plan-expand{display:flex;align-items:center;justify-content:space-between;gap:var(--space-gap);width:100%;background:var(--color-page);border:0;border-radius:var(--radius-card-sm);padding:12px 14px;margin-top:12px;font-family:inherit;font-size:14px;line-height:18px;font-weight:600;color:var(--color-ink);cursor:pointer;transition:transform .18s ease}.plan-expand:active{transform:scale(.985)}.plan-expand__btn{width:28px;height:28px;flex:none;border-radius:var(--radius-pill);background:var(--color-primary);color:var(--color-ink);display:inline-flex;align-items:center;justify-content:center}.plan-expand__btn svg{transition:transform .3s ease}.plan-expand__btn.is-open svg{transform:rotate(180deg)}.plan-detail{display:flex;flex-direction:column}.plan-divider{border-top:1px solid var(--color-border);margin:14px 0}.plan-course{display:flex;align-items:center;gap:12px;margin-top:10px}.plan-course__badge{width:34px;height:34px;flex:none;border-radius:var(--radius-pill);background:var(--color-primary-soft);display:inline-flex;align-items:center;justify-content:center;color:var(--color-primary-text)}.plan-course__badge--muted{background:var(--color-page);color:var(--color-ink3)}.plan-continue{display:inline-flex;align-items:center;flex:none;gap:6px;margin-left:auto;padding:8px 13px;border-radius:var(--radius-pill);background:var(--color-primary);color:var(--color-ink);font-size:14px;line-height:18px;font-weight:700;text-decoration:none;box-shadow:var(--elevation-node);transition:transform .18s ease}.plan-continue:active{transform:scale(.97)}.plan-course__title{font-size:15px;line-height:20px;font-weight:700}.plan-course--later .plan-course__title{color:var(--color-ink2)}.plan-challenge{display:flex;align-items:center;gap:12px;background:var(--color-surface-dark);border-radius:var(--radius-card);padding:12px;margin-top:10px}.plan-challenge__icon{width:46px;height:46px;flex:none;border-radius:12px;background:color-mix(in srgb,var(--color-surface) 16%,transparent);color:var(--color-primary-light);display:inline-flex;align-items:center;justify-content:center}.plan-challenge__title{font-size:15px;line-height:19px;font-weight:800;color:var(--color-surface)}.plan-challenge__cap{font-size:12px;line-height:16px;color:var(--color-primary-light)}.plan-challenge__note{font-size:10px;line-height:14px;color:var(--color-surface);opacity:.72}.plan-notice{display:flex;flex-direction:column;gap:6px}.plan-later__head{display:block;margin-top:18px}.plan-course--later{margin-top:6px;padding-top:0}.course-card{width:100%;display:flex;align-items:center;gap:12px;padding:14px 16px;background:var(--color-surface);border:0;border-radius:var(--radius-card);box-shadow:var(--elevation-card);font-family:inherit;text-align:left;cursor:pointer;color:var(--color-ink);transition:transform .18s ease,box-shadow .18s ease}.course-card:hover{transform:translateY(-1px)}.course-card:active{transform:scale(.985)}.course-card__badge{width:36px;height:36px;flex:none;border-radius:var(--radius-pill);background:var(--color-primary-soft);display:inline-flex;align-items:center;justify-content:center;color:var(--color-primary-text)}.course-card__title{font-size:17px;line-height:22px;font-weight:700}.course-modules{display:flex;flex-direction:column;padding-top:var(--space-gap)}.course-section.is-open>.course-card{border-bottom-left-radius:0;border-bottom-right-radius:0;box-shadow:0 4px 10px -6px rgba(18,15,40,.16);position:relative;z-index:1}.course-section.is-open{display:block;border-radius:var(--radius-card);box-shadow:var(--elevation-card)}.course-section.is-open .course-modules{padding-top:0}.course-section.is-open .course-modules,.course-section.is-open .course-modules>:first-child .module-panel,.course-section.is-open .course-modules>:first-child.module-panel{border-top-left-radius:0;border-top-right-radius:0}.course-mi--gap{margin-top:var(--space-gap)}.module-card__text{display:flex;flex-direction:column;flex:1 1;min-width:0}.module-card__title{font-size:17px;line-height:22px;font-weight:700;color:var(--color-ink)}.module-card__cap{font-size:13px;line-height:18px;color:var(--color-ink3)}.module-card__num{font-size:13px;line-height:18px;font-weight:800;color:var(--color-primary-text);width:22px;flex:none;padding-top:2px}.module-card__chev,.module-card__num--muted{color:var(--color-ink3)}.module-card__chev{display:inline-flex;font-size:15px}.module-card__chev--flip svg{transition:transform .3s ease}.module-card__chev--flip.is-open svg{transform:rotate(180deg)}.module-card--locked{display:flex;align-items:center;gap:12px;background:var(--color-surface);border-radius:var(--radius-card);box-shadow:var(--elevation-card);padding:14px 16px;opacity:.75}.module-panel{background-color:var(--color-panel);background-image:radial-gradient(var(--color-panel-dot) 1.3px,transparent 1.3px);background-size:16px 16px;border-radius:var(--radius-card);padding:14px 16px 8px}.module-panel__head{display:flex;align-items:flex-start;gap:12px;width:100%;background:none;border:0;padding:0 0 6px;font-family:inherit;text-align:left;cursor:pointer}.panel-connector{height:14px;margin:0 12px}.panel-connector svg{display:block;width:100%;height:100%}.snake{position:relative;margin:0 -4px;container-type:inline-size}.snake>svg{position:absolute;top:0;left:0;width:100%;height:var(--snake-path-height,100%)}.snake__line{fill:none;stroke:var(--color-track-line);stroke-width:3;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.snake__line--amber{stroke:var(--color-primary);animation:none;opacity:1}.snake__energy{fill:none;stroke-width:3;stroke-linecap:round;vector-effect:non-scaling-stroke;pointer-events:none}@media (prefers-reduced-motion:reduce){.snake__energy{display:none}}.snake-node{position:absolute;width:min(var(--node-size),22.6cqw);height:min(var(--node-size),22.6cqw);transform:translate(-50%,-50%);border-radius:var(--radius-pill);background:linear-gradient(180deg,color-mix(in srgb,var(--color-surface) 62%,transparent) 0,color-mix(in srgb,var(--color-surface) 12%,transparent) 34%,transparent 54%) padding-box,radial-gradient(circle at 32% 28%,var(--color-surface) 0,color-mix(in srgb,var(--color-surface) 86%,var(--color-ink3)) 100%) padding-box;box-shadow:var(--elevation-node);display:flex;align-items:center;justify-content:center;color:var(--color-ink);text-decoration:none;transition:transform .18s ease}.snake-node:not(.snake-node--locked):hover{transform:translate(-50%,-50%) scale(1.05)}.snake-node__icon{display:inline-flex;color:var(--color-ink2)}.snake-node--active{width:min(var(--node-size-active),26.4cqw);height:min(var(--node-size-active),26.4cqw);border:2px solid var(--color-primary);z-index:1;background:linear-gradient(180deg,color-mix(in srgb,var(--color-surface) 62%,transparent) 0,color-mix(in srgb,var(--color-surface) 12%,transparent) 34%,transparent 54%) padding-box,radial-gradient(circle at 32% 28%,var(--color-surface) 0,color-mix(in srgb,var(--color-surface) 22%,var(--color-primary)) 100%) padding-box}.snake-node--active .snake-node__icon{color:var(--color-primary-text)}.snake-node--completed{background:radial-gradient(ellipse at 30% 22%,var(--color-completed-highlight) 0,var(--color-completed-mid) 48%,var(--color-completed-bottom) 100%);border:1px solid var(--color-completed-border);box-shadow:var(--elevation-completed)}.snake-node--completed,.snake-node--completed .snake-node__icon{color:var(--color-completed-ink)}.snake-node--locked .snake-node__icon{color:var(--color-locked)}.snake-node__lock{position:absolute;right:-2px;bottom:-2px;width:24px;height:24px;border-radius:var(--radius-pill);background:var(--color-surface);box-shadow:var(--elevation-node);color:var(--color-ink3);display:flex;align-items:center;justify-content:center}.snake-halo{position:absolute;width:35.2cqw;height:35.2cqw;max-width:112px;max-height:112px;transform:translate(-50%,-50%);animation:snake-halo-breathe 2.6s ease-in-out infinite}.snake-orbit{animation:snake-orbit-spin 14s linear infinite}.snake-orbit,.snake-orbit:after{position:absolute;inset:0;border-radius:var(--radius-pill)}.snake-orbit:after{content:"";border:2px solid var(--color-primary);opacity:.28}.snake-orbit:before{content:"";inset:3px;background:var(--color-primary);opacity:.1;animation:snake-glow 2.2s ease-in-out infinite}.snake-orbit i,.snake-orbit:before{position:absolute;border-radius:var(--radius-pill)}.snake-orbit i{width:6px;height:6px;animation:snake-dot-pulse 2.6s ease-in-out infinite}@keyframes snake-dot-pulse{0%,to{transform:scale(1);opacity:.85}50%{transform:scale(1.5);opacity:1}}.snake-orbit i:first-child{top:-3px;left:calc(50% - 3px);background:var(--color-primary)}.snake-orbit i:nth-child(2){top:calc(75% - 3px);left:calc(93.3% - 3px);background:var(--color-primary-light)}.snake-orbit i:nth-child(3){top:calc(75% - 3px);left:calc(6.7% - 3px);background:var(--color-primary-text)}@keyframes snake-orbit-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes snake-halo-breathe{0%,to{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-50%,-50%) scale(1.07)}}@keyframes snake-glow{0%,to{transform:scale(1);opacity:.1}50%{transform:scale(1.06);opacity:.18}}.snake-start{transform:translateX(-50%);text-decoration:none;cursor:pointer;background:var(--color-primary);border-radius:var(--radius-pill);padding:6px 16px;font-size:13px;line-height:16px;box-shadow:0 2px 6px -2px color-mix(in srgb,var(--color-primary) 82%,var(--color-ink)),0 5px 14px -4px color-mix(in srgb,var(--color-ink) 20%,transparent);z-index:2}.snake-chip,.snake-start{position:absolute;color:var(--color-ink);font-weight:700}.snake-chip{cursor:default;background:var(--color-surface);border-radius:12px;padding:9px 13px;font-size:14px;line-height:18px;box-shadow:var(--elevation-node);max-width:260px}.snake-chip--active{color:var(--color-primary-text);border:1.5px solid var(--color-primary)}.snake-chip--locked{color:var(--color-ink3);background:var(--color-page);box-shadow:none}@media (prefers-reduced-motion:reduce){.snake-halo,.snake-orbit,.snake-orbit i,.snake-orbit:before{animation:none}.snake-halo{transform:translate(-50%,-50%)}.course-card,.module-card__chev--flip svg,.snake-node{transition:none}}