.learner-library { padding-top:calc(var(--mast,64px) + 42px); padding-bottom:80px; }
.library-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:26px; }.library-heading>span { font-size:13px; color:#696d64; overflow-wrap:anywhere; }
.learner-library h1 { font:600 clamp(32px,4vw,48px)/1.1 var(--display); letter-spacing:-.035em; margin:7px 0 0; }.learner-library h2 { font:600 24px/1.2 var(--display); letter-spacing:-.025em; margin:0; }.library-eyebrow { font-size:11px; text-transform:uppercase; letter-spacing:.1em; color:#617365; margin:0 0 9px; }
.learner-profile-summary { display:flex; align-items:center; justify-content:space-between; gap:24px; background:#e9ede3; border:1px solid #d7dfcd; padding:28px; border-radius:18px; margin-bottom:38px; }.learner-profile-summary p { font-size:16px; margin:10px 0 5px; }.learner-profile-summary small { color:#5a6657; font-size:12px; line-height:1.5; }.learner-profile-summary>a { flex-shrink:0; }.profile-tags { display:flex; flex-wrap:wrap; gap:7px; margin-top:17px; }.profile-tags span { padding:6px 10px; border:1px solid #c8d2c0; border-radius:30px; font-size:11px; color:#344a3a; }
.library-layout { display:grid; grid-template-columns:minmax(0,1fr) 260px; gap:36px; align-items:start; }.library-main { min-width:0; }.library-main>section { margin-bottom:38px; }.library-section-head { display:flex; align-items:baseline; justify-content:space-between; gap:14px; margin-bottom:18px; }.library-section-head>span { font-size:12px; color:#6e716a; }.library-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.library-course { display:flex; flex-direction:column; border:1px solid #dddfd6; border-radius:14px; overflow:hidden; background:#fffefa; color:#19241c; text-decoration:none; transition:box-shadow .18s,border-color .18s; }.library-course:hover { border-color:#98ad95; box-shadow:0 8px 25px #203a2410; }.library-course>img { width:100%; height:115px; object-fit:cover; }.library-course>div { padding:17px; }.library-course h3 { font:600 20px/1.25 var(--display); margin:7px 0; letter-spacing:-.02em; }.library-course p { font-size:13px; line-height:1.55; margin:0 0 14px; color:#62675d; }.library-course small { display:block; font-size:11px; color:#52604d; }.library-course .library-eyebrow { font-size:10px; }.library-main>section>.library-course { flex-direction:row; }.library-main>section>.library-course>img { width:180px; height:auto; min-height:140px; }.library-reason { font-size:13px; color:#52684d; margin-top:-8px; margin-bottom:14px; }
.library-course progress,.course-progress-summary progress { width:100%; height:6px; accent-color:#496d46; display:block; margin-bottom:9px; border:0; border-radius:8px; overflow:hidden; background:#e4e8df; }.library-course progress::-webkit-progress-bar,.course-progress-summary progress::-webkit-progress-bar { background:#e4e8df; }.library-course progress::-webkit-progress-value,.course-progress-summary progress::-webkit-progress-value { background:#496d46; }.library-cover-placeholder { display:grid; place-items:center; height:115px; background:#23392e; color:#efe9d6; font:600 40px var(--display); }.library-empty { padding:24px; border:1px dashed #bcc7b4; border-radius:14px; grid-column:1/-1; }.library-empty h3 { font-size:20px; margin:0 0 10px; }.library-empty p { font-size:14px; line-height:1.6; margin:0; color:#606b59; }
.library-awards { border-left:1px solid #dcdfd3; padding-left:26px; }.library-awards h2 { font-size:23px; }.library-awards>p:not(.library-eyebrow),.award-empty p { color:#6a7161; font-size:13px; line-height:1.6; }.award-pair { border-bottom:1px solid #d9ddd1; padding:22px 0; }.medal-tile { display:grid; justify-items:center; width:100%; border:0; background:none; cursor:pointer; color:#25362b; padding:0; }.medal-tile strong { margin:15px 0 5px; font:600 17px var(--display); text-align:center; }.medal-tile small { font-size:11px; color:#66745c; }.course-medal { --medal-hue:35; position:relative; display:grid; place-items:center; width:92px; height:104px; padding-bottom:12px; margin:6px auto 12px; color:#503608; isolation:isolate; }.course-medal::before { content:""; position:absolute; top:0; left:0; width:92px; height:92px; border-radius:50%; background:radial-gradient(circle at 30% 20%,hsl(var(--medal-hue) 75% 87%),hsl(var(--medal-hue) 60% 60%)); box-shadow:inset 0 0 0 5px #ffffff45,inset 0 0 0 7px #80611f60,0 5px 12px #422c171a; z-index:-1; }.course-medal::after { content:""; position:absolute; width:64px; height:45px; bottom:0; background:#355341; clip-path:polygon(5% 0,95% 0,100% 100%,70% 80%,50% 100%,30% 80%,0 100%); z-index:-2; }.course-medal>span { font-size:56px; color:#6d4b1d40; grid-area:1/1; }.course-medal>b { font:700 24px var(--display); grid-area:1/1; }.course-medal.is-unearned { filter:grayscale(1); opacity:.5; }.certificate-tile { display:flex; gap:12px; width:100%; align-items:center; text-align:left; border:1px solid #d9dfcf; border-radius:10px; background:#fffefa; margin-top:20px; padding:12px; cursor:pointer; color:#34472f; font:14px var(--sans); }.certificate-tile small { display:block; font-size:11px; color:#718168; margin-top:5px; }.certificate-tile>span:first-child { font-size:28px; }.certificate-tile>span:last-child { margin-left:auto; }.award-empty { text-align:center; padding-top:25px; }.award-empty h3 { font-size:16px; }
.award-dialog,.profile-onboarding { border:1px solid #dce0d2; background:#faf9f3; color:#223126; border-radius:22px; padding:34px; width:min(620px,calc(100vw - 32px)); max-height:calc(100dvh - 40px); overflow-y:auto; box-shadow:0 25px 100px #0003; }.award-dialog::backdrop,.profile-onboarding::backdrop { background:#11251fcc; backdrop-filter:blur(5px); }.award-dialog { text-align:center; }.award-dialog>[data-close-dialog] { position:absolute; top:14px; right:16px; border:0; background:#e7ebdf; width:32px; height:32px; border-radius:50%; font-size:22px; cursor:pointer; }.award-dialog h2 { font:600 28px var(--display); margin:18px 0; }.award-dialog p { font-size:14px; line-height:1.7; }.award-dialog a { margin:8px 3px; }
.profile-onboarding>header { display:flex; justify-content:space-between; align-items:center; margin-bottom:24px; }.profile-onboarding>header>span:last-child { font-size:12px; color:#66755e; }.profile-onboarding h2,.profile-editor h2 { font:600 28px/1.2 var(--display); letter-spacing:-.02em; margin:8px 0 16px; }.lp-step>p:not(.library-eyebrow) { color:#67735f; font-size:14px; line-height:1.65; }.lp-step label:not(.lp-options label),.profile-email label { display:block; font-size:13px; font-weight:500; margin:18px 0; }.lp-step small { color:#6c7865; font-weight:400; font-size:12px; }.lp-step input:not([type=radio]):not([type=checkbox]),.lp-step select,.lp-step textarea,.profile-email input { display:block; width:100%; border:1px solid #bfc9b5; padding:12px; background:white; color:#263820; border-radius:8px; margin-top:8px; font:15px var(--sans); }.lp-step textarea { resize:vertical; }.lp-two { display:grid; grid-template-columns:1fr 1fr; gap:16px; }.lp-step fieldset { border:0; padding:0; margin:24px 0; }.lp-step legend { font-size:13px; margin-bottom:12px; }.lp-options { display:flex; flex-wrap:wrap; gap:8px; }.lp-options label { position:relative; cursor:pointer; }.lp-options input { position:absolute; opacity:0; width:1px; height:1px; }.lp-options span { display:block; border:1px solid #cbd3c0; border-radius:9px; padding:11px 13px; font-size:13px; background:#fffefa; }.lp-options input:checked+span { background:#2e4e3b; border-color:#2e4e3b; color:white; }.lp-options input:focus-visible+span { outline:2px solid #b47b19; outline-offset:3px; }.wizard-actions { display:flex; justify-content:space-between; gap:12px; margin-top:28px; }.wizard-actions .btn-amber { margin-left:auto; }.wizard-skip { display:block; margin:18px auto 0; border:0; background:none; text-decoration:underline; color:#707967; font:12px var(--sans); cursor:pointer; }.profile-editor { max-width:820px!important; }.profile-back { display:inline-block; margin-bottom:25px; font-size:13px; }.profile-edit-form>.lp-step { padding:28px; background:#fffefa; border:1px solid #dde3d2; border-radius:16px; margin:24px 0; }.profile-email { margin-top:40px; border-top:1px solid #dce0d4; padding-top:25px; }.library-success { background:#e2eddc; color:#325f29; padding:14px; border-radius:9px; }
.course-progress-summary { border:1px solid #cedbc4; border-radius:14px; padding:24px; background:#ecf0e7; margin:24px 0; }.course-progress-summary h2 { font:600 24px var(--display); margin:0; }.course-progress-summary p { margin:12px 0; }.course-progress-summary progress { margin:16px 0 20px; }.tl-t h3 { font:inherit; margin:0 0 8px; }.lesson-status { font:12px var(--sans); color:#66735f; }.lesson-status.is-completed { color:#386333; }.lesson-choice { font:12px/1.5 var(--sans); color:#66735f; margin:8px 0 0; }
@media(max-width:1050px) { .library-layout { grid-template-columns:minmax(0,1fr) 220px; gap:20px; }.library-awards { padding-left:18px; }.library-grid { grid-template-columns:1fr; }.library-course { flex-direction:row; }.library-course>img { width:130px; height:auto; object-fit:cover; } }
@media(max-width:720px) { .learner-library { padding-top:calc(var(--mast,64px) + 25px); }.library-layout { grid-template-columns:1fr; }.library-awards { border-left:0; border-top:1px solid #d9dfce; padding:28px 0 0; }.learner-profile-summary { padding:22px; align-items:flex-start; flex-direction:column; }.library-heading { align-items:flex-start; flex-direction:column; gap:10px; }.library-course>img,.library-main>section>.library-course>img { width:100px; min-height:120px; }.library-course h3 { font-size:18px; }.library-course p { font-size:12px; }.library-course>div { padding:14px; }.lp-two { grid-template-columns:1fr; gap:0; }.profile-onboarding,.award-dialog { padding:24px; }.profile-edit-form>.lp-step { padding:20px; }.library-section-head h2 { font-size:23px; }.award-pair { max-width:350px; }.profile-email input { min-width:0; } }
@media(prefers-reduced-motion:reduce) { .library-course { transition:none; } }

.profile-onboarding [hidden] { display:none!important; }
.library-course { min-width:0; }.library-course>div { min-width:0; overflow-wrap:anywhere; }

.profile-onboarding .sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }

.lp-step label>small { margin-left:5px; }

.choice-wording { display:block; margin-top:3px; font-size:11px; }

.profile-editor [hidden], .profile-onboarding [hidden] { display:none!important; }
.profile-details-hint { display:block; margin:8px 0 10px; color:#65715d; font-size:13px; line-height:1.6; font-weight:400; }
.wizard-actions { position:sticky; bottom:-24px; background:#faf9f3; padding:16px 0; border-top:1px solid #e3e6da; z-index:2; }

.continue-link { display:block; color:#2f5039; font-weight:600; font-size:14px; margin-top:14px; }
.library-continue>.library-course { border-color:#b9c7ac; background:#edf1e7; }
.badge-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:start; gap:20px 8px; margin-top:22px; }
.badge-grid .medal-tile { min-width:0; padding:6px 0; border-radius:10px; }
.badge-grid .medal-tile:hover { background:#e9edde; }
.badge-grid .medal-tile:focus-visible { outline:2px solid #496d3c; outline-offset:3px; }
.badge-grid .course-medal { width:58px; height:68px; margin:0 auto; padding-bottom:10px; }
.badge-grid .course-medal::before { width:58px; height:58px; box-shadow:inset 0 0 0 3px #ffffff45,inset 0 0 0 5px #80611f60,0 3px 8px #422c171a; }
.badge-grid .course-medal::after { width:40px; height:30px; }
.badge-grid .course-medal>span { font-size:36px; }.badge-grid .course-medal>b { font-size:17px; }
.badge-grid .medal-tile strong { font:500 11px/1.4 var(--sans); margin:8px 0 0; overflow-wrap:anywhere; }
@media(max-width:1050px) and (min-width:721px) { .library-layout { grid-template-columns:minmax(0,1fr) 230px; } }
@media(max-width:720px) { .badge-grid { max-width:380px; } }

/* Six-screen intake: every goal and topic is visible without expanding a group. */
.profile-onboarding { overscroll-behavior:contain; }
.profile-onboarding[data-profile-screen="goals"],
.profile-onboarding[data-profile-screen="interests"] { width:min(860px,calc(100vw - 32px)); }
.lp-goal-options, .lp-topic-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
.lp-topic-options { grid-template-columns:repeat(3,minmax(0,1fr)); }
.lp-goal-options span, .lp-topic-options span { height:100%; min-height:44px; display:flex; align-items:center; }
.profile-previous { margin-top:20px; padding-top:14px; border-top:1px solid #d4dccb; }
.profile-previous>p { font-size:12px; color:#67735f; margin:0 0 10px; }
.lp-personalise textarea { min-height:220px; line-height:1.6; }
@media(max-width:720px) { .lp-topic-options { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:420px) { .lp-goal-options { grid-template-columns:1fr; } }
