
:root{
  --dp-pm-forest:#173f38;
  --dp-pm-deep:#0b302b;
  --dp-pm-coral:#f07a62;
  --dp-pm-cream:#f7f1e7;
  --dp-pm-paper:#fffdf8;
  --dp-pm-text:#173f38;
  --dp-pm-muted:#62736f;
  --dp-pm-gold:#b99a5e;
  --dp-pm-line:#ded6ca;
  --dp-pm-shadow:0 16px 42px rgba(20,55,49,.08);
  --dp-pm-serif:"Playfair Display",Georgia,serif;
  --dp-pm-sans:"DM Sans",Arial,sans-serif;
  --dp-pm-shell:1160px;
}

/* Shared Pimp Me scale: visually aligned with Learn Derm */
body{background:var(--dp-pm-paper);color:var(--dp-pm-text)}
.pm-shell,.qp-shell{width:min(var(--dp-pm-shell),calc(100% - 40px));margin-inline:auto}
.pm-breadcrumb,.qp-breadcrumb{padding-top:28px}
.qp-main{min-height:auto;background:radial-gradient(circle at 88% 5%,rgba(185,154,94,.08),transparent 22rem),var(--dp-pm-paper)}
.pm-hero{grid-template-columns:minmax(0,1.05fr) minmax(320px,.75fr);gap:50px;padding:42px 0 52px}
.pm-hero h1{font-size:clamp(3.7rem,6vw,5.8rem);line-height:.94;letter-spacing:-.05em;margin:12px 0 16px}
.pm-lead{font-size:1.04rem;line-height:1.65;max-width:640px}
.pm-actions{margin-top:22px}
.pm-button,.qp-primary,.qp-secondary{min-height:44px;padding:.68rem 1.18rem}

