.portal-page{width:min(100% - 64px,1184px);color:var(--color-fd-foreground);margin:0 auto;padding:42px 0 64px}.portal-page h1,.portal-page h2,.portal-page h3{letter-spacing:0;text-wrap:pretty}.portal-page p{line-height:1.8}.portal-kicker{color:var(--color-fd-muted-foreground);align-items:center;gap:12px;font-size:14px;display:flex}.portal-kicker>span{align-items:center;gap:5px;display:inline-flex}.portal-primary,.portal-secondary{cursor:pointer;border-radius:999px;justify-content:center;align-items:center;gap:12px;min-height:48px;padding:0 24px;font-size:16px;font-weight:600;display:inline-flex}.portal-primary{background:var(--color-fd-primary);color:var(--color-fd-primary-foreground)}.portal-primary:hover{filter:brightness(.95)}.portal-secondary{border:1px solid var(--color-fd-border);background:var(--color-fd-card);color:var(--color-fd-primary)}.portal-hero{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:center;gap:48px;padding:24px 0 40px;display:grid}.portal-hero h1{max-width:600px;margin:16px 0 20px;font-size:clamp(32px,3.5vw,48px);font-weight:700;line-height:1.3}.portal-hero-description{color:var(--color-fd-muted-foreground);max-width:520px;margin-bottom:24px;font-size:16px}.portal-hero-image{min-width:0;display:block}.portal-hero-note{color:var(--color-fd-muted-foreground);gap:16px;margin-top:20px;font-size:14px;display:flex}.portal-cover{aspect-ratio:16/9;background:var(--site-banner);border-radius:8px;min-width:0;overflow:hidden}.portal-cover img{object-fit:contain;width:100%;height:100%;display:block}.portal-cover.is-large{border-radius:16px}.portal-cover-type{height:100%;color:var(--site-banner-foreground);flex-direction:column;justify-content:center;align-items:flex-start;gap:12px;padding:24px;display:flex}.portal-cover-type span{max-width:100%;font-size:24px;font-weight:650;line-height:1.4}.portal-cover-type small{opacity:.75;font-size:14px}.portal-entries{border-top:1px solid var(--color-fd-border);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;padding-top:28px;display:grid}.portal-entries>a{background:var(--color-fd-card);border:1px solid var(--color-fd-border);border-radius:16px;align-items:center;gap:14px;min-width:0;padding:20px;display:flex}.portal-entries>a>svg{color:var(--color-fd-muted-foreground);flex-shrink:0;margin-left:auto}.portal-entry-icon{background:var(--color-fd-secondary);width:44px;height:44px;color:var(--color-fd-primary);border-radius:12px;flex-shrink:0;place-items:center;display:grid}.portal-entries strong{font-size:16px;font-weight:650;display:block}.portal-entries div>span{color:var(--color-fd-muted-foreground);margin-top:4px;font-size:14px;display:block}.portal-section{margin-top:48px}.portal-section-heading{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:24px;display:flex}.portal-section-heading h2{margin-top:6px;font-size:28px;font-weight:650;line-height:1.4}.portal-section-heading>a{color:var(--color-fd-primary);white-space:nowrap;align-items:center;gap:8px;font-size:14px;display:inline-flex}.portal-featured-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;display:grid}.portal-course-tile{border:1px solid var(--color-fd-border);background:var(--color-fd-card);border-radius:16px;min-width:0;transition:border-color .15s;display:block;overflow:hidden}.portal-course-tile:hover{border-color:var(--color-fd-primary)}.portal-course-tile>.portal-cover{border-radius:0}.portal-course-copy{min-width:0;padding:20px}.portal-course-copy h3{margin:10px 0;font-size:20px;font-weight:650;line-height:1.5}.portal-course-copy>p{color:var(--color-fd-muted-foreground);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:16px;font-size:14px;display:-webkit-box;overflow:hidden}.portal-course-meta{color:var(--color-fd-muted-foreground);align-items:center;gap:12px;font-size:14px;display:flex}.portal-course-meta>svg{color:var(--color-fd-primary);margin-left:auto}.portal-free-label{color:var(--color-fd-primary)}.portal-access-label{color:var(--color-fd-muted-foreground)}.portal-updates{border-top:1px solid var(--color-fd-border);grid-template-columns:repeat(2,minmax(0,1fr));gap:0 32px;display:grid}.portal-updates>a{border-bottom:1px solid var(--color-fd-border);min-width:0;padding:24px 0}.portal-update-category{color:var(--color-fd-muted-foreground);font-size:14px}.portal-updates a>div{color:var(--color-fd-muted-foreground);justify-content:space-between;align-items:center;font-size:14px;display:flex}.portal-about{border:1px solid var(--color-fd-border);background:var(--color-fd-secondary);border-radius:16px;align-items:flex-start;gap:28px;margin-top:48px;padding:32px;display:flex}.portal-about img{border-radius:50%;flex-shrink:0}.portal-about>div{flex:1;min-width:0}.portal-about h2{margin:8px 0 16px;font-size:28px;font-weight:650}.portal-about p:not(.portal-kicker){color:var(--color-fd-muted-foreground);font-size:16px}.portal-about>a{color:var(--color-fd-primary);white-space:nowrap;align-items:center;gap:6px;font-size:14px;display:flex}.portal-community{background:var(--site-banner);color:var(--site-banner-foreground);border-radius:16px;justify-content:space-between;align-items:center;gap:24px;margin-top:40px;padding:32px;scroll-margin-top:88px;display:flex}.portal-community .portal-kicker,.portal-community small{color:var(--site-banner-foreground);opacity:.8;font-size:14px}.portal-community h2{margin:8px 0 12px;font-size:28px;font-weight:650}.portal-community a{background:#fff;border-radius:12px;flex-shrink:0;padding:10px;display:block}.portal-community img{max-width:160px;height:auto;display:block}.portal-page-heading{margin:8px 0 32px}.portal-page-heading h1{margin:10px 0 14px;font-size:40px;font-weight:700;line-height:1.35}.portal-page-heading>p:last-child{color:var(--color-fd-muted-foreground);font-size:16px}.portal-course-filters{white-space:nowrap;gap:10px;max-width:100%;margin-bottom:24px;padding:4px 0;display:flex;overflow-x:auto}.portal-course-filters a{border:1px solid var(--color-fd-border);background:var(--color-fd-card);border-radius:999px;justify-content:center;align-items:center;min-height:36px;padding:0 18px;font-size:14px;display:inline-flex}.portal-course-filters a[aria-current=page]{background:var(--site-selected);color:var(--site-selected-foreground);border-color:var(--site-selected);font-weight:600}.portal-course-list{gap:20px;display:grid}.portal-course-tile.is-compact{gap:0;padding:20px;display:flex}.portal-course-tile.is-compact>.portal-cover{border-radius:8px;flex-shrink:0;align-self:center;width:240px;height:135px}.portal-course-tile.is-compact>.portal-course-copy{flex:1;align-self:center;padding:0 0 0 28px}.portal-course-tile.is-compact .portal-cover-type{gap:8px;padding:16px}.portal-course-tile.is-compact .portal-cover-type span{font-size:20px}.portal-continue{margin-bottom:28px}.portal-continue>h2{margin-bottom:14px;font-size:20px;font-weight:650}.portal-learning-row{border:1px solid var(--color-fd-border);background:var(--color-fd-card);border-radius:16px;align-items:center;gap:16px;margin-bottom:12px;padding:20px;display:flex}.portal-learning-row>div{flex:1;min-width:0}.portal-learning-row h3{font-size:18px;font-weight:650;line-height:1.5}.portal-learning-row p{color:var(--color-fd-muted-foreground);margin-top:4px;font-size:14px}.portal-learning-icon{background:var(--color-fd-secondary);width:44px;height:44px;color:var(--color-fd-primary);border-radius:12px;flex-shrink:0;place-items:center;display:grid}.portal-learning-action{white-space:nowrap;color:var(--color-fd-primary);align-items:center;gap:8px;font-size:14px;font-weight:600;display:flex}.portal-progress{background:var(--color-fd-secondary);border-radius:999px;max-width:400px;height:4px;margin-top:10px;overflow:hidden}.portal-progress span{background:var(--color-fd-primary);height:100%;display:block}.portal-profile{border:1px solid var(--color-fd-border);background:var(--color-fd-card);border-radius:16px;align-items:center;gap:20px;padding:28px;display:flex}.portal-profile>div{flex:1;min-width:0}.portal-profile h2{overflow-wrap:anywhere;font-size:24px;font-weight:650}.portal-profile-icon{background:var(--color-fd-secondary);width:56px;height:56px;color:var(--color-fd-primary);border-radius:50%;place-items:center;display:grid}.portal-account-gate,.portal-empty{text-align:center;border:1px solid var(--color-fd-border);background:var(--color-fd-card);border-radius:16px;flex-direction:column;align-items:center;gap:16px;padding:48px 24px;display:flex}.portal-account-gate>svg,.portal-empty>svg{color:var(--color-fd-primary)}.portal-account-gate h2,.portal-empty h3{font-size:24px;font-weight:650}.portal-account-gate p,.portal-empty p{color:var(--color-fd-muted-foreground);font-size:16px}.portal-account-gate>a{color:var(--color-fd-primary);font-size:14px}.portal-service-note{border:1px solid var(--color-fd-border);background:var(--color-fd-secondary);color:var(--color-fd-muted-foreground);border-radius:12px;margin-bottom:24px;padding:16px 20px;font-size:14px}.portal-mobile-nav,.portal-mobile-back{display:none}.portal-page :focus-visible{outline:2px solid var(--color-fd-ring);outline-offset:4px}@media (max-width:900px){.portal-featured-grid{gap:16px}.portal-hero{gap:24px}.portal-course-copy{padding:16px}.portal-entries{grid-template-columns:repeat(3,minmax(0,1fr))}.portal-entries>a{gap:10px;padding:16px}.portal-entries div>span,.portal-entries>a>svg{display:none}.portal-entry-icon{width:36px;height:36px}}@media (max-width:767px){.portal-page{width:calc(100% - 40px);padding:20px 0 40px}.portal-hero{flex-direction:column-reverse;align-items:stretch;gap:24px;padding:0 0 28px;display:flex}.portal-hero h1{margin:10px 0 14px;font-size:32px}.portal-hero-description{margin-bottom:20px;font-size:16px}.portal-hero .portal-primary{width:100%}.portal-hero-note{justify-content:center;margin-top:14px}.portal-hero-image{width:100%}.portal-hero-image .portal-cover{border-radius:16px}.portal-entries{grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:10px;padding-top:20px}.portal-entries>a{text-align:center;flex-direction:column;align-items:center;gap:10px;padding:16px 8px;display:flex}.portal-entries strong{font-size:14px}.portal-entry-icon{color:var(--color-fd-primary);background:0 0}.portal-section{margin-top:32px}.portal-section-heading{gap:10px;margin-bottom:18px}.portal-section-heading h2{font-size:24px}.portal-featured-grid{grid-template-columns:minmax(0,1fr)}.portal-course-copy{padding:20px}.portal-cover-type{min-height:160px}.portal-cover-type span{font-size:28px}.portal-updates{grid-template-columns:minmax(0,1fr)}.portal-updates>a{padding:20px 0}.portal-updates h3{font-size:18px}.portal-about{flex-wrap:wrap;gap:16px;margin-top:32px;padding:24px}.portal-about img{width:48px;height:48px}.portal-about>div{flex-basis:calc(100% - 64px)}.portal-about h2{font-size:22px}.portal-about>a{margin-left:64px}.portal-community{flex-direction:column;align-items:flex-start;padding:24px}.portal-community h2{font-size:24px}.portal-community a{align-self:center}.portal-page-heading h1{font-size:32px}.portal-page-heading{margin:8px 0 24px}.portal-course-tile.is-compact{align-items:flex-start;padding:16px}.portal-course-tile.is-compact>.portal-cover{align-self:flex-start;width:132px;height:74px}.portal-course-tile.is-compact>.portal-course-copy{align-self:flex-start;padding:0 0 0 14px}.portal-course-tile.is-compact h3{margin:0 0 8px;font-size:16px;line-height:1.5}.portal-course-tile.is-compact .portal-kicker,.portal-course-tile.is-compact .portal-course-copy>p{display:none}.portal-course-tile.is-compact .portal-course-meta{flex-wrap:wrap;gap:4px 10px;font-size:14px}.portal-course-tile.is-compact .portal-course-meta>svg{display:none}.portal-course-tile.is-compact .portal-cover-type{gap:4px;min-height:0;padding:10px}.portal-course-tile.is-compact .portal-cover-type>svg,.portal-course-tile.is-compact .portal-cover-type small{display:none}.portal-course-tile.is-compact .portal-cover-type span{font-size:14px;line-height:1.5}.portal-learning-row{flex-wrap:wrap;gap:12px;padding:16px}.portal-learning-action{margin-left:auto}.portal-profile{flex-wrap:wrap;gap:14px;padding:20px}.portal-profile>.portal-secondary{min-height:36px;margin-left:70px;padding:0 16px;font-size:14px}.portal-account-gate{padding:36px 20px}.portal-mobile-nav{z-index:45;background:var(--color-fd-background);border-top:1px solid var(--color-fd-border);padding:8px 8px calc(8px + env(safe-area-inset-bottom));grid-template-columns:repeat(4,minmax(0,1fr));min-height:64px;display:grid;position:fixed;bottom:0;left:0;right:0}.portal-mobile-nav a{color:var(--color-fd-muted-foreground);flex-direction:column;justify-content:center;align-items:center;gap:4px;font-size:14px;display:flex}.portal-mobile-nav a[aria-current=page]{color:var(--color-fd-foreground);font-weight:650}.portal-mobile-nav a[aria-current=page]>svg{color:var(--site-tab-icon)}body:has(.portal-mobile-nav){padding-bottom:calc(76px + env(safe-area-inset-bottom))}.portal-mobile-back{border-top:1px solid var(--color-fd-border);color:var(--color-fd-primary);padding:12px 20px;display:block}.portal-mobile-back button{cursor:pointer;align-items:center;gap:8px;font-size:14px;display:flex}}@media (prefers-reduced-motion:reduce){.portal-course-tile{transition:none}}@media (max-width:767px){.portal-mobile-back{z-index:45;background:var(--color-fd-background);padding-bottom:calc(12px + env(safe-area-inset-bottom));min-height:48px;position:fixed;bottom:0;left:0;right:0}.portal-mobile-back button{min-height:24px}body:has(.portal-mobile-back){padding-bottom:calc(64px + env(safe-area-inset-bottom))}}@media (min-width:768px){#nd-nav a[data-active]{box-sizing:border-box;border-bottom:3px solid #0000;min-height:64px;padding:0 8px;font-size:16px;text-decoration:none}#nd-nav a[data-active=true]{border-bottom-color:var(--site-selected);text-decoration:none}}.portal-header-my{border:1px solid var(--color-fd-border);border-radius:999px;justify-content:center;align-items:center;min-height:40px;padding:0 20px;font-size:14px;display:inline-flex}.portal-page{max-width:1072px}.portal-home{max-width:960px}.portal-hero{background:var(--color-fd-primary);color:var(--color-fd-primary-foreground);border-radius:16px;margin-bottom:24px;padding:28px 32px;display:block}.portal-hero .portal-kicker{color:inherit;opacity:.8;font-size:14px}.portal-hero h1{max-width:560px;margin:16px 0 24px;font-size:40px;line-height:1.3}.portal-hero .portal-primary{min-height:36px;color:inherit;background:#ffffff24;padding:0 16px;font-size:14px;font-weight:600}.portal-entries{border:0;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:20px;padding:0}.portal-entries>a{background:0 0;border:0;border-radius:0;flex-direction:column;align-items:center;gap:10px;padding:0;display:flex}.portal-entries strong{font-size:14px;font-weight:500}.portal-entry-icon{background:var(--color-fd-secondary);width:56px;height:56px;color:var(--color-fd-primary);border-radius:16px}.portal-section-heading h2{margin:0;font-size:20px;font-weight:650}.portal-section-heading{align-items:center;margin-bottom:16px}.portal-section-heading>a{color:var(--color-fd-muted-foreground)}.portal-featured-grid{display:block}.portal-course-list{gap:0}.portal-course-tile.is-compact{border:0;border-bottom:1px solid var(--color-fd-border);background:0 0;border-radius:0;align-items:center;padding:24px 0}.portal-course-tile.is-compact .portal-cover{border-radius:12px}.portal-course-tile.is-compact .portal-course-copy{padding-left:24px}.portal-course-copy h3{margin:0 0 8px}.portal-course-tile.is-compact .portal-course-copy>p{-webkit-line-clamp:1;color:var(--color-fd-muted-foreground);-webkit-box-orient:vertical;margin:0 0 12px;font-size:16px;display:-webkit-box;overflow:hidden}.portal-course-meta{align-items:center;gap:12px}.portal-course-meta>svg{display:none}.portal-access-label,.portal-free-label{white-space:nowrap;align-items:center;gap:5px;margin-left:auto;display:flex}.portal-free-label{font-weight:600}.portal-updates{display:block}.portal-updates>a{align-items:center;gap:20px;padding:20px 0;display:flex}.portal-updates a>div{flex:1;min-width:0;display:block}.portal-updates h3{margin:4px 0 0;font-size:16px;font-weight:500;line-height:1.5}.portal-update-type{white-space:nowrap;color:var(--color-fd-muted-foreground);font-size:14px}.portal-about{background:var(--color-fd-card);padding:20px;display:block}.portal-about-heading{align-items:center;gap:14px;margin-bottom:16px;display:flex}.portal-about-heading h2{margin:0;font-size:20px}.portal-about-avatar{background:var(--color-fd-primary);width:56px;height:56px;color:var(--color-fd-primary-foreground);border-radius:50%;flex-shrink:0;place-items:center;font-size:24px;font-weight:600;display:grid}.portal-about p{margin:0 0 8px}.portal-page-heading{justify-content:space-between;align-items:center;gap:16px;margin:0 0 24px;display:flex;position:relative}.portal-page-heading h1{margin:0;font-size:28px;line-height:1.3}.portal-course-search>button{width:44px;height:44px;color:var(--color-fd-foreground);cursor:pointer;background:0 0;place-items:center;display:grid}.portal-course-search form{z-index:5;border:1px solid var(--color-fd-border);background:var(--color-fd-card);border-radius:12px;gap:8px;padding:12px;display:flex;position:absolute;top:52px;left:0;right:0}.portal-course-search form[hidden]{display:none}.portal-course-search input{border:1px solid var(--color-fd-border);background:var(--color-fd-background);border-radius:8px;flex:1;min-width:0;padding:10px;font-size:16px}.portal-course-search form>button{background:var(--color-fd-primary);color:var(--color-fd-primary-foreground);cursor:pointer;border-radius:999px;padding:0 20px}.portal-learning-row{flex-wrap:nowrap;gap:20px;padding:20px}.portal-learning-row>.portal-cover{flex:0 0 240px;align-self:center;width:240px}.portal-learning-row>.portal-learning-copy{flex:1}.portal-learning-kicker{color:var(--color-fd-primary);margin-bottom:8px;font-size:14px;display:block}.portal-learning-row h3{font-size:20px}.portal-learning-row p{font-size:14px}.portal-learning-row .portal-cover-type{min-height:0;padding:16px}.portal-learning-row .portal-cover-type>svg,.portal-learning-row .portal-cover-type small{display:none}.portal-learning-row .portal-cover-type span{font-size:18px}@media (max-width:767px){.portal-page{width:calc(100% - 40px);padding-top:24px}.portal-hero{box-sizing:border-box;min-height:197px;padding:20px 22px}.portal-hero h1{max-width:280px;margin:16px 0 20px;font-size:28px;line-height:1.35}.portal-hero .portal-kicker{font-size:14px}.portal-section{margin-top:40px}.portal-section-heading h2{font-size:20px}.portal-course-tile.is-compact{align-items:flex-start;padding:16px 0}.portal-course-tile.is-compact>.portal-cover{border-radius:8px;width:132px;height:74px}.portal-course-tile.is-compact>.portal-course-copy{min-width:0;padding:0 0 0 14px}.portal-course-tile.is-compact h3{margin:0 0 4px;font-size:16px;line-height:1.45}.portal-course-tile.is-compact .portal-course-copy>p{margin:0 0 8px;font-size:14px;line-height:1.5;display:-webkit-box}.portal-course-meta{flex-wrap:wrap;gap:6px;font-size:14px}.portal-course-meta>span:first-child{white-space:nowrap}.portal-free-label,.portal-access-label{margin-left:auto}.portal-about{padding:20px}.portal-about-heading{margin-bottom:16px}.portal-about>div{flex-basis:auto}.portal-about h2{font-size:20px}.portal-about-avatar{width:56px;height:56px}.portal-about p{font-size:16px}.portal-page-heading{margin:0 0 20px}.portal-page-heading h1{font-size:28px}.portal-learning-row{align-items:flex-start;gap:14px;padding:16px}.portal-learning-row>.portal-cover{flex:0 0 112px;align-self:flex-start;width:112px}.portal-learning-row .portal-cover-type{padding:8px}.portal-learning-row .portal-cover-type span{font-size:14px}.portal-learning-row h3{font-size:16px;line-height:1.45}.portal-learning-kicker{margin-bottom:4px}.portal-learning-row .portal-progress{margin-top:8px}.portal-learning-row p{margin-top:6px}}
