.tutorial-hub[data-v-85590a0f]{--hub-line:color-mix(in srgb,var(--fs-color-text-muted) 21%,var(--fs-color-bg-surface));--hub-soft:color-mix(in srgb,var(--fs-color-primary) 5%,var(--fs-color-bg-surface));--hub-cover-ink:#fff;--hub-cover-ground:#141414;color:var(--fs-color-text-primary);font-family:JetBrains Mono,"Noto Serif SC",sans-serif;font-weight:500;line-height:1.7;margin:0 auto;min-width:0;width:min(100%,1200px);--hub-resume-surface:var(--fs-color-text-primary);--hub-resume-foreground:var(--fs-color-bg-surface);padding:1.5rem 2rem 2rem}[data-v-85590a0f],[data-v-85590a0f]:after,[data-v-85590a0f]:before{box-sizing:border-box}h1[data-v-85590a0f],h2[data-v-85590a0f],h3[data-v-85590a0f],p[data-v-85590a0f]{margin:0;word-wrap:anywhere}h1[data-v-85590a0f],h2[data-v-85590a0f],h3[data-v-85590a0f]{font-weight:700;letter-spacing:normal;line-height:1.4}button[data-v-85590a0f],input[data-v-85590a0f]{color:inherit;font:inherit}button[data-v-85590a0f]{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;cursor:pointer}a[data-v-85590a0f]{color:inherit;-webkit-text-decoration:none;text-decoration:none}a[data-v-85590a0f],button[data-v-85590a0f]{touch-action:manipulation}a[data-v-85590a0f]:hover{color:var(--fs-color-primary)}a[data-v-85590a0f]:focus-visible,button[data-v-85590a0f]:focus-visible,input[data-v-85590a0f]:focus-visible{outline:3px solid var(--fs-color-focus-ring);outline-offset:4px}svg[data-v-85590a0f]{flex-shrink:0;height:1em;width:1em}.skip-link[data-v-85590a0f]:not(:focus),.sr-only[data-v-85590a0f]{clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}.skip-link[data-v-85590a0f]:focus{display:block;padding:1rem}.intro[data-v-85590a0f]{background:linear-gradient(115deg,color-mix(in srgb,var(--fs-color-primary) 9%,var(--fs-color-bg-surface)),color-mix(in srgb,var(--fs-color-primary) 3%,var(--fs-color-bg-surface)) 70%,var(--fs-color-bg-surface-2));border-radius:1.25rem;gap:2rem;justify-content:space-between;margin-bottom:1.5rem;padding:2rem 2.25rem;position:relative}.eyebrow[data-v-85590a0f],.intro[data-v-85590a0f]{align-items:center;display:flex}.eyebrow[data-v-85590a0f]{color:var(--fs-color-primary);font-size:.8125rem;font-weight:700;gap:.6rem}.eyebrow-mark[data-v-85590a0f]{background:var(--fs-color-primary);border-radius:50%;height:.4rem;width:.4rem}.eyebrow-english[data-v-85590a0f]{color:var(--fs-color-text-muted);font-size:.6875rem;font-weight:500;letter-spacing:.15em;margin-left:.2rem}.intro h1[data-v-85590a0f]{font-size:clamp(2rem,1.45rem + 1.5vw,2.625rem);margin:.8rem 0 1rem}.intro h1>span[data-v-85590a0f]{background:linear-gradient(transparent 78%,color-mix(in srgb,var(--fs-color-primary) 15%,transparent) 78%);color:var(--fs-color-primary);white-space:nowrap}.intro-description[data-v-85590a0f]{font-size:.9375rem;max-width:42rem}.intro-aside[data-v-85590a0f],.intro-description[data-v-85590a0f]{color:var(--fs-color-text-secondary);line-height:1.9}.intro-aside[data-v-85590a0f]{background:color-mix(in srgb,var(--fs-color-bg-surface) 72%,transparent);border:0;border-radius:.8rem;box-shadow:0 5px 24px color-mix(in srgb,var(--fs-color-text-primary) 4%,transparent);font-size:.875rem;min-width:11rem;padding:1.1rem 1.25rem;position:relative}.resume-strip[data-v-85590a0f]{align-items:center;background:var(--hub-resume-surface);border-radius:.9rem;box-shadow:0 6px 18px color-mix(in srgb,var(--fs-color-text-primary) 10%,transparent);display:flex;gap:1rem;margin-bottom:2rem;min-height:5.5rem;padding:1.1rem 1.5rem}.resume-icon[data-v-85590a0f],.resume-strip[data-v-85590a0f]{color:var(--hub-resume-foreground)}.resume-icon[data-v-85590a0f]{background:color-mix(in srgb,var(--hub-resume-foreground) 10%,transparent);border:1px solid color-mix(in srgb,var(--hub-resume-foreground) 12%,transparent);border-radius:.75rem;font-size:1.125rem;height:2.75rem;width:2.75rem}.resume-copy[data-v-85590a0f]{flex:1}.resume-copy p[data-v-85590a0f]{color:color-mix(in srgb,var(--hub-resume-foreground) 76%,transparent);font-size:.75rem;margin-bottom:.2rem}.resume-copy h2[data-v-85590a0f]{font-size:1rem}.resume-progress[data-v-85590a0f]{color:color-mix(in srgb,var(--hub-resume-foreground) 84%,transparent);font-size:.75rem;margin-right:1rem;width:11rem}.track[data-v-85590a0f]{background:color-mix(in srgb,var(--hub-resume-foreground) 18%,transparent);border-radius:1rem;height:.3rem;margin-top:.5rem;overflow:hidden}.track span[data-v-85590a0f]{background:var(--fs-color-primary);display:block;height:100%;width:21.4%}.text-action[data-v-85590a0f]{align-items:center;color:var(--fs-color-primary);display:inline-flex;font-size:.8125rem;font-weight:700;gap:1rem;justify-content:center;min-height:2.75rem;white-space:nowrap}.storage-notice[data-v-85590a0f]{background:var(--hub-soft);border-left:2px solid var(--fs-color-primary);color:var(--fs-color-text-secondary);font-size:.8125rem;margin-bottom:1.5rem;padding:.8rem 1rem}.catalog-heading[data-v-85590a0f]{justify-content:space-between}.catalog-heading[data-v-85590a0f],.catalog-heading>div[data-v-85590a0f]{align-items:center;display:flex;gap:1rem}.catalog-heading h2[data-v-85590a0f]{font-size:1.5rem}.catalog-heading span[data-v-85590a0f],.catalog-heading>p[data-v-85590a0f]{color:var(--fs-color-text-muted);font-size:.75rem}.catalog-toolbar[data-v-85590a0f]{align-items:center;background:var(--fs-color-bg-surface-2);border:0;border-radius:.8rem;display:flex;gap:.8rem;justify-content:space-between;margin:1rem 0 1.25rem;padding:.55rem .65rem}.category-tabs[data-v-85590a0f]{display:flex;flex-wrap:wrap;gap:.45rem}.category-tabs button[data-v-85590a0f]{align-items:center;border-radius:.55rem;color:var(--fs-color-text-secondary);display:flex;font-size:.8125rem;gap:.65rem;min-height:2.75rem;padding:.5rem 1rem;white-space:nowrap}.category-tabs button[aria-pressed=true][data-v-85590a0f]{background:var(--fs-color-bg-surface);box-shadow:0 2px 7px color-mix(in srgb,var(--fs-color-text-primary) 9%,transparent);color:var(--fs-color-primary)}.category-tabs button[data-v-85590a0f]:not([aria-pressed=true]):hover{background:var(--fs-color-bg-surface-2)}.category-tabs small[data-v-85590a0f]{font-size:.6875rem;opacity:.75}.search[data-v-85590a0f]{align-items:center;background:var(--fs-color-bg-surface);border:1px solid transparent;border-radius:.5rem;color:var(--fs-color-text-muted);display:flex;gap:.6rem;min-height:2.75rem;padding:0 .9rem;width:21rem}.search input[data-v-85590a0f],.search>span[data-v-85590a0f]{font-size:.875rem}.search input[data-v-85590a0f]{background:transparent;border:0;min-width:0;outline-offset:2px;padding:.65rem 0;width:100%}.search input[data-v-85590a0f]::-moz-placeholder{color:var(--fs-color-text-muted)}.search input[data-v-85590a0f]::placeholder{color:var(--fs-color-text-muted)}.search input[data-v-85590a0f]::-webkit-search-cancel-button{display:none}.search button[data-v-85590a0f]{font-size:.8rem;min-height:2.75rem;min-width:2rem}.course-grid[data-v-85590a0f]{display:grid;grid-template-columns:1fr;grid-gap:1.4rem;gap:1.4rem}.course-grid.is-multi[data-v-85590a0f]{grid-template-columns:repeat(auto-fill,minmax(min(100%,20rem),1fr))}.course-card[data-v-85590a0f]{background:var(--fs-color-bg-surface);border:1px solid var(--hub-line);border-color:color-mix(in srgb,var(--fs-color-text-muted) 24%,var(--fs-color-bg-surface));border-radius:1rem;box-shadow:0 5px 20px color-mix(in srgb,var(--fs-color-text-primary) 6%,transparent),0 1px 3px color-mix(in srgb,var(--fs-color-text-primary) 3%,transparent);min-width:0;overflow:hidden}.course-card.is-featured[data-v-85590a0f]{display:grid;grid-template-columns:.88fr 1.12fr}.course-cover[data-v-85590a0f]{background:var(--hub-cover-ground);color:var(--hub-cover-ink);isolation:isolate;min-height:13.75rem;min-width:0;overflow:hidden;position:relative;width:100%}.course-cover>img[data-v-85590a0f]{height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:66% 50%;object-position:66% 50%;width:100%;z-index:-2}.course-cover[data-v-85590a0f]:after,.course-cover>img[data-v-85590a0f]{inset:0;position:absolute}.course-cover[data-v-85590a0f]:after{background:linear-gradient(180deg,color-mix(in srgb,var(--hub-cover-ground) 28%,transparent),transparent 36%,color-mix(in srgb,var(--hub-cover-ground) 87%,transparent));content:"";z-index:-1}.cover-top[data-v-85590a0f]{align-items:center;display:flex;font-size:.625rem;justify-content:space-between;letter-spacing:.15em;padding:1.5rem}.cover-index[data-v-85590a0f]{font-size:.75rem}.cover-bottom[data-v-85590a0f]{bottom:1.8rem;left:1.8rem;position:absolute;right:1.8rem}.cover-bottom p[data-v-85590a0f]{color:color-mix(in srgb,var(--hub-cover-ink) 85%,transparent);font-size:.6875rem;letter-spacing:.15em;margin-bottom:.5rem}.cover-bottom strong[data-v-85590a0f]{display:block;font-size:1.5rem;font-weight:500;line-height:1.5}.cover-bottom strong span[data-v-85590a0f]{font-size:1rem;margin-left:.25rem}.cover-bottom .cover-rule[data-v-85590a0f]{background:var(--hub-cover-ink);height:1px;margin-top:1.15rem;opacity:.65;width:2rem}.course-content[data-v-85590a0f]{align-items:flex-start;display:flex;flex-direction:column;padding:1.7rem 1.8rem 1.5rem}.course-tags[data-v-85590a0f]{align-items:center;color:var(--fs-color-text-secondary);display:flex;flex-wrap:wrap;font-size:.75rem;gap:.6rem}.course-tags .topic[data-v-85590a0f]{background:color-mix(in srgb,var(--fs-color-primary) 9%,var(--fs-color-bg-surface));border-radius:.35rem;color:var(--fs-color-primary);font-weight:700;padding:.28rem .65rem}.course-tags .tag-dot[data-v-85590a0f]{background:var(--fs-color-text-muted);border-radius:50%;height:.18rem;width:.18rem}.course-title[data-v-85590a0f]{font-size:1.3125rem;margin:1rem 0 .8rem}.is-featured .course-title[data-v-85590a0f]{font-size:1.875rem}.course-description[data-v-85590a0f]{color:var(--fs-color-text-secondary);font-size:.875rem;line-height:1.9;max-width:35rem}.course-keywords[data-v-85590a0f]{display:flex;flex-wrap:wrap;gap:.6rem 1rem;margin-top:1.15rem}.course-keywords span[data-v-85590a0f]{align-items:center;background:none;border-radius:.25rem;display:inline-flex;gap:.45rem;padding:0}.course-keywords span[data-v-85590a0f],.course-meta[data-v-85590a0f]{color:var(--fs-color-text-secondary);font-size:.75rem}.course-meta[data-v-85590a0f]{display:flex;flex-wrap:wrap;gap:1.25rem;margin:1.2rem 0 1.15rem}.course-meta span[data-v-85590a0f]{align-items:center;display:inline-flex;gap:.5rem}.course-meta svg[data-v-85590a0f]{color:var(--fs-color-text-muted)}.course-actions[data-v-85590a0f]{align-items:center;border-top:1px solid var(--hub-line);display:flex;flex-wrap:wrap;gap:.75rem 1.2rem;margin-top:auto;padding-top:1.1rem;width:100%}.primary-action[data-v-85590a0f],.secondary-action[data-v-85590a0f]{align-items:center;background:var(--fs-color-primary);border-radius:.45rem;color:var(--fs-color-on-primary);display:inline-flex;font-size:.875rem;font-weight:700;gap:1.4rem;justify-content:center;min-height:2.875rem;padding:.7rem 1.2rem}.primary-action[data-v-85590a0f]:hover{background:var(--fs-color-primary-hover);box-shadow:0 5px 14px color-mix(in srgb,var(--fs-color-primary) 24%,transparent);color:var(--fs-color-on-primary)}.secondary-action[data-v-85590a0f]{background:var(--fs-color-bg-surface-2);color:var(--fs-color-text-primary)}.secondary-action[data-v-85590a0f]:hover{background:var(--hub-line)}.course-progress[data-v-85590a0f]{margin-top:.65rem}.catalog-footnote[data-v-85590a0f],.course-progress[data-v-85590a0f]{color:var(--fs-color-text-muted);font-size:.75rem}.catalog-footnote[data-v-85590a0f]{align-items:center;display:flex;gap:.5rem;justify-content:center;padding:1rem .5rem .35rem}.empty-state[data-v-85590a0f]{background:var(--fs-color-bg-surface-2);border-radius:.75rem;padding:3rem 1rem;text-align:center}.empty-state>span[data-v-85590a0f]{color:var(--fs-color-text-muted);font-size:1.5rem}.empty-state h3[data-v-85590a0f]{font-size:1.125rem;margin:1rem 0 .5rem}.empty-state p[data-v-85590a0f]{color:var(--fs-color-text-secondary);font-size:.875rem;margin-bottom:1.25rem}.local-note[data-v-85590a0f]{color:var(--fs-color-text-muted);flex-wrap:wrap;font-size:.75rem;padding:.35rem 0 .8rem}.local-note[data-v-85590a0f],.local-note>a[data-v-85590a0f]{align-items:center;display:flex;gap:.5rem}.local-note>a[data-v-85590a0f]{margin-left:auto;min-height:2.75rem}.local-note>a[data-v-85590a0f]:hover{color:var(--fs-color-primary)}.course-card:not(.is-featured) .cover-bottom[data-v-85590a0f]{bottom:1.3rem;left:1.5rem;right:1.5rem}.course-card:not(.is-featured) .cover-bottom strong[data-v-85590a0f]{font-size:1.25rem}.course-card:not(.is-featured) .course-content[data-v-85590a0f]{padding:1.4rem}.course-card:not(.is-featured) .course-keywords[data-v-85590a0f]{display:none}.learning-note[data-v-85590a0f]{display:grid;grid-template-columns:1.2fr 1fr 1fr;grid-gap:2rem;background:var(--fs-color-bg-surface-2);border-radius:1rem;gap:2rem;margin-top:.75rem;padding:1.6rem 1.8rem}.note-title .eyebrow[data-v-85590a0f]{font-size:.6875rem}.note-title h2[data-v-85590a0f]{font-size:1.25rem;line-height:1.6;margin-top:.6rem}.note-item[data-v-85590a0f]{border-left-color:var(--hub-line);border-left:1px solid color-mix(in srgb,var(--fs-color-text-muted) 25%,var(--fs-color-bg-surface));padding-left:1.5rem}.note-item>span[data-v-85590a0f]{color:var(--fs-color-primary);font-size:.6875rem}.note-item h3[data-v-85590a0f]{font-size:.9375rem;margin:.55rem 0 .5rem}.note-item p[data-v-85590a0f]{color:var(--fs-color-text-secondary);font-size:.875rem;line-height:1.9;max-width:19rem}.dark .tutorial-hub{--hub-resume-surface:color-mix(in srgb,var(--fs-color-primary) 10%,var(--fs-color-bg-surface-2));--hub-resume-foreground:var(--fs-color-text-primary)}.resume-strip>.text-action[data-v-85590a0f]{background:var(--fs-color-primary);border-radius:.5rem;color:var(--fs-color-on-primary);padding:.55rem .9rem}.resume-strip>.text-action[data-v-85590a0f]:hover{background:var(--fs-color-primary-hover);color:var(--fs-color-on-primary)}.catalog-heading>div>span[data-v-85590a0f]{background:var(--fs-color-bg-surface);border:1px solid var(--hub-line);border-radius:2rem;padding:.2rem .65rem}.search[data-v-85590a0f]:focus-within{border-color:var(--fs-color-primary)}.course-tags .topic+.tag-dot[data-v-85590a0f]{display:none}.course-keywords span[data-v-85590a0f]:before{background:var(--fs-color-primary);border-radius:50%;content:"";display:block;flex-shrink:0;height:.3rem;width:.3rem}.primary-action[data-v-85590a0f]{border-radius:.6rem;box-shadow:0 4px 10px color-mix(in srgb,var(--fs-color-primary) 17%,transparent);min-height:3rem}@media(max-width:768px){.tutorial-hub[data-v-85590a0f]{padding:1rem}.intro[data-v-85590a0f]{border-radius:1rem;margin-bottom:1.25rem;padding:1.5rem 1.25rem}.intro h1[data-v-85590a0f]{font-size:1.75rem;line-height:1.55;margin:.7rem 0 .8rem}.intro-description[data-v-85590a0f]{font-size:.8125rem;max-width:25rem}.intro-aside[data-v-85590a0f]{display:none}.eyebrow[data-v-85590a0f]{font-size:.75rem}.catalog-heading h2[data-v-85590a0f]{font-size:1.25rem}.catalog-heading>p[data-v-85590a0f]{display:none}.catalog-toolbar[data-v-85590a0f]{align-items:stretch;flex-direction:column;gap:.7rem;margin:.9rem 0 1.1rem;padding:.55rem}.category-tabs[data-v-85590a0f]{gap:.2rem}.category-tabs button[data-v-85590a0f]{font-size:.75rem;padding:.5rem .8rem}.search[data-v-85590a0f]{padding:0 .7rem;width:100%}.course-card.is-featured[data-v-85590a0f]{grid-template-columns:minmax(0,1fr)}.course-cover[data-v-85590a0f]{aspect-ratio:1.65;min-height:13rem}.cover-top[data-v-85590a0f]{padding:1.2rem}.cover-bottom[data-v-85590a0f]{bottom:1.2rem;left:1.3rem;right:1.3rem}.cover-bottom strong[data-v-85590a0f]{font-size:1.375rem}.cover-bottom .cover-rule[data-v-85590a0f]{display:none}.course-content[data-v-85590a0f]{padding:1.25rem}.is-featured .course-title[data-v-85590a0f]{font-size:1.5rem}.course-title[data-v-85590a0f]{margin:.9rem 0 .75rem}.course-description[data-v-85590a0f]{font-size:.8125rem}.course-keywords[data-v-85590a0f]{gap:.5rem .8rem;margin-top:1rem}.course-meta[data-v-85590a0f]{gap:1rem;margin:1rem 0}.course-actions[data-v-85590a0f]{gap:.6rem 1rem;padding-top:1rem}.primary-action[data-v-85590a0f]{font-size:.875rem;gap:1.1rem;padding:.6rem 1rem}.text-action[data-v-85590a0f]{font-size:.75rem;gap:.6rem}.catalog-footnote[data-v-85590a0f]{align-items:start;font-size:.6875rem;padding:.9rem 0 .3rem}.catalog-footnote>span[data-v-85590a0f]{padding-top:.25rem}.resume-strip[data-v-85590a0f]{display:grid;grid-template-columns:2.75rem minmax(0,1fr);padding:1.1rem;grid-gap:.65rem .8rem;gap:.65rem .8rem;margin-bottom:1.5rem;min-height:0}.resume-icon[data-v-85590a0f]{align-self:start;grid-row:1/span 2}.resume-copy h2[data-v-85590a0f]{font-size:.875rem}.resume-progress[data-v-85590a0f]{grid-column:2;margin:0;width:100%}.resume-strip>.text-action[data-v-85590a0f]{flex-wrap:wrap;grid-column:2;justify-self:start;margin-top:.2rem;max-width:100%;min-height:2.75rem;min-width:0;text-align:left;white-space:normal}.local-note[data-v-85590a0f]{font-size:.75rem;gap:.45rem;padding-bottom:.65rem}.local-note>a[data-v-85590a0f]{margin:0 0 0 1.1rem}.learning-note[data-v-85590a0f]{gap:1.25rem;grid-template-columns:1fr;margin-top:.5rem;padding:1.25rem}.note-title h2[data-v-85590a0f]{font-size:1.125rem}.note-title h2 br[data-v-85590a0f]{display:none}.note-item[data-v-85590a0f]{padding-left:1rem}.note-item h3[data-v-85590a0f]{margin:.3rem 0}.note-item p[data-v-85590a0f]{max-width:none}}.resume-icon[data-v-85590a0f]{align-items:center;display:inline-flex;flex-shrink:0;justify-content:center}.resume-copy[data-v-85590a0f]{min-width:0}.search>svg[data-v-85590a0f]{font-size:.875rem}.empty-state>svg[data-v-85590a0f]{color:var(--fs-color-text-muted);font-size:1.5rem}
