.dash-topbar-title{color:var(--pe-navy);margin:0;font-size:1rem;font-weight:700}.dash-topbar{padding-block:12px}.sd{gap:clamp(16px,2vw,22px)}.sd-flow{gap:clamp(14px,1.8vw,18px)}.sd-card{gap:12px;padding:clamp(16px,1.8vw,20px)}.sd-eyebrow{color:var(--muted);letter-spacing:0;text-transform:none;font-size:.875rem;font-weight:700}.sd-next .sd-eyebrow{color:#ffffffc7}.sd-greeting-summary{color:var(--muted);font-weight:600}.sd-nudge,.sd-nudge--yellow,.sd-nudge--coral,.sd-nudge--blue,:root[data-theme=dark] .sd-nudge--yellow,:root[data-theme=dark] .sd-nudge--coral,:root[data-theme=dark] .sd-nudge--blue{color:var(--muted);background:0 0;border-radius:0;gap:8px;margin-top:8px;padding:0;font-size:.875rem;font-weight:600}.sd-nudge-dot{background:var(--pe-yellow);border-radius:50%;width:8px;height:8px}.sd-nudge--coral .sd-nudge-dot{background:var(--pe-coral)}.sd-nudge--blue .sd-nudge-dot{background:var(--pe-blue)}.sd-next{gap:10px;padding:clamp(20px,2.4vw,28px)}.sd-next-meta{gap:2px;display:grid}.sd-next-meta strong{color:#fff;font-size:1rem;font-weight:700}.sd-next-meta span{color:#ffffffb8;font-size:.875rem}.sd-join{min-height:58px;padding:0 32px}.sd-continue{gap:14px}.sd-continue-course{color:var(--muted);margin:0 0 2px;font-size:.875rem;font-weight:600}.sd-continue h2{letter-spacing:-.01em;font-size:1.5rem}.sd-continue-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 20px;display:flex}.sd-continue-count{margin:0}.sd-continue .sd-btn{min-height:48px}.sd-task-list{gap:4px;margin:0 -8px}.sd-task-list li{display:block}.sd-task{color:inherit;cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;border-radius:12px;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;width:100%;min-height:52px;padding:8px;display:grid}.sd-task:hover:not(:disabled){background:color-mix(in srgb, var(--pe-blue) 7%, var(--sd-card))}.sd-task:disabled{cursor:default}.sd-task:focus-visible{outline:3px solid var(--pe-blue);outline-offset:0}.sd-task-dot--soon{background:var(--pe-yellow)}.sd-task-dot--later{background:color-mix(in srgb, var(--muted) 45%, var(--sd-card))}.sd-task-dot--late{background:var(--pe-coral)}.sd-empty{color:var(--pe-navy);font-size:1rem;font-weight:700}.sd-week-grid li{gap:6px;min-height:84px}.sd-week-class{background:var(--sd-card);border:0;border-left:3px solid var(--pe-blue);cursor:pointer;font:inherit;text-align:left;border-radius:8px}.sd-week-class:hover{box-shadow:0 0 0 1.5px var(--pe-blue)}.sd-week-today{background:var(--pe-yellow);color:#243b53;border-radius:999px;justify-self:start;padding:2px 8px;font-size:.6875rem;font-style:normal;font-weight:800}@media (max-width:720px){.sd-continue-foot .sd-btn{width:100%}}.sd-greeting h1{margin-bottom:6px;font-size:clamp(1.8rem,3.2vw,2.5rem)}.sd-greeting-summary{font-size:1rem}.sd-flow .sd-card{border-radius:16px}.sd-flow .sd-card-head{align-items:center}.sd-flow .sd-eyebrow{color:var(--pe-navy);font-size:1rem;font-weight:700}.sd-flow .sd-card-head .sd-link{min-height:28px}@media (min-width:900px){.sd-flow{grid-template-columns:minmax(0,3fr) minmax(0,2fr)}}@media (min-width:1200px){.sd-flow{grid-template-columns:repeat(12,minmax(0,1fr));grid-template-areas:"class class class class class class class class focus focus focus focus""continue continue continue continue continue continue continue continue continue continue continue continue""tasks tasks tasks tasks week week week week week progress progress progress"}}.sd-area-progress>*{height:100%}.sd-flow .sd-next{background:linear-gradient(135deg,#22344d 0%,#2b4364 58%,#3b5b86 100%);align-content:space-between;gap:22px;min-height:280px;padding:clamp(22px,2.6vw,30px);position:relative;overflow:hidden}:root[data-theme=dark] .sd-flow .sd-next{background:linear-gradient(135deg,#16243a 0%,#1d3150 100%)}.sd-flow .sd-next--empty,:root[data-theme=dark] .sd-flow .sd-next--empty{background:var(--sd-card);min-height:0}.sd-flow .sd-next .sd-eyebrow{color:#fffc;font-size:1rem;font-weight:600}.sd-flow .sd-next.is-live .sd-eyebrow{color:var(--pe-yellow)}.sd-next-content,.sd-next-bottom{z-index:1;position:relative}.sd-next-content{gap:12px;max-width:64%;display:grid}.sd-flow .sd-next .sd-next-title{font-size:clamp(1.4rem,2.6vw,2rem)}.sd-flow .sd-next-meta strong,.sd-flow .sd-next-meta span{align-items:center;gap:12px;display:inline-flex}.sd-flow .sd-next-meta strong{font-size:1rem}.sd-flow .sd-next-meta span{color:#ffffffd9;font-size:1rem}.sd-flow .sd-next-bottom{align-items:center;margin-top:0}.sd-flow .sd-next-cta{justify-items:center;margin-right:clamp(0px,14%,150px)}.sd-flow .sd-join{border-radius:12px;min-height:54px}.sd-flow .sd-focus{gap:18px}.sd-flow .sd-focus-list{gap:20px}.sd-flow .sd-focus-list li{gap:14px;position:relative}.sd-flow .sd-focus-list li:not(:last-child):after{background:var(--sd-line);content:"";width:2px;position:absolute;top:38px;bottom:-18px;left:15px}.sd-flow .sd-focus-num{width:32px;height:32px;font-size:.875rem}.sd-flow .sd-focus-text{gap:4px}.sd-flow .sd-focus-text strong{font-size:1rem}.sd-flow .sd-focus-text small{font-size:.875rem}.sd-flow .sd-focus-text small.sd-focus-tone--yellow{background:color-mix(in srgb, var(--pe-yellow) 30%, var(--sd-card));border-radius:8px;justify-self:start;margin-top:2px;padding:3px 10px;font-size:.8125rem}.sd-flow .sd-continue{grid-template-columns:minmax(0,1fr) auto 170px;align-items:center;column-gap:clamp(16px,3vw,32px);position:relative;overflow:hidden}.sd-continue-main{gap:12px;min-width:0;display:grid}.sd-flow .sd-continue-mark{border-radius:16px;width:58px;height:58px}.sd-flow .sd-continue h2{font-size:clamp(1.4rem,2.4vw,1.8rem);font-weight:800}.sd-flow .sd-progress{height:12px}.sd-flow .sd-progress-percent{font-size:1rem}.sd-flow .sd-continue .sd-btn{border-radius:12px;min-height:48px;margin-top:34px;padding:0 24px}.sd-continue-art{align-self:end;width:170px;height:auto;margin:-12px -16px -22px 0}.sd-flow .sd-task-text strong{font-size:1rem}.sd-flow .sd-week{grid-template-rows:auto 1fr}.sd-flow .sd-week-grid li{border-radius:12px;gap:10px;min-height:170px;padding:12px 8px}.sd-flow .sd-week-day{color:var(--pe-navy);font-size:.75rem}.sd-flow .sd-week-day small{color:var(--muted);letter-spacing:0;font-size:.75rem;font-weight:600}.sd-flow .sd-week-grid{gap:6px}.sd-flow .sd-week-grid li{padding-inline:6px}.sd-flow .sd-week-class{min-width:0;padding:5px 6px;box-shadow:0 1px 2px #0f1b2b0f}.sd-flow .sd-week-class strong{font-size:.75rem}.sd-flow .sd-progress-card{background:var(--sd-card);border:1px solid var(--sd-line);box-shadow:var(--sd-soft);align-content:start;padding:clamp(16px,1.8vw,20px)}.sd-flow .sd-progress-mini{grid-template-columns:1fr;gap:0}.sd-flow .sd-progress-mini li{border-bottom:1px solid var(--sd-line);align-items:center;gap:16px;padding:12px 0;display:flex}.sd-flow .sd-progress-mini li:last-child{border-bottom:0}.sd-flow .sd-progress-icon{border-radius:50%;flex:none;justify-content:center;align-items:center;width:50px;height:50px;display:inline-flex}.sd-flow .sd-progress-icon--mint{background:color-mix(in srgb, var(--sd-done) 14%, var(--sd-card));color:var(--sd-done)}.sd-flow .sd-progress-icon--blue{background:color-mix(in srgb, var(--pe-blue) 14%, var(--sd-card));color:var(--pe-blue)}.sd-flow .sd-progress-icon--coral{background:color-mix(in srgb, var(--pe-coral) 14%, var(--sd-card));color:var(--pe-coral)}.sd-flow .sd-progress-text{gap:1px;min-width:0;display:grid}.sd-flow .sd-progress-mini strong{font-size:1.25rem}@media (min-width:900px) and (max-width:1199px){.sd-flow .sd-progress-mini{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:16px}.sd-flow .sd-progress-mini li{border-bottom:0}}@media (max-width:899px){.sd-flow .sd-continue{grid-template-columns:minmax(0,1fr) 130px}.sd-flow .sd-continue .sd-btn{grid-area:2/1;margin-top:0}.sd-continue-art{grid-area:1/2/span 2;width:130px}}@media (max-width:720px){.sd-next-art,.sd-continue-art{display:none}.sd-next-content{max-width:none}.sd-flow .sd-next{min-height:0}.sd-flow .sd-next-cta{justify-items:stretch;width:100%;margin-right:0}.sd-flow .sd-continue{grid-template-columns:1fr}.sd-flow .sd-continue .sd-btn{width:100%}.sd-flow .sd-week-grid li{min-height:110px}.sd-flow .sd-next-bottom{align-items:flex-start}.sd-flow .sd-week-grid{grid-template-columns:repeat(5,minmax(68px,1fr));padding-bottom:4px;overflow-x:auto}}.sd-focus-action{color:inherit;cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;border-radius:8px;padding:0}.sd-focus-action strong span{color:var(--pe-blue);transition:margin .12s}.sd-focus-action:hover strong{color:var(--pe-blue)}.sd-focus-action:hover strong span{margin-left:3px}.sd-focus-action:focus-visible{outline:2px solid var(--pe-blue);outline-offset:3px}.rc-tags{flex-wrap:wrap;gap:8px;display:flex}.rc-tags button{background:var(--sd-card);border:1px solid var(--sd-line);color:var(--pe-navy);cursor:pointer;font:inherit;border-radius:999px;padding:6px 12px;font-size:.8125rem;font-weight:600;transition:background .12s,border-color .12s}.rc-tags button:hover{border-color:color-mix(in srgb, var(--pe-blue) 45%, var(--sd-line))}.rc-tags button.is-on{background:color-mix(in srgb, var(--pe-blue) 12%, var(--sd-card));border-color:var(--pe-blue);color:var(--pe-blue)}.sd-classes{grid-template-rows:auto minmax(0,1fr);align-content:stretch;gap:14px;container-type:inline-size}.sd-classes .tl{grid-auto-rows:minmax(0,1fr)}.sd-classes .tl-step{align-items:stretch}.sd-classes-title{color:var(--pe-navy);margin:2px 0 0;font-size:1.25rem;font-weight:800}.tl-event--side{grid-template-columns:minmax(0,1fr) auto;align-items:stretch;column-gap:20px;min-height:112px;padding:22px 24px}.tl-event-main{align-content:start;gap:8px;min-width:0;display:grid}.tl-event--side .tl-actions{justify-content:flex-end;align-self:end;margin-top:0}.tl-event--side .tl-course{font-size:1.0625rem;font-weight:800}.tl-event--side .tl-who{font-size:.9375rem}.tl-event--side .tl-join{min-height:48px;padding:0 22px}.tl-event--side .tl-actions{flex-direction:column;align-items:stretch;gap:8px;min-width:190px}.tl-feedback{background:var(--sd-card);border:1.5px solid color-mix(in srgb, var(--pe-navy) 18%, var(--sd-line));color:var(--pe-navy);border-radius:12px;justify-content:center;gap:8px;min-height:44px;padding:0 18px;font-size:.875rem;font-weight:800}.tl-feedback:hover{border-color:var(--pe-blue);color:var(--tw-text-blue,var(--pe-blue))}.tl-feedback:focus-visible{outline:2px solid var(--pe-blue);outline-offset:2px}.tl-feedback.is-due{background:var(--pe-yellow);border-color:var(--pe-yellow);color:#243b53}.tl-feedback.is-due:hover{background:color-mix(in srgb, var(--pe-yellow) 85%, #000);color:#243b53}.tl-feedback.is-disabled{cursor:not-allowed;opacity:.5}.tl-feedback.is-disabled:hover{border-color:color-mix(in srgb, var(--pe-navy) 18%, var(--sd-line));color:var(--pe-navy)}.tl-feedback.is-sent{background:color-mix(in srgb, var(--pe-blue) 7%, var(--sd-card));border-color:color-mix(in srgb, var(--pe-blue) 30%, var(--sd-line));color:var(--tw-text-blue,var(--pe-blue));cursor:default}:root[data-theme=dark] .tl-feedback:not(.is-due){color:inherit}.sd-classes .tl-time strong{font-size:1.0625rem}@container (min-width:621px){.sd-classes .tl-time{padding-top:22px}.sd-classes .tl-node{padding-top:26px}}@container (max-width:460px){.tl-event--side{grid-template-columns:minmax(0,1fr);row-gap:10px}.tl-event--side .tl-actions .tl-join{flex:auto}.tl-event--side .tl-actions{min-width:0}}.sd,.sd-flow{max-width:none}.sd-flow{grid-template-areas:"class""focus""continue"}@media (min-width:900px){.sd-flow{grid-template-columns:minmax(0,1fr);grid-template-areas:"class""continue";align-items:stretch}}.sd-missions{align-content:start}.sd-missions .sd-card-head{align-items:flex-start}.sd-missions-title{color:var(--pe-navy);margin:2px 0 0;font-size:1.25rem;font-weight:800}.sd-mission-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.sd-mission{background:var(--sd-card);border:1px solid var(--sd-line);color:inherit;cursor:pointer;font:inherit;text-align:left;border-radius:14px;align-items:center;gap:12px;width:100%;min-height:60px;padding:10px 12px;transition:border-color .15s,transform .15s,box-shadow .15s;display:flex}.sd-mission:hover:not(:disabled){border-color:color-mix(in srgb, var(--pe-blue) 45%, var(--sd-line));transform:translateY(-1px);box-shadow:0 8px 18px -12px #0f1b2b59}.sd-mission:focus-visible{outline:3px solid color-mix(in srgb, var(--pe-blue) 45%, transparent);outline-offset:2px}.sd-mission:disabled{cursor:default}.sd-mission-icon{border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;font-size:1.125rem;display:inline-flex}.sd-mission-icon--blue{background:color-mix(in srgb, var(--pe-blue) 13%, var(--sd-card));color:var(--pe-blue)}.sd-mission-icon--yellow{background:color-mix(in srgb, var(--pe-yellow) 28%, var(--sd-card));color:color-mix(in srgb, var(--pe-yellow) 45%, var(--pe-navy))}.sd-mission-icon--navy{background:color-mix(in srgb, var(--pe-navy) 9%, var(--sd-card));color:var(--pe-navy)}.sd-mission-text{flex:1;gap:2px;min-width:0;display:grid}.sd-mission-text strong{color:var(--pe-navy);font-size:.875rem;font-weight:700;line-height:1.3}.sd-mission-text small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;overflow:hidden}.sd-mission-chip{white-space:nowrap;border-radius:999px;flex-shrink:0;padding:3px 9px;font-size:.75rem;font-style:normal;font-weight:700}.sd-mission-chip--yellow{background:color-mix(in srgb, var(--pe-yellow) 26%, var(--sd-card));color:color-mix(in srgb, var(--pe-yellow) 40%, var(--pe-navy))}.sd-mission-chip--coral{background:color-mix(in srgb, var(--pe-coral) 14%, var(--sd-card));color:var(--pe-coral)}.sd-mission-chip--muted{background:color-mix(in srgb, var(--pe-navy) 6%, var(--sd-card));color:var(--muted)}.sd-mission-go{color:var(--muted);flex-shrink:0;transition:transform .15s,color .15s}.sd-mission:hover .sd-mission-go{color:var(--pe-blue);transform:translate(2px)}.sd-missions{grid-template-rows:auto minmax(0,1fr) auto}.sd-missions-scroll{overscroll-behavior:contain;scroll-behavior:smooth;scrollbar-color:color-mix(in srgb, var(--pe-navy) 18%, transparent) transparent;scrollbar-width:thin;align-content:start;gap:12px;max-height:300px;margin:0 -6px;padding:2px 6px 4px;display:grid;overflow-y:auto}.sd-missions-scroll:focus-visible{outline:3px solid color-mix(in srgb, var(--pe-blue) 35%, transparent);outline-offset:2px;border-radius:12px}.sd-missions-scroll.fade-bottom{-webkit-mask-image:linear-gradient(#000 calc(100% - 36px),#0000);mask-image:linear-gradient(#000 calc(100% - 36px),#0000)}.sd-missions-scroll.fade-top{-webkit-mask-image:linear-gradient(#0000,#000 28px);mask-image:linear-gradient(#0000,#000 28px)}.sd-missions-scroll.fade-top.fade-bottom{-webkit-mask-image:linear-gradient(#0000,#000 28px calc(100% - 36px),#0000);mask-image:linear-gradient(#0000,#000 28px calc(100% - 36px),#0000)}.sd-mission-group{gap:8px;display:grid}.sd-mission-group-label{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;margin:2px 0 0;font-size:.75rem;font-weight:800}.sd-missions-more{justify-self:start}@media (prefers-reduced-motion:reduce){.sd-mission:hover:not(:disabled){transform:none}.sd-missions-scroll{scroll-behavior:auto}}.sd-flow .sd-next{gap:14px;min-height:0;padding:20px 22px}.sd-flow .sd-next .sd-next-title{font-size:clamp(1.125rem,1.8vw,1.5rem);line-height:1.25}.sd-flow .sd-next .sd-eyebrow{font-size:.875rem}.sd-next-content{gap:8px;max-width:calc(100% - 110px)}.sd-flow .sd-next-meta{gap:6px}.sd-flow .sd-next-meta strong,.sd-flow .sd-next-meta span{gap:8px;font-size:.875rem}.sd-flow .sd-next-meta svg{width:16px;height:16px}.sd-next-mark{color:var(--pe-yellow);background:#ffffff1a;border:1px solid #ffffff24;border-radius:50%;justify-content:center;align-items:center;width:84px;height:84px;display:inline-flex;position:absolute;top:20px;right:22px}.sd-next-mark:after{content:"";border:1px dashed #ffffff29;border-radius:50%;position:absolute;inset:-10px}.sd-flow .sd-next .sd-join{min-height:48px}@media (max-width:560px){.sd-next-mark{width:56px;height:56px}.sd-next-mark svg{width:28px;height:28px}.sd-next-content{max-width:calc(100% - 70px)}}.sd-courses-list{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.sd-course{background:color-mix(in srgb, var(--pe-blue) 6%, var(--sd-card));border:1px solid var(--sd-line);border-radius:12px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 14px;display:grid}.sd-course-icon{background:color-mix(in srgb, var(--pe-blue) 14%, var(--sd-card));color:var(--pe-blue);border-radius:10px;justify-content:center;align-items:center;width:40px;height:40px;display:inline-flex}.sd-course-body{gap:2px;min-width:0;display:grid}.sd-course-body strong{color:var(--pe-navy);font-size:1rem}:root[data-theme=dark] .sd-course-body strong{color:inherit}.sd-course-body span{color:var(--muted);overflow-wrap:anywhere;align-items:center;gap:6px;font-size:.85rem;display:flex}.sd-courses-empty{color:var(--muted);margin:0}
.sh{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:24px;display:grid}.sh-main{gap:24px;min-width:0;display:grid}.sh-section{gap:12px;min-width:0;display:grid}.sh-title{color:var(--pe-navy);font-family:var(--font-heading);margin:0;font-size:1.1rem;font-weight:700}.sh-muted{color:var(--muted);margin:0;font-size:.9rem}.sh-card{background:var(--sd-card);border:1px solid var(--sd-line);box-shadow:var(--sd-soft);border-radius:18px;padding:18px}.sh-banner{background:var(--pe-blue);color:#fff;border-radius:20px;justify-content:space-between;align-items:center;gap:16px;min-height:150px;padding:24px 28px;display:flex;position:relative;overflow:hidden}.sh-banner:after{content:"";background:#ffffff1a;border-radius:50%;width:220px;height:220px;position:absolute;top:-70px;right:-40px}.sh-banner-text{z-index:1;position:relative}.sh-banner h2{color:#fff;font-family:var(--font-heading);margin:0 0 6px;font-size:clamp(1.4rem,2.6vw,1.9rem)}.sh-banner-line{opacity:.95;margin:0;font-size:.95rem}.sh-today .sd-card{border-radius:18px}.sh-courses{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px;margin:0;padding:0;list-style:none;display:grid}.sh-course{background:var(--sd-card);border:1px solid var(--sd-line);box-shadow:var(--sd-soft);border-radius:18px;flex-direction:column;transition:transform .16s,border-color .16s;display:flex;overflow:hidden}.sh-course:hover{border-color:color-mix(in srgb, var(--pe-blue) 45%, var(--sd-line));transform:translateY(-2px)}.sh-course-art{justify-content:center;align-items:center;height:108px;display:flex}.sh-course-art--blue{background:color-mix(in srgb, var(--pe-blue) 16%, var(--sd-card));color:var(--pe-blue)}.sh-course-art--yellow{background:color-mix(in srgb, var(--pe-yellow) 24%, var(--sd-card));color:color-mix(in srgb, var(--pe-yellow) 45%, #5a4300)}.sh-course-art--coral{background:color-mix(in srgb, var(--pe-coral) 16%, var(--sd-card));color:var(--pe-coral)}.sh-course-body{gap:6px;padding:14px 16px 16px;display:grid}.sh-course-body strong{color:var(--pe-navy);font-size:1rem}.sh-course-body>span{color:var(--muted);align-items:center;gap:6px;font-size:.82rem;display:flex}.sh-bar{background:color-mix(in srgb, var(--muted) 16%, var(--sd-card));border-radius:6px;height:6px;margin-top:6px;overflow:hidden}.sh-bar span{background:var(--pe-blue);border-radius:6px;min-width:4px;height:100%;display:block}.sh-course-meta{color:var(--muted);justify-content:space-between;font-size:.75rem;font-weight:600;display:flex}.sh-link{color:var(--pe-blue);cursor:pointer;font:inherit;background:0 0;border:0;justify-self:start;align-items:center;gap:4px;margin-top:4px;padding:2px 0;font-size:.85rem;font-weight:700;display:inline-flex}.sh-link:hover{text-decoration:underline}.sh-rail{gap:20px;display:grid;position:sticky;top:0}.sh-cal .sh-title,.sh-up .sh-title{margin-bottom:12px}.sh-cal-box{border:1px solid var(--sd-line);border-radius:14px;padding:12px}.sh-cal-head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.sh-cal-head strong{color:var(--pe-navy);font-size:.88rem}.sh-cal-head button{border:1px solid var(--sd-line);color:var(--pe-navy);cursor:pointer;background:0 0;border-radius:8px;justify-content:center;align-items:center;width:28px;height:28px;display:inline-flex}.sh-cal-head button:disabled{cursor:default;opacity:.35}.sh-cal-grid{text-align:center;grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.sh-cal-wd{color:var(--muted);padding-bottom:4px;font-size:.7rem;font-weight:700}.sh-cal-day{color:var(--pe-navy);border-radius:8px;justify-content:center;align-items:center;height:30px;font-size:.8rem;display:flex}.sh-cal-day.has-class{background:color-mix(in srgb, var(--pe-blue) 16%, var(--sd-card));color:color-mix(in srgb, var(--pe-blue) 70%, var(--pe-navy));font-weight:700}.sh-cal-day.is-today{background:var(--pe-blue);color:#fff;font-weight:700}.sh-cal-key{color:var(--muted);align-items:center;gap:6px;margin:10px 0 0;font-size:.72rem;display:flex}.sh-cal-dot{background:color-mix(in srgb, var(--pe-blue) 30%, var(--sd-card));border-radius:3px;width:10px;height:10px;display:inline-block}.sh-cal-dot--today{background:var(--pe-blue);margin-left:8px}.sh-up-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.sh-up-group{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;margin:6px 0 4px;font-size:.7rem;font-weight:800}.sh-up-item{border:1px solid var(--sd-line);border-radius:12px;align-items:center;gap:12px;padding:10px 12px;display:flex}.sh-up-icon{background:color-mix(in srgb, var(--pe-yellow) 26%, var(--sd-card));color:color-mix(in srgb, var(--pe-yellow) 40%, #5a4300);border-radius:10px;flex:none;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex}.sh-up-text{gap:2px;min-width:0;display:grid}.sh-up-text strong{color:var(--pe-navy);font-size:.88rem}.sh-up-text small{color:var(--muted);font-size:.75rem}:root[data-theme=dark] .sh-banner{background:color-mix(in srgb, var(--pe-blue) 70%, #0d141d)}:root[data-theme=dark] .sh-up-icon,:root[data-theme=dark] .sh-course-art--yellow{color:var(--pe-yellow)}@media (max-width:1180px){.sh{grid-template-columns:minmax(0,1fr)}.sh-rail{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));position:static}}@media (max-width:600px){.sh,.sh-main{gap:18px}.sh-banner{padding:20px}.sh-rail{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion:reduce){.sh-banner-bee,.sh-course{transition:none;animation:none}}.mt-teacher .sh-title{margin-bottom:12px}.mt-list{gap:14px;margin:0;padding:0;list-style:none;display:grid}.mt-item+.mt-item{border-top:1px solid var(--sd-line);padding-top:14px}.mt-head{align-items:center;gap:12px;display:flex}.mt-avatar{background:color-mix(in srgb, var(--pe-yellow) 30%, var(--sd-card));color:var(--pe-navy);font-family:var(--font-heading);border-radius:14px;flex:none;justify-content:center;align-items:center;width:52px;height:52px;font-size:1.05rem;font-weight:800;display:inline-flex}.mt-who{gap:1px;min-width:0;display:grid}.mt-who strong{color:var(--pe-navy);overflow-wrap:anywhere;font-size:1rem}.mt-who small{color:var(--muted);font-size:.78rem}.mt-review-open{background:color-mix(in srgb, var(--pe-blue) 10%, var(--sd-card));border:1px solid color-mix(in srgb, var(--pe-blue) 30%, var(--sd-line));color:color-mix(in srgb, var(--pe-blue) 75%, var(--pe-navy));cursor:pointer;font:inherit;border-radius:10px;justify-content:center;align-items:center;gap:8px;width:100%;margin-top:12px;padding:10px;font-size:.88rem;font-weight:700;display:flex}.mt-review-open:hover{background:color-mix(in srgb, var(--pe-blue) 16%, var(--sd-card))}.mt-stars{gap:2px;display:inline-flex}.mt-stars button{cursor:pointer;background:0 0;border:0;padding:1px}.mt-stars svg{color:color-mix(in srgb, var(--muted) 35%, var(--sd-card))}.mt-stars svg.is-on{color:var(--pe-yellow);fill:var(--pe-yellow)}.mt-review{background:color-mix(in srgb, var(--pe-yellow) 10%, var(--sd-card));border-radius:10px;margin-top:12px;padding:10px 12px}.mt-review-head{justify-content:space-between;align-items:center;display:flex}.mt-review p{color:var(--pe-navy);overflow-wrap:anywhere;margin:6px 0 0;font-size:.85rem}.mt-link{color:var(--pe-blue);cursor:pointer;font:inherit;background:0 0;border:0;padding:0;font-size:.82rem;font-weight:700}.mt-saved{color:color-mix(in srgb, var(--pe-blue) 75%, var(--pe-navy));align-items:center;gap:4px;margin-top:6px;font-size:.78rem;font-weight:600;display:flex}.mt-form{gap:10px;margin-top:12px;display:grid}.mt-form-rate{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.mt-form-rate>span:last-child{color:var(--muted);font-size:.82rem;font-weight:600}.mt-form textarea{background:var(--sd-card);border:1px solid var(--sd-line);color:var(--pe-navy);font:inherit;resize:vertical;border-radius:10px;padding:10px;font-size:.88rem}.mt-form textarea:focus{border-color:var(--pe-blue);outline:none}.mt-form-actions{gap:10px;display:flex}.mt-save{background:var(--pe-coral);color:#fff;cursor:pointer;font:inherit;border:0;border-radius:10px;padding:9px 16px;font-size:.88rem;font-weight:700}.mt-save:disabled{opacity:.6}.mt-cancel{color:var(--muted);cursor:pointer;font:inherit;background:0 0;border:0;font-size:.85rem;font-weight:600}.mt-note{color:var(--muted);font-size:.72rem}.mt-avatar--mentor{background:color-mix(in srgb, var(--pe-blue) 18%, var(--sd-card))}.fs{background:color-mix(in srgb, var(--pe-yellow) 16%, var(--sd-card));border:1px solid color-mix(in srgb, var(--pe-yellow) 50%, var(--sd-line));border-radius:16px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 18px;padding:14px 18px;display:flex}.fs--empty{display:contents}.fs--empty>.fs-text,.fs--empty>.fs-list{display:none}.fs-text{gap:2px;display:grid}.fs-text strong{color:var(--pe-navy);font-size:.98rem}.fs-text small{color:var(--muted);font-size:.82rem}.fs-list{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.fs-rate{background:var(--sd-card);border:1px solid color-mix(in srgb, var(--pe-yellow) 60%, var(--sd-line));color:var(--pe-navy);cursor:pointer;font:inherit;border-radius:10px;align-items:center;gap:6px;padding:8px 12px;font-size:.85rem;font-weight:700;transition:transform .14s,background .14s;display:inline-flex}.fs-rate svg{color:color-mix(in srgb, var(--pe-yellow) 55%, #5a4300)}.fs-rate:hover{background:color-mix(in srgb, var(--pe-yellow) 22%, var(--sd-card));transform:translateY(-1px)}:root[data-theme=dark] .fs-rate svg{color:var(--pe-yellow)}.tl-join.is-closed{background:color-mix(in srgb, var(--muted) 10%, var(--sd-card));border-color:var(--sd-line);color:var(--muted)}.sdc-event{transition:transform .18s,box-shadow .18s,border-color .18s}.sdc-event:hover{transform:translateY(-2px);box-shadow:0 14px 30px -20px #243b5373}.sdc-event .tl-course{align-items:center;gap:8px;display:flex}.sdc-event .tl-course .tl-glyph{display:none}.sdc-art{background:color-mix(in srgb, var(--pe-blue) 16%, var(--sd-card));color:var(--pe-blue);border-radius:10px;flex:none;justify-content:center;align-items:center;width:34px;height:34px;transition:transform .2s;display:inline-flex}.sdc-event:hover .sdc-art{transform:rotate(-8deg)scale(1.06)}.sdc-art--live{background:color-mix(in srgb, var(--pe-coral) 16%, var(--sd-card));color:var(--pe-coral);animation:1.8s ease-in-out infinite sdc-pulse}.sdc-art--soon{background:color-mix(in srgb, var(--pe-yellow) 30%, var(--sd-card));color:color-mix(in srgb, var(--pe-yellow) 40%, #5a4300)}@keyframes sdc-pulse{0%,to{box-shadow:0 0 0 0 color-mix(in srgb, var(--pe-coral) 40%, transparent)}50%{box-shadow:0 0 0 6px #0000}}.sdc-count{background:color-mix(in srgb, var(--pe-blue) 10%, var(--sd-card));color:color-mix(in srgb, var(--pe-blue) 75%, var(--pe-navy));border-radius:8px;justify-self:start;align-items:center;gap:6px;margin:2px 0 0;padding:5px 10px;font-size:.82rem;font-weight:700;display:inline-flex}.sdc-count.is-soon{background:color-mix(in srgb, var(--pe-yellow) 28%, var(--sd-card));color:color-mix(in srgb, var(--pe-yellow) 35%, #4a3500)}:root[data-theme=dark] .sdc-count.is-soon,:root[data-theme=dark] .sdc-art--soon{color:var(--pe-yellow)}.sdc-live{gap:4px;max-width:320px;display:grid}.sdc-bar{background:color-mix(in srgb, var(--pe-coral) 14%, var(--sd-card));border-radius:6px;height:7px;overflow:hidden}.sdc-bar span{background:var(--pe-coral);border-radius:6px;height:100%;transition:width .6s;display:block}.sdc-live small{color:color-mix(in srgb, var(--pe-coral) 70%, var(--pe-navy));font-size:.78rem;font-weight:700}@media (prefers-reduced-motion:reduce){.sdc-event,.sdc-art{transition:none;animation:none}}.sd-classes .tl--done .sdc-event{background:color-mix(in srgb, var(--pe-blue) 7%, var(--sd-card));border-color:color-mix(in srgb, var(--pe-blue) 30%, var(--sd-line));box-shadow:inset 4px 0 0 var(--pe-blue)}.sd-classes .tl--done .tl-course{color:var(--pe-navy)}.sd-classes .tl--done .tl-who{color:var(--muted)}.sd-classes .tl--done .tl-time strong{color:var(--pe-navy)}.sd-classes .tl--done .tl-node span{background:var(--pe-blue);color:#fff}.sdc-art{position:relative}.sdc-art--done{background:color-mix(in srgb, var(--pe-blue) 18%, var(--sd-card));color:var(--pe-blue)}.sdc-art-tick{background:var(--pe-yellow);border:2px solid var(--sd-card);color:var(--pe-navy);border-radius:50%;justify-content:center;align-items:center;width:16px;height:16px;display:inline-flex;position:absolute;bottom:-4px;right:-4px}.sd-classes .tl-join.is-closed{background:color-mix(in srgb, var(--pe-blue) 12%, var(--sd-card));border-color:color-mix(in srgb, var(--pe-blue) 35%, var(--sd-line));color:color-mix(in srgb, var(--pe-blue) 80%, var(--pe-navy));opacity:1;font-weight:700}.sd-classes .tl-join.is-closed svg{color:var(--pe-blue)}.sh-banner-bee{transform-origin:50%;z-index:1;flex:none;margin:-14px 8px -18px 0;animation:5s ease-in-out infinite sh-bee-hover;position:relative;transform:scale(.82)}.sh-banner-bee .login-mascot{--flap:1.1s}@keyframes sh-bee-hover{0%,to{translate:0}50%{translate:0 -4px}}
.lp{--lp-card:var(--sd-card,#fff);--lp-line:var(--sd-line,#e4eaf3);--lp-soft:color-mix(in srgb, var(--pe-blue) 6%, var(--lp-card));--lp-done:var(--sd-done,#243b53);gap:20px;width:100%;max-width:1120px;margin-inline:auto;display:grid}.lp-head h1{color:var(--pe-navy);margin:0;font-size:1.5rem;font-weight:800}.lp-head p{color:var(--muted);margin:4px 0 0;font-size:.875rem}.lp-btn{background:var(--lp-card);border:1px solid var(--lp-line);color:var(--pe-navy);cursor:pointer;font:inherit;white-space:nowrap;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:0 16px;font-size:.875rem;font-weight:700;transition:background .15s,border-color .15s,transform .15s;display:inline-flex}.lp-btn:hover{border-color:color-mix(in srgb, var(--pe-blue) 45%, var(--lp-line))}.lp-btn:focus-visible{outline:3px solid color-mix(in srgb, var(--pe-blue) 45%, transparent);outline-offset:2px}.lp-btn--primary{background:var(--pe-blue);border-color:var(--pe-blue);color:#fff}.lp-btn--primary:hover{background:color-mix(in srgb, var(--pe-blue) 88%, #000);border-color:#0000}.lp-btn--big{min-height:52px;padding:0 26px;font-size:1rem}.lp-btn:active{transform:scale(.97)}.lp-switch{scrollbar-width:none;gap:8px;padding:2px;display:flex;overflow-x:auto}.lp-switch::-webkit-scrollbar{display:none}.lp-switch-item{background:var(--lp-card);border:1px solid var(--lp-line);color:var(--muted);cursor:pointer;font:inherit;border-radius:999px;flex-shrink:0;align-items:center;gap:8px;padding:7px 14px 7px 8px;font-size:.875rem;font-weight:600;transition:border-color .15s,background .15s,color .15s;display:inline-flex}.lp-switch-item:hover{border-color:color-mix(in srgb, var(--pe-blue) 45%, var(--lp-line));color:var(--pe-navy)}.lp-switch-item.is-on{background:color-mix(in srgb, var(--pe-blue) 9%, var(--lp-card));border-color:var(--pe-blue);color:var(--pe-navy);font-weight:700}.lp-switch-icon{background:color-mix(in srgb, var(--pe-navy) 6%, var(--lp-card));color:var(--muted);border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;display:inline-flex}.lp-switch-pct{color:var(--muted);font-variant-numeric:tabular-nums;align-items:center;gap:5px;font-size:.75rem;font-weight:700;display:inline-flex}.lp-switch-pct i{background:conic-gradient(var(--pe-blue) var(--p,0deg), color-mix(in srgb, var(--pe-navy) 14%, var(--lp-card)) 0);border-radius:50%;width:12px;height:12px}.lp-switch-pct.is-zero i{border:1.5px solid color-mix(in srgb, var(--pe-navy) 25%, var(--lp-line));background:0 0}@keyframes lp-grow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.lp-summary{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px 18px;display:flex}.lp-course-name{color:var(--pe-navy);margin:0;font-size:1.125rem;font-weight:700}.lp-course-name small{color:var(--muted);margin-left:4px;font-size:.875rem;font-weight:500}.lp-stats{color:var(--muted);flex-wrap:wrap;gap:4px 0;margin:0;padding:0;font-size:.875rem;list-style:none;display:flex}.lp-stats li{white-space:nowrap}.lp-stats li+li:before{color:color-mix(in srgb, var(--pe-navy) 25%, var(--lp-card));content:"·";margin:0 10px}.lp-stats strong{color:var(--pe-navy);font-weight:700}.lp-notice{background:color-mix(in srgb, var(--pe-blue) 10%, var(--lp-card));border:1px solid color-mix(in srgb, var(--pe-blue) 30%, var(--lp-line));color:var(--pe-navy);border-radius:12px;margin:0;padding:10px 14px;font-size:.875rem;font-weight:600}.lp-journey{gap:4px;margin:0;padding:0;list-style:none;display:grid}.lp-mod{grid-template-columns:32px minmax(0,1fr);gap:0 16px;display:grid;position:relative}.lp-mod:not(:last-child):before{background:color-mix(in srgb, var(--pe-navy) 14%, transparent);content:"";width:2px;position:absolute;top:34px;bottom:-4px;left:15px}.lp-mod--completed:not(:last-child):before{background:color-mix(in srgb, var(--lp-done) 55%, transparent)}.lp-mod-node{background:var(--lp-card);border:2px solid color-mix(in srgb, var(--pe-navy) 18%, var(--lp-line));color:var(--muted);z-index:1;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;margin-top:12px;font-size:.8125rem;font-weight:800;display:inline-flex;position:relative}.lp-mod--completed .lp-mod-node{background:var(--lp-done);border-color:var(--lp-done);color:#fff}.lp-mod--current .lp-mod-node{background:var(--pe-blue);border-color:var(--pe-blue);box-shadow:0 0 0 5px color-mix(in srgb, var(--pe-blue) 18%, transparent);color:#fff}.lp-mod--locked .lp-mod-node{background:color-mix(in srgb, var(--pe-navy) 5%, var(--lp-card))}.lp-mod-body{border-radius:16px;gap:10px;min-width:0;margin-bottom:14px;padding:4px 0;display:grid}.lp-mod--current .lp-mod-body{background:var(--lp-card);border:1px solid color-mix(in srgb, var(--pe-blue) 35%, var(--lp-line));box-shadow:var(--sd-soft);padding:14px 18px 18px}.lp-mod-head{color:inherit;cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;border-radius:12px;align-items:center;gap:12px;width:100%;padding:8px 4px;display:flex}div.lp-mod-head{cursor:default}.lp-mod-head:focus-visible{outline:3px solid color-mix(in srgb, var(--pe-blue) 45%, transparent)}.lp-mod-title{flex:1;gap:1px;min-width:0;display:grid}.lp-mod-title small{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:.75rem;font-weight:700}.lp-mod-title strong{color:var(--pe-navy);font-size:1.125rem;font-weight:700}.lp-mod--current .lp-mod-title small{color:var(--pe-blue)}.lp-mod--current .lp-mod-title strong{font-size:1.25rem;font-weight:800}.lp-mod--completed .lp-mod-title strong{color:color-mix(in srgb, var(--pe-navy) 75%, var(--lp-card));font-weight:600}.lp-mod--upcoming .lp-mod-title strong{font-weight:600}.lp-mod--locked .lp-mod-title strong{color:var(--muted);font-weight:600}.lp-mod-count{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.8125rem;font-weight:600}.lp-mod--current .lp-mod-count{color:var(--pe-navy);font-weight:700}.lp-mod-chevron{color:var(--muted);flex-shrink:0;transition:transform .2s}.lp-mod-chevron.is-open{transform:rotate(180deg)}.lp-mod-head:hover .lp-mod-chevron{color:var(--pe-blue)}.lp-mod-bar{background:color-mix(in srgb, var(--pe-blue) 14%, var(--lp-card));border-radius:999px;height:6px;margin:-2px 4px 4px;overflow:hidden}.lp-mod-bar span{background:var(--pe-blue);border-radius:inherit;transform-origin:0;height:100%;animation:.7s ease-out both lp-grow;display:block}.lp-mod-locked{color:var(--muted);margin:-6px 4px 0;font-size:.875rem}.lp-rows{gap:2px;margin:0;padding:0;list-style:none;animation:.2s lp-fade;display:grid}.lp-row{color:inherit;cursor:pointer;font:inherit;text-align:left;background:0 0;border:1px solid #0000;border-radius:12px;align-items:center;gap:12px;width:100%;min-height:46px;padding:8px 10px;transition:background .15s,border-color .15s;display:flex}.lp-row:hover{background:color-mix(in srgb, var(--pe-navy) 4%, var(--lp-card))}.lp-row:focus-visible{outline:3px solid color-mix(in srgb, var(--pe-blue) 45%, transparent);outline-offset:-1px}.lp-row-icon{border:1.5px solid color-mix(in srgb, var(--pe-navy) 20%, var(--lp-line));color:var(--muted);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;font-size:.75rem;font-weight:700;display:inline-flex}.lp-row-title{color:var(--pe-navy);flex:1;min-width:0;font-size:1rem;font-weight:500;display:grid}.lp-row-title small{color:var(--muted);font-size:.75rem;font-weight:700}.lp-row--completed .lp-row-icon{background:var(--lp-done);border-color:var(--lp-done);color:#fff}.lp-row--completed .lp-row-title{color:color-mix(in srgb, var(--pe-navy) 80%, var(--lp-card))}.lp-row--upcoming .lp-row-title{color:color-mix(in srgb, var(--pe-navy) 70%, var(--lp-card))}.lp-row--locked{cursor:pointer}.lp-row--locked .lp-row-title,.lp-row--locked .lp-row-icon{color:var(--muted)}.lp-row--challenge .lp-row-icon{color:color-mix(in srgb, var(--pe-yellow) 45%, var(--pe-navy));border-style:dashed}.lp-row--current{background:color-mix(in srgb, var(--pe-blue) 9%, var(--lp-card));border-color:color-mix(in srgb, var(--pe-blue) 55%, var(--lp-line))}.lp-row--current:hover{background:color-mix(in srgb, var(--pe-blue) 13%, var(--lp-card))}.lp-row--current .lp-row-icon{background:var(--pe-blue);border-color:var(--pe-blue);color:#fff}.lp-row--current .lp-row-title{font-weight:700}.lp-here{background:var(--pe-blue);color:#fff;letter-spacing:.04em;text-transform:uppercase;border-radius:999px;padding:3px 9px;font-size:.6875rem;font-style:normal;font-weight:800}.lp-stars{color:color-mix(in srgb, var(--pe-navy) 15%, var(--lp-card));letter-spacing:1px;line-height:1;display:inline-flex}.lp-stars .is-on{color:var(--pe-yellow)}.lp-stars--sm{font-size:.875rem}.lp-work-meta{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.lp-chip{white-space:nowrap;border-radius:999px;padding:3px 9px;font-size:.75rem;font-style:normal;font-weight:700}.lp-chip--done{background:color-mix(in srgb, var(--pe-navy) 8%, var(--lp-card));color:var(--lp-done)}.lp-chip--blue,.lp-chip--current{background:color-mix(in srgb, var(--pe-blue) 12%, var(--lp-card));color:var(--pe-blue)}.lp-chip--soon{background:color-mix(in srgb, var(--pe-yellow) 26%, var(--lp-card));color:color-mix(in srgb, var(--pe-yellow) 40%, var(--pe-navy))}.lp-chip--late{background:color-mix(in srgb, var(--pe-coral) 14%, var(--lp-card));color:var(--pe-coral)}.lp-chip--muted,.lp-chip--later{background:color-mix(in srgb, var(--pe-navy) 6%, var(--lp-card));color:var(--muted)}.lp-empty{background:var(--lp-card);border:1px dashed var(--lp-line);color:var(--pe-navy);text-align:center;border-radius:16px;margin:0;padding:28px;font-size:1rem;font-weight:700}@keyframes lp-slide{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:none}}@keyframes lp-fade{0%{opacity:0}to{opacity:1}}@media (max-width:720px){.lp{gap:18px}.lp-summary{display:grid}.lp-mod{grid-template-columns:28px minmax(0,1fr);gap:0 12px}.lp-mod-node{width:28px;height:28px}.lp-mod:not(:last-child):before{left:13px}.lp-mod--current .lp-mod-body{padding:12px 12px 14px}.lp-row{flex-wrap:wrap}}@keyframes lp-rise{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.lp-rows,.lp-mod-bar span{animation:none}}.lp-row{cursor:default;flex-wrap:wrap;gap:8px 12px}.lp-row-main{color:inherit;font:inherit;text-align:left;background:0 0;border:0;border-radius:10px;flex:1;align-items:center;gap:12px;min-width:200px;padding:0;display:flex}.lp-row:focus-visible{outline:none}.lp-groups{gap:16px;display:grid}.lp-group{background:var(--lp-card);border:1px solid var(--lp-line);border-radius:16px;padding:14px 18px 8px}.lp-group-head{border-bottom:1px solid var(--lp-line);justify-content:space-between;align-items:flex-end;gap:12px;padding-bottom:10px;display:flex}.lp-group-head span{gap:1px;display:grid}.lp-group-head small{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:.75rem;font-weight:700}.lp-group-head strong{color:var(--pe-navy);font-size:1.125rem;font-weight:700}.lp-group-head em{color:var(--muted);white-space:nowrap;font-size:.8125rem;font-style:normal;font-weight:600}.lp-list{margin:0;padding:0;list-style:none;display:grid}.lp-item{border-bottom:1px solid color-mix(in srgb, var(--lp-line) 70%, transparent);align-items:center;gap:14px;padding:12px 2px;display:flex}.lp-item:last-child{border-bottom:0}.lp-item-icon{background:color-mix(in srgb, var(--pe-blue) 12%, var(--lp-card));color:var(--pe-blue);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;display:inline-flex}.lp-item-body{flex:1;gap:3px;min-width:0;display:grid}.lp-item-body strong{color:var(--pe-navy);font-size:1rem;font-weight:600}.lp-item-body small{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px;font-size:.8125rem;display:inline-flex}.lp-item .lp-btn{min-height:36px;padding:0 14px}.lp-item--done .lp-item-icon{background:color-mix(in srgb, var(--pe-navy) 8%, var(--lp-card));color:var(--lp-done)}.lp-item--hot .lp-item-icon{background:color-mix(in srgb, var(--pe-coral) 14%, var(--lp-card));color:var(--pe-coral)}.lp-item--hot .lp-item-body small{color:var(--pe-coral);font-weight:700}.lp-item--muted .lp-item-icon{background:color-mix(in srgb, var(--pe-navy) 5%, var(--lp-card));color:var(--muted)}.lp-item--muted .lp-item-body strong{color:color-mix(in srgb, var(--pe-navy) 65%, var(--lp-card))}@media (max-width:720px){.lp-row-main{min-width:0}.lp-item{flex-wrap:wrap}.lp-item .lp-btn{margin-left:52px}}.lp-switch{background:#243b53;border-radius:999px;justify-self:start;align-items:center;gap:2px;max-width:100%;padding:5px;box-shadow:0 10px 24px -16px #0f1b2b99}.lp-switch-item{color:#ffffffd1;background:0 0;border:0;min-height:40px;padding:0 16px 0 6px}.lp-switch-item:hover{color:#fff;background:#ffffff1a}.lp-switch-item:focus-visible{outline:2px solid var(--pe-yellow);outline-offset:2px}.lp-switch-icon{color:#ffffffd9;background:#ffffff1f;width:28px;height:28px}.lp-switch-pct.is-zero i{background:0 0;border-color:#ffffff73}.lp-switch{background:var(--lp-card);border:1px solid var(--lp-line);box-shadow:var(--sd-soft)}.lp-switch-item{color:var(--muted)}.lp-switch-item:hover{background:color-mix(in srgb, var(--pe-navy) 6%, var(--lp-card));color:var(--pe-navy)}.lp-switch-item.is-on{color:#fff;background:#243b53;box-shadow:0 6px 14px -8px #243b53b3}.lp-switch-item:focus-visible{outline-color:var(--pe-blue)}.lp-switch-icon{background:color-mix(in srgb, var(--pe-navy) 7%, var(--lp-card));color:var(--muted)}.lp-switch-item.is-on .lp-switch-icon{background:var(--pe-blue);color:#fff}.lp-switch-pct{color:var(--muted)}.lp-switch-item.is-on .lp-switch-pct{color:#fffc}.lp-switch-pct i{background:conic-gradient(var(--pe-blue) var(--p,0deg), color-mix(in srgb, var(--pe-navy) 14%, var(--lp-card)) 0)}.lp-switch-item.is-on .lp-switch-pct i{background:conic-gradient(var(--pe-yellow) var(--p,0deg), #ffffff40 0)}.lp-switch-pct.is-zero i{border-color:color-mix(in srgb, var(--pe-navy) 25%, var(--lp-line));background:0 0}.lp-switch-item.is-on .lp-switch-pct.is-zero i{border-color:#ffffff80}:root[data-theme=dark] .lp-switch{background:var(--lp-card)}:root[data-theme=dark] .lp-switch-item.is-on{background:var(--pe-blue)}.lp-plan{background:var(--lp-card);border:1px solid var(--lp-line);border-radius:16px;gap:10px;padding:16px 18px;display:grid}.lp-plan-head{flex-wrap:wrap;align-items:center;gap:8px 14px;display:flex}.lp-plan-badge{background:color-mix(in srgb, var(--pe-yellow) 32%, var(--lp-card));color:#243b53;border-radius:999px;padding:4px 12px;font-size:.8125rem;font-weight:800}.lp-plan-count{color:var(--muted);margin:0;font-size:.9375rem}.lp-plan-count strong{color:var(--pe-navy);font-variant-numeric:tabular-nums;font-size:1.375rem;font-weight:800}.lp-plan-left{color:var(--muted);margin:0 0 0 auto;font-size:.875rem}.lp-plan-left strong{color:var(--pe-blue);font-weight:800}.lp-plan-bar{background:color-mix(in srgb, var(--pe-navy) 8%, var(--lp-card));border-radius:999px;height:10px;overflow:hidden}.lp-plan-bar span{background:linear-gradient(90deg, var(--pe-blue), color-mix(in srgb, var(--pe-blue) 70%, var(--pe-yellow)));border-radius:inherit;min-width:4px;height:100%;transition:width .4s;display:block}.lp-plan-meta{color:var(--muted);margin:0;font-size:.8125rem}.lp-plan-note{border-radius:10px;margin:0;padding:8px 12px;font-size:.8125rem;font-weight:600}.lp-plan-note--soon{background:color-mix(in srgb, var(--pe-yellow) 20%, var(--lp-card));color:color-mix(in srgb, var(--pe-yellow) 35%, var(--pe-navy))}.lp-plan-note--late{background:color-mix(in srgb, var(--pe-coral) 12%, var(--lp-card));color:var(--pe-coral)}:root[data-theme=dark] .lp-plan-count strong{color:inherit}@media (max-width:560px){.lp-plan-left{width:100%;margin-left:0}}@media (prefers-reduced-motion:reduce){.lp-plan-bar span{transition:none}}.lp-head--credits{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 16px;display:flex}
.set{gap:18px;width:100%;max-width:720px;margin-inline:auto;display:grid}.set-header h1{color:var(--pe-navy,var(--ink));letter-spacing:-.01em;margin:0 0 4px;font-size:clamp(1.4rem,2.6vw,1.8rem);font-weight:800}.set-header p{color:var(--muted);margin:0}.set-hero{background:linear-gradient(120deg,#243b53,#2c4568);border-radius:16px;align-items:center;gap:18px;padding:clamp(20px,2.6vw,28px);display:flex;position:relative;overflow:hidden}:root[data-theme=dark] .set-hero{background:linear-gradient(120deg,#1b2b40,#223752)}.set-hero:before{content:"";background:radial-gradient(circle at 85% 20%,#ffc83d38,#0000 55%);position:absolute;inset:0}.set-hero .set-avatar{color:#fff;background:#ffffff24;border:2px solid #ffffff59;border-radius:50%;flex:none;justify-content:center;align-items:center;width:64px;height:64px;font-size:1.25rem;font-weight:800;display:inline-flex;position:relative}.set-hero-body{gap:8px;display:grid;position:relative}.set-hero .set-name{color:#fff;letter-spacing:-.01em;margin:0;font-size:1.25rem;font-weight:800}.set-role-pill{color:#fff;letter-spacing:.02em;background:#ffffff29;border:1px solid #ffffff47;border-radius:999px;justify-self:start;padding:4px 12px;font-size:.75rem;font-weight:700}.set-card{background:var(--sd-card,var(--white));border:1px solid var(--sd-line,var(--line));border-radius:16px;gap:16px;padding:clamp(18px,2.2vw,24px);display:grid}.set-card h2{color:var(--pe-navy,var(--ink));align-items:center;gap:10px;margin:0;font-size:1rem;display:flex}.set-section-icon{border-radius:12px;flex:none;justify-content:center;align-items:center;width:32px;height:32px;display:inline-flex}.set-section-icon--blue{background:color-mix(in srgb, var(--pe-blue,#4f8ef7) 15%, var(--sd-card,var(--white)));color:var(--pe-blue,#4f8ef7)}.set-section-icon--yellow{background:color-mix(in srgb, var(--pe-yellow,#ffc83d) 26%, var(--sd-card,var(--white)));color:color-mix(in srgb, var(--pe-yellow,#ffc83d) 32%, #4a3500)}:root[data-theme=dark] .set-section-icon--yellow{color:var(--pe-yellow,#ffc83d)}.set-section-icon--coral{background:color-mix(in srgb, var(--pe-coral,#ff6b6b) 15%, var(--sd-card,var(--white)));color:var(--pe-coral,#ff6b6b)}.set-chips{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.set-chip{background:color-mix(in srgb, var(--pe-blue,#4f8ef7) 6%, var(--sd-card,var(--white)));color:var(--pe-blue,#4f8ef7);border-radius:12px;align-items:center;gap:10px;padding:12px 14px;display:flex}.set-chip span{color:var(--pe-navy,var(--ink));min-width:0;display:grid}.set-chip small{color:var(--muted);font-size:.75rem;font-weight:700}.set-chip strong{text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;font-weight:700;overflow:hidden}.set-hint{border-top:1px solid var(--sd-line,var(--line));color:var(--muted);margin:0;padding-top:14px;font-size:.8125rem}.set-row{flex-wrap:wrap;align-items:center;gap:12px 16px;display:flex}.set-row-body{flex:1;min-width:180px;display:grid}.set-row-title{color:var(--pe-navy,var(--ink));margin:0;font-weight:700}.set-row-sub{color:var(--muted);margin:1px 0 0;font-size:.875rem}.set-btn{background:var(--sd-card,var(--white));border:1px solid var(--sd-line,var(--line));color:var(--pe-navy,var(--ink));cursor:pointer;font:inherit;white-space:nowrap;border-radius:12px;align-items:center;gap:6px;min-height:42px;padding:0 16px;font-size:.875rem;font-weight:700;transition:border-color .16s,background .16s,transform .16s;display:inline-flex}.set-btn:hover:not(:disabled){transform:translateY(-1px)}.set-btn:disabled{cursor:default;opacity:.7;transform:none}.set-btn--blue{background:var(--pe-blue,#4f8ef7);border-color:var(--pe-blue,#4f8ef7);color:#fff}.set-btn--blue:hover:not(:disabled){box-shadow:0 10px 20px -12px var(--pe-blue,#4f8ef7)}.set-btn--blue:disabled{background:color-mix(in srgb, var(--pe-blue,#4f8ef7) 55%, var(--sd-card,var(--white)));color:#fff;border-color:#0000}.set-btn--coral{background:color-mix(in srgb, var(--pe-coral,#ff6b6b) 12%, var(--sd-card,var(--white)));color:var(--pe-coral,#ff6b6b);border-color:#0000}.set-btn--coral:hover{background:var(--pe-coral,#ff6b6b);color:#fff}.set-card--danger{border-color:color-mix(in srgb, var(--pe-coral,#ff6b6b) 22%, var(--sd-line,var(--line)))}.set-toggle{background:color-mix(in srgb, var(--muted) 10%, var(--sd-card,var(--white)));border-radius:999px;padding:3px;display:inline-flex}.set-toggle button{color:var(--muted);cursor:pointer;font:inherit;background:0 0;border:0;border-radius:999px;align-items:center;gap:6px;min-height:38px;padding:0 16px;font-size:.875rem;font-weight:700;transition:background .16s,color .16s;display:inline-flex}.set-toggle button[aria-pressed=true]{background:var(--pe-navy,var(--ink));color:#fff}@media (max-width:620px){.set-chips{grid-template-columns:1fr}}@media (max-width:520px){.set-hero{text-align:center;flex-direction:column}.set-hero-body{justify-items:center}.set-row{align-items:flex-start}.set-btn,.set-toggle{justify-content:center;width:100%}}@media (prefers-reduced-motion:reduce){.set-btn{transition:none}}
.prog,.ach{gap:20px;width:100%;max-width:780px;margin-inline:auto;display:grid}.prog-header h1,.ach-header h1{color:var(--pe-navy,var(--ink));letter-spacing:-.01em;margin:0 0 4px;font-size:clamp(1.4rem,2.6vw,1.8rem);font-weight:800}.prog-header p,.ach-header p{color:var(--muted);margin:0}.prog-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.prog-stat{background:var(--sd-card,var(--white));border:1px solid var(--sd-line,var(--line));border-top:3px solid var(--pe-blue,#4f8ef7);cursor:pointer;font:inherit;text-align:left;border-radius:16px;gap:4px;padding:14px 16px 16px;transition:transform .16s,box-shadow .16s;display:grid}.prog-stat:hover{transform:translateY(-1px)}.prog-stat.is-active{box-shadow:0 0 0 2px var(--pe-blue,#4f8ef7)}.prog-stat--green.is-active{box-shadow:0 0 0 2px var(--sd-done)}.prog-stat--navy,.prog-stat--coral{cursor:default}.prog-stat--navy:hover,.prog-stat--coral:hover{transform:none}.prog-stat--coral{border-top-color:var(--pe-coral,#ff6b6b)}.prog-stat small{color:var(--muted);font-size:.75rem}.prog-stat:focus-visible{outline:3px solid var(--pe-blue,#4f8ef7);outline-offset:2px}.prog-stat--green{border-top-color:var(--sd-done)}.prog-stat--navy{border-top-color:var(--pe-navy,#243b53)}:root[data-theme=dark] .prog-stat--navy{border-top-color:#8fa3bd}.prog-stat strong{color:var(--pe-navy,var(--ink));letter-spacing:-.02em;font-size:1.5rem;font-weight:800}.prog-stat span{color:var(--muted);font-size:.8125rem;font-weight:600}.prog-section-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 16px;margin-bottom:14px;display:flex}.prog-section-head h2{color:var(--pe-navy,var(--ink));margin:0;font-size:1rem}.prog-empty{color:var(--muted);margin:0}.prog-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.prog-item{background:var(--sd-card,var(--white));border:1px solid var(--sd-line,var(--line));border-radius:16px;overflow:hidden}.prog-item.is-open{border-color:color-mix(in srgb, var(--pe-blue,#4f8ef7) 35%, var(--sd-line,var(--line)))}.prog-row{cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;align-items:center;gap:14px;width:100%;padding:14px 16px;display:flex}.prog-row:hover{background:color-mix(in srgb, var(--pe-blue,#4f8ef7) 4%, transparent)}.prog-row:focus-visible{outline:3px solid var(--pe-blue,#4f8ef7);outline-offset:-2px}.prog-glyph{background:color-mix(in srgb, var(--pe-blue,#4f8ef7) 13%, var(--sd-card,var(--white)));color:var(--pe-blue,#4f8ef7);border-radius:12px;flex:none;justify-content:center;align-items:center;width:44px;height:44px;display:inline-flex}.prog-row-body{flex:1;gap:6px;min-width:0;display:grid}.prog-row-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;display:flex}.prog-row-top strong{color:var(--pe-navy,var(--ink));font-size:1rem}.prog-row-body small{color:var(--muted)}.prog-state{border-radius:999px;flex:none;padding:3px 10px;font-size:.75rem;font-weight:700}.prog-state--completed{background:color-mix(in srgb, var(--sd-done) 16%, var(--sd-card,var(--white)));color:var(--sd-done)}.prog-state--in-progress{background:color-mix(in srgb, var(--pe-blue,#4f8ef7) 14%, var(--sd-card,var(--white)));color:var(--pe-blue,#4f8ef7)}.prog-state--not-started{background:color-mix(in srgb, var(--muted) 12%, var(--sd-card,var(--white)));color:var(--muted)}.prog-bar{background:color-mix(in srgb, var(--pe-blue,#4f8ef7) 14%, var(--sd-card,var(--white)));border-radius:999px;height:7px;overflow:hidden}.prog-bar span{background:var(--pe-blue,#4f8ef7);border-radius:inherit;height:100%;display:block}.prog-link{color:var(--pe-blue,#4f8ef7);cursor:pointer;font:inherit;white-space:nowrap;background:0 0;border:0;flex:none;min-height:40px;padding:0 4px;font-size:.875rem;font-weight:700}.prog-link:hover{text-underline-offset:3px;text-decoration:underline}.ach-filters{background:color-mix(in srgb, var(--muted) 10%, var(--sd-card,var(--white)));border-radius:999px;justify-self:start;padding:4px;display:inline-flex;overflow-x:auto}.ach-filters button{color:var(--muted);cursor:pointer;font:inherit;white-space:nowrap;background:0 0;border:0;border-radius:999px;min-height:36px;padding:0 15px;font-size:.875rem;font-weight:700}.ach-filters button.is-active{background:var(--sd-card,var(--white));color:var(--pe-navy,var(--ink));box-shadow:0 1px 4px #0f1b2b1f}.ach-section{gap:12px;display:grid}.ach-section-head{align-items:center;gap:10px;display:flex}.ach-section-head h2{color:var(--pe-navy,var(--ink));margin:0;font-size:1rem}.ach-count{background:color-mix(in srgb, var(--pe-blue,#4f8ef7) 13%, var(--sd-card,var(--white)));color:var(--pe-blue,#4f8ef7);border-radius:999px;padding:2px 10px;font-size:.75rem;font-weight:800}.ach-empty{color:var(--muted);margin:0}.ach-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px;margin:0;padding:0;list-style:none;display:grid}.ach-card{background:var(--sd-card,var(--white));border:1px solid var(--sd-line,var(--line));border-radius:16px;gap:4px;padding:16px;transition:transform .16s,box-shadow .16s,border-color .16s;display:grid}.ach-card:hover,.ach-card:focus-visible{border-color:color-mix(in srgb, #ffc83d 55%, var(--sd-line,var(--line)));outline:none;transform:translateY(-2px);box-shadow:0 10px 22px -16px #0f1b2b59}.ach-card--locked:hover,.ach-card--locked:focus-visible{border-color:color-mix(in srgb, var(--muted) 40%, var(--sd-line,var(--line)));transform:none}.ach-icon{background:color-mix(in srgb, #ffc83d 24%, var(--sd-card,var(--white)));color:#886715;border-radius:12px;justify-content:center;align-items:center;width:42px;height:42px;margin-bottom:6px;display:inline-flex}:root[data-theme=dark] .ach-icon{color:#ffc83d}.ach-card strong{color:var(--pe-navy,var(--ink));font-size:1rem}.ach-card p{color:var(--muted);margin:0;font-size:.875rem}.ach-card small{color:var(--muted);margin-top:4px;font-size:.75rem;font-weight:600}.ach-card--locked{background:color-mix(in srgb, var(--muted) 5%, var(--sd-card,var(--white)))}.ach-card--locked strong,.ach-card--locked p{color:var(--muted)}.ach-icon--locked{background:color-mix(in srgb, var(--muted) 14%, var(--sd-card,var(--white)));color:var(--muted)}.ach-bar{background:color-mix(in srgb, var(--muted) 16%, var(--sd-card,var(--white)));border-radius:999px;height:6px;margin-top:6px;overflow:hidden}.ach-bar span{background:var(--pe-blue,#4f8ef7);border-radius:inherit;height:100%;display:block}@media (max-width:900px){.prog-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:620px){.prog-stats{grid-template-columns:1fr}.prog-row{flex-wrap:wrap;align-items:flex-start}.prog-section-head{flex-direction:column;align-items:stretch}}.prog-open{color:var(--pe-blue);flex-shrink:0;align-self:center;align-items:center;gap:4px;font-size:.8125rem;font-weight:700;display:inline-flex}.prog-row:hover .prog-open svg{transform:translate(2px)}.prog-open svg{transition:transform .12s}.ach-cert-open{justify-self:start;margin-top:8px}
