.progress-personal{max-width:1100px;margin:28px auto 48px;color:var(--text);font-family:'LP Live Inter',Inter,Arial,sans-serif}.progress-personal h1{font-size:clamp(26px,3vw,38px)}.progress-personal h2{text-align:left;font-size:28px;margin:4px 0 0}.progress-personal h3{font:700 16px/1.4 'LP Live Inter',Inter,Arial,sans-serif;margin:0}.progress-personal p{color:var(--muted);line-height:1.6}.pd-welcome,.pd-card{background:var(--surface);border:1px solid var(--border);border-radius:18px;box-shadow:0 12px 32px var(--shadow);margin-bottom:24px;overflow:hidden}.pd-card{padding:26px}.pd-greeting{display:flex;align-items:center;gap:20px;padding:20px 26px}.pd-greeting img{width:96px;height:110px;object-fit:contain}.pd-greeting p{margin:4px 0}.pd-mission{display:flex;align-items:center;justify-content:space-between;gap:20px;background:var(--button);color:var(--button-text);padding:20px 26px}.pd-mission strong,.pd-mission span{display:block;margin-top:5px}.pd-mission strong{font-size:22px}.pd-mission .button{background:var(--surface);color:var(--text);border:0;white-space:nowrap}.pd-stats{display:grid;grid-template-columns:repeat(4,1fr);padding:20px 26px;gap:18px}.pd-stats small{display:block;color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.06em}.pd-stats strong{display:block;margin-top:8px;font-size:17px}.pd-levels,.pd-resources{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:20px 0}.pd-levels button,.pd-resources button{border:1px solid var(--border);border-radius:10px;background:var(--soft);color:var(--text);padding:12px;cursor:pointer}.pd-levels strong,.pd-levels span,.pd-resources strong,.pd-resources small{display:block}.pd-levels span,.pd-resources small{font-size:12px;margin-top:4px}.pd-levels button[aria-pressed=true],.pd-resources button[aria-pressed=true]{background:var(--button);color:var(--button-text);border-color:var(--button)}.pd-resources{grid-template-columns:repeat(5,1fr)}.pd-content{border-top:1px solid var(--border);padding-top:20px}.pd-units{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px;max-height:440px;overflow:auto}.pd-units a,.pd-achievements a{display:flex;align-items:center;gap:14px;padding:14px;border:1px solid var(--border);border-radius:10px;color:var(--text);text-decoration:none}.pd-units small{display:block;color:var(--muted);margin-top:6px}.pd-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.pd-missions article{display:flex;gap:14px;padding:18px 0;border-bottom:1px solid var(--border)}.pd-missions article:last-child{border:0}.pd-check{flex:none;color:var(--selection);font-weight:800}.pd-missions p{margin:6px 0;font-size:14px}.progress-personal progress{width:100%;height:8px;accent-color:var(--selection);display:block;margin:10px 0}.pd-chart{display:flex;gap:12px;height:230px;margin-top:26px}.pd-chart>div{flex:1;display:flex;flex-direction:column;align-items:center;gap:8px;font-size:12px}.pd-bar{flex:1;width:100%;position:relative;background:var(--soft);border-radius:6px;overflow:hidden}.pd-bar i{position:absolute;bottom:0;width:100%;background:var(--selection);border-radius:6px}.pd-badges{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:22px}.pd-badges article{text-align:center}.pd-badges img{width:100%;max-width:145px;aspect-ratio:1;object-fit:cover;border-radius:50%}.pd-badges .is-locked img{filter:grayscale(1);opacity:.5}.pd-badges h3{margin-top:10px}.pd-badges p{font-size:13px;margin:5px 0}.pd-achievements{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:20px}.pd-achievements p{margin:4px 0;font-size:12px}
@media(max-width:650px){.pd-greeting{padding:18px;gap:12px}.pd-greeting img{width:65px;height:90px}.pd-mission{padding:18px;flex-wrap:wrap}.pd-stats{grid-template-columns:1fr 1fr;padding:18px}.pd-card{padding:18px}.pd-grid{grid-template-columns:1fr;gap:0}.pd-levels{grid-template-columns:repeat(2,1fr)}.pd-resources{display:flex;overflow:auto;padding-bottom:8px}.pd-resources button{min-width:100px}.pd-units{grid-template-columns:1fr}.pd-badges{grid-template-columns:repeat(2,1fr)}.pd-achievements{grid-template-columns:1fr}.progress-personal h2{font-size:25px}}

.progress-personal .pd-levels button[aria-pressed=false],.progress-personal .pd-resources button[aria-pressed=false]{background:var(--soft)!important;color:var(--text)!important}
.progress-personal .pd-levels button[aria-pressed=true],.progress-personal .pd-resources button[aria-pressed=true]{background:var(--button)!important;color:var(--button-text)!important}
.pd-companion{display:flex;align-items:center;gap:24px}.pd-companion img{width:100px;height:120px;object-fit:contain}

.pd-unit-group{border:1px solid var(--border);border-radius:10px;margin-top:12px;padding:14px}.pd-unit-group summary{cursor:pointer;color:var(--text)}.pd-unit-group summary span{display:block;font-size:12px;color:var(--muted);margin-top:6px}.pd-unit-group .pd-units{max-height:none}
/* Compact two-column unit cards with an explicit disclosure chevron. */
.pd-unit-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-items:start;margin-top:18px}
.pd-unit-groups .pd-unit-group{margin:0;min-width:0}
.pd-unit-group summary{position:relative;list-style:none;padding-right:32px;min-height:48px;display:flex;flex-direction:column;justify-content:center}
.pd-unit-group summary::-webkit-details-marker{display:none}
.pd-unit-group summary::after{content:'';position:absolute;right:5px;top:18px;width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:transform .15s}
.pd-unit-group[open] summary::after{transform:rotate(225deg)}
.pd-unit-group .pd-units{grid-template-columns:1fr}
@media(max-width:650px){.pd-unit-groups{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.pd-unit-group summary::after{transition:none}}

.pd-lessons-disclosure>summary{display:flex;align-items:center;gap:12px;cursor:pointer;list-style:none;min-height:44px}
.pd-lessons-disclosure>summary::-webkit-details-marker{display:none}
.pd-lessons-disclosure>summary::before{content:'';width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-45deg);flex:none}
.pd-lessons-disclosure[open]>summary::before{transform:rotate(45deg)}