/* Dermatology-specific attending challenge */
.pm-hero-panel{min-height:270px;padding:28px;border-radius:22px;background:linear-gradient(145deg,#173f38,#0b302b);box-shadow:var(--dp-pm-shadow)}
.pm-hero-panel:after{content:"";position:absolute;right:-22px;bottom:-22px;width:210px;height:142px;border:0;border-radius:0;background:
 radial-gradient(ellipse at 38% 58%,transparent 0 27%,rgba(247,241,231,.10) 28% 29%,transparent 30%),
 radial-gradient(ellipse at 66% 42%,transparent 0 20%,rgba(240,122,98,.13) 21% 22%,transparent 23%),
 linear-gradient(120deg,transparent 35%,rgba(185,154,94,.12) 36% 37%,transparent 38% 54%,rgba(247,241,231,.08) 55% 56%,transparent 57%);
 opacity:.9;transform:rotate(-8deg)}
.pm-panel-label{color:#ff9c89;margin:0}
.pm-challenge-question{position:relative;z-index:1;margin:24px 0 4px;color:var(--dp-pm-cream);font:600 clamp(1.85rem,3.2vw,2.75rem)/1.03 var(--dp-pm-serif)}
.pm-challenge-sub{position:relative;z-index:1;margin:0;color:#d8e3df;font:500 1.02rem/1.4 var(--dp-pm-sans)}
.pm-reasoning-path{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:7px;align-items:center;margin:22px 0 18px;color:#f7f1e7;font-size:.72rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase}
.pm-reasoning-path i{color:var(--dp-pm-coral);font-style:normal}
.pm-reply{padding-top:16px;color:#eef4f1;border-top-color:rgba(255,255,255,.18)}
.pm-reply span{flex:0 0 auto;width:auto;height:auto;border-radius:7px;background:transparent;border:1px solid var(--dp-pm-coral);color:#ff9c89;padding:4px 7px;font-size:.7rem;letter-spacing:.08em}

/* Intent launcher */
.pm-intent{padding:28px 0 34px;border-top:1px solid var(--dp-pm-line)}
.pm-intent-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:15px}
.pm-intent-head h2{font:600 clamp(1.85rem,3vw,2.6rem)/1.05 var(--dp-pm-serif);margin:6px 0 0}
.pm-intent-head p{max-width:420px;margin:0;color:var(--dp-pm-muted);font-size:.9rem}
.pm-intent-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.pm-intent-link{display:flex;flex-direction:column;gap:4px;min-height:86px;padding:14px 15px;border:1px solid var(--dp-pm-line);border-radius:14px;background:#fff;text-decoration:none;transition:.16s ease}
.pm-intent-link:hover,.pm-intent-link:focus-visible{transform:translateY(-2px);border-color:#baa99e;box-shadow:0 10px 24px rgba(20,55,49,.07)}
.pm-intent-link strong{font-size:.88rem}.pm-intent-link span{color:var(--dp-pm-muted);font-size:.76rem;line-height:1.35}

/* Home bands + cards */
.pm-band{padding:58px 0}.pm-section-head{margin-bottom:20px}.pm-section-head h2{font-size:clamp(2.15rem,3.7vw,3.35rem);max-width:730px}.pm-section-head>p{font-size:.9rem}
.pm-grid{gap:14px}.pm-card{min-height:218px;padding:22px;border-radius:16px;box-shadow:none}.pm-grid.challenge .pm-card{min-height:205px}
.pm-card h3{font-size:1.48rem;margin:17px 0 6px}.pm-card p{font-size:.86rem;line-height:1.5}.pm-card-action{padding-top:18px;font-size:.86rem}.pm-card-action:after{content:" →"}
.pm-card-top{align-items:center}.pm-status{padding:5px 8px;font-size:.6rem}.pm-icon{width:38px;height:38px;border-radius:11px;font-size:1rem}
.pm-meta-chip{display:inline-flex;align-items:center;min-height:30px;padding:5px 10px;border:1px solid rgba(240,122,98,.65);border-radius:999px;color:#f07a62;font-size:.64rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.recommended .pm-meta-chip{border-color:#ff9b87;color:#ffd4ca;background:rgba(240,122,98,.08)}
.pm-skill{display:inline-flex;margin-bottom:4px;color:#a55242;font-size:.62rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.recommended .pm-skill{color:#ff9b87}
.pm-card .pm-status.live{display:none}
.pm-browse-card,.pm-learn-link{padding:30px;border-radius:18px}.pm-browse-card h2{font-size:clamp(2rem,3vw,2.85rem)}
.pm-trust{padding:24px 0}.pm-footer{padding:40px 0 22px}

/* Today's focus */
.pm-focus{padding:44px 0;background:#fff}.pm-focus-row{display:flex;flex-wrap:wrap;gap:9px;margin-top:14px}.pm-focus-row a{padding:9px 13px;border:1px solid var(--dp-pm-line);border-radius:999px;background:var(--dp-pm-cream);font-size:.8rem;font-weight:800;text-decoration:none}.pm-focus-row a:hover{border-color:var(--dp-pm-coral);background:#fff4f0}

/* Shared mode page layout */
.qp-entry,.cw-entry,.rm-entry,.rf-entry,.vd-entry,.db-entry,.am-entry{grid-template-columns:minmax(0,1.05fr) minmax(300px,.72fr)!important;gap:clamp(30px,5vw,60px)!important;align-items:start!important;padding:38px 0 54px!important}
.qp-intro h1,.cw-intro h1,.rm-intro h1,.rf-intro h1,.vd-intro h1,.db-intro h1,.am-intro h1{font-size:clamp(3rem,5vw,4.85rem)!important;line-height:.96!important;letter-spacing:-.045em!important;margin:10px 0 18px!important}
.qp-lead,.cw-intro .qp-lead,.rm-intro .qp-lead,.rf-intro .qp-lead,.vd-intro .qp-lead,.db-intro .qp-lead,.am-intro .qp-lead{font-size:1rem;line-height:1.65}
.qp-facts{gap:.55rem;margin-top:1.45rem}.qp-facts li{min-width:96px;padding:.75rem .75rem .55rem}.qp-facts strong{font-size:1.2rem}
.qp-setup,.cw-setup,.rm-setup,.rf-setup,.vd-setup,.db-setup,.am-setup{align-self:start!important;height:auto!important;min-height:0!important;padding:1.55rem!important;border-radius:18px!important;box-shadow:var(--dp-pm-shadow)!important}
.qp-setup h2,.cw-setup h2,.rm-setup h2,.rf-setup h2,.vd-setup h2,.db-setup h2,.am-setup h2{font-size:1.7rem!important;margin:.45rem 0 1.1rem!important}
.qp-setup select,.cw-setup select,.rm-setup select,.rf-setup select,.vd-setup select,.db-setup select,.am-setup select{min-height:44px!important;padding:.58rem .72rem!important}
.qp-setup label,.cw-setup label,.rm-setup label,.rf-setup label,.vd-setup label,.db-setup label,.am-setup label{margin:.6rem 0 .22rem!important}
.qp-selection-note,.cw-release-note,.rm-release-note,.rf-release-note,.vd-release-note,.db-release-note,.am-release-note{font-size:.72rem!important;line-height:1.45!important;color:var(--dp-pm-muted)!important}
.qp-footer{margin-top:36px!important}.qp-footer .qp-shell{padding-block:28px!important}

/* Make working practice appear sooner */
.qp-session,.rm-session,.rf-session{margin-top:16px!important;margin-bottom:54px!important}.qp-card,.rf-card{min-height:0!important;padding:clamp(24px,4vw,40px)!important;border-radius:18px!important}.qp-question h2,.rf-card h2{font-size:clamp(1.85rem,3vw,2.7rem)!important;margin:24px 0!important}

/* Process strips */
.rf-loop,.pm-process-strip{border-radius:14px!important;padding:14px 16px!important;margin:24px 0 14px!important;font-size:.67rem!important;letter-spacing:.07em!important}.rf-loop i{color:var(--dp-pm-coral)!important}

/* Gateway pages: useful learner-facing orientation */
.pm-mode-preview{margin-top:24px;padding:18px;border:1px solid var(--dp-pm-line);border-radius:16px;background:#fff}
.pm-mode-preview h2{font:600 1.25rem/1.15 var(--dp-pm-serif);margin:0 0 12px}.pm-mode-preview ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.pm-mode-preview li{padding:11px;border-radius:11px;background:var(--dp-pm-cream);font-size:.78rem;font-weight:800}.pm-mode-preview b{display:block;color:var(--dp-pm-coral);font-size:.64rem;letter-spacing:.08em;margin-bottom:4px}
.pm-description-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}.pm-description-grid li{min-height:64px}
.pm-attending-flow{display:grid!important;grid-template-columns:1fr!important}.pm-attending-flow li{display:flex;gap:10px;align-items:center}.pm-attending-flow b{margin:0;min-width:24px}

/* Categories */
.cat-hero{padding-top:28px!important;padding-bottom:28px!important}.cat-hero h1{font-size:clamp(3rem,5vw,4.75rem)!important}.cat-layout{gap:22px!important}.cat-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}.cat-card{padding:18px!important;border-radius:15px!important}.cat-band{padding:42px 0!important}

/* Honest bookmarks page */
.pm-bookmark-notice{max-width:760px;margin:48px auto;padding:28px;border:1px solid var(--dp-pm-line);border-radius:18px;background:#fff}.pm-bookmark-notice h1{font:600 clamp(2.4rem,4vw,3.6rem)/1 var(--dp-pm-serif);margin:8px 0 16px}.pm-bookmark-notice p{color:var(--dp-pm-muted)}

/* Public copy / report link placement */
.dp-report-link{font-size:.72rem!important;opacity:.72}.dp-report-link:hover{opacity:1}

@media(max-width:920px){
  .pm-intent-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .qp-entry,.cw-entry,.rm-entry,.rf-entry,.vd-entry,.db-entry,.am-entry{grid-template-columns:1fr!important;padding-top:28px!important}
  .rm-intro{position:static!important}
  .cat-grid{grid-template-columns:1fr!important}
}
@media(max-width:640px){
  .pm-shell,.qp-shell{width:min(100% - 30px,var(--dp-pm-shell))}
  .pm-hero{padding:32px 0 40px}.pm-hero h1{font-size:clamp(3.1rem,16vw,4.5rem)}.pm-hero-panel{min-height:240px;padding:22px}
  .pm-intent-head{align-items:flex-start;flex-direction:column}.pm-intent-grid{grid-template-columns:1fr}.pm-band{padding:44px 0}.pm-card{min-height:190px;padding:19px}.pm-grid.challenge .pm-card{min-height:190px}
  .qp-intro h1,.cw-intro h1,.rm-intro h1,.rf-intro h1,.vd-intro h1,.db-intro h1,.am-intro h1{font-size:clamp(2.75rem,14vw,4rem)!important}
  .pm-mode-preview ol,.pm-description-grid{grid-template-columns:1fr!important}
  .qp-entry,.cw-entry,.rm-entry,.rf-entry,.vd-entry,.db-entry,.am-entry{padding:24px 0 40px!important}
}