.pd-mission-paths{display:flex;flex-wrap:wrap;gap:10px}
/* Welcome and daily mission as two independent cards. */
.progress-personal .pd-welcome{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:14px;background:transparent;border:0;box-shadow:none;overflow:visible}
.progress-personal .pd-greeting,.progress-personal .pd-mission{border-radius:18px;border:1px solid var(--border);box-shadow:0 12px 32px var(--shadow);min-width:0}
.progress-personal .pd-greeting{background:var(--surface);padding:18px;gap:14px}
.progress-personal .pd-greeting img{width:76px;height:100px;flex:none}
.progress-personal .pd-greeting h1{font-size:clamp(25px,2.6vw,34px);margin-bottom:6px}
.progress-personal .pd-mission{background:#083f4c;color:#fff;padding:20px;flex-wrap:wrap;gap:14px;align-content:center}
.progress-personal .pd-mission small{color:#ffd15c;font-weight:800;font-size:11px;letter-spacing:.06em}
.progress-personal .pd-mission strong{font-size:20px}
.progress-personal .pd-mission span{font-size:13px}
.progress-personal .pd-mission .button{background:var(--button);color:var(--button-text);font-size:12px;padding:10px 12px}
.progress-personal .pd-stats{grid-column:1/-1;background:var(--surface);border:1px solid var(--border);border-radius:18px}
@media(max-width:700px){.progress-personal .pd-welcome{grid-template-columns:1fr}.progress-personal .pd-greeting h1{font-size:27px}}

.progress-personal .pd-weekly-top{grid-column:1/-1;margin-bottom:0}

.pd-navigation>a{display:block;text-decoration:none;color:var(--text)}.pd-navigation>a:hover{border-color:var(--selection)}.progress-personal>header.pd-heading{margin-bottom:24px}.progress-personal>header.pd-heading h1{margin-top:14px}

.pd-resources .pd-membership-stamp{display:block;width:fit-content;margin:0 auto 7px;padding:4px 6px;border:1px solid currentColor;border-radius:4px;font-size:10px;font-weight:800;line-height:1.3;letter-spacing:.02em;text-transform:uppercase;white-space:normal}.pd-resources .pd-membership-stamp[hidden]{display:none}
/* Learning Details: interactive level and resource buttons. */
.progress-personal .pd-levels button,.progress-personal .pd-resources button{position:relative;border-width:2px;box-shadow:0 3px 0 var(--border);transition:transform .16s ease,box-shadow .16s ease,background-color .16s ease,border-color .16s ease}
.progress-personal .pd-levels button[aria-pressed=false],.progress-personal .pd-resources button[aria-pressed=false]{background:var(--surface)!important}
.progress-personal .pd-levels button[aria-pressed=true],.progress-personal .pd-resources button[aria-pressed=true]{box-shadow:0 3px 0 var(--border),0 0 0 2px var(--surface);transform:translateY(-1px)}
@media(hover:hover){.progress-personal .pd-levels button:hover,.progress-personal .pd-resources button:hover{transform:translateY(-3px);border-color:var(--button);box-shadow:0 6px 12px var(--shadow)}.progress-personal .pd-levels button[aria-pressed=false]:hover,.progress-personal .pd-resources button[aria-pressed=false]:hover{background:var(--soft)!important}}
.progress-personal .pd-levels button:active,.progress-personal .pd-resources button:active{transform:translateY(2px);box-shadow:none}
.progress-personal .pd-levels button:focus-visible,.progress-personal .pd-resources button:focus-visible{outline:3px solid var(--button);outline-offset:4px}
@media(prefers-reduced-motion:reduce){.progress-personal .pd-levels button,.progress-personal .pd-resources button{transition:none;transform:none!important}}
/* Prominent navigation buttons on My Progress. */
.progress-personal .pd-navigation>a{cursor:pointer;border:2px solid var(--button);border-radius:12px;box-shadow:0 4px 0 var(--border);transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}
.progress-personal .pd-navigation>a:first-child{background:var(--button);color:var(--button-text)}
.progress-personal .pd-navigation>a:first-child h2,.progress-personal .pd-navigation>a:first-child p{color:var(--button-text)}
.progress-personal .pd-navigation>a:last-child{background:var(--soft);color:var(--text)}
@media(hover:hover){.progress-personal .pd-navigation>a:hover{transform:translateY(-4px);box-shadow:0 8px 20px var(--shadow);filter:brightness(1.06)}}
.progress-personal .pd-navigation>a:active{transform:translateY(2px);box-shadow:none}
.progress-personal .pd-navigation>a:focus-visible{outline:3px solid var(--button);outline-offset:4px}
@media(prefers-reduced-motion:reduce){.progress-personal .pd-navigation>a{transition:none;transform:none!important}}

.pd-companion .pd-mascot-store{margin-left:auto;flex-shrink:0;text-decoration:none}@media(max-width:600px){.pd-companion{flex-wrap:wrap}.pd-companion .pd-mascot-store{margin-left:0;width:100%;text-align:center}}
