/* Bounded Learning roadmap presentation.
   Loading, search, retry, curriculum data and guest storage remain owned by app.js. */
@media screen{
  html.pm-shell.pm-learning-page body{background:var(--qp-bg);color:var(--qp-text)}
  html.pm-shell.pm-learning-page #projma-auth>main.pm-learning-main{
    width:min(1040px,calc(100% - 40px));max-width:none;padding-block:36px 64px
  }
  .pm-learning-hero{
    display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:24px;
    align-items:stretch;padding-bottom:28px;border-bottom:1px solid var(--qp-border)
  }
  .pm-learning-hero-copy{align-self:center;min-width:0}
  .pm-learning-kicker{
    margin:0 0 8px;color:var(--qp-accent-ink);font-size:11px;font-weight:900;
    letter-spacing:.09em;text-transform:uppercase
  }
  .pm-learning-hero h1{
    margin:0;color:var(--qp-text);font-size:clamp(34px,5vw,56px);line-height:1.06;
    letter-spacing:-.035em;text-wrap:balance
  }
  .pm-learning-lead{max-width:720px;margin:16px 0 0;color:var(--qp-secondary);font-size:16px;line-height:1.7}
  .pm-learning-boundary{
    display:flex;flex-direction:column;justify-content:center;min-width:0;padding:20px;
    border:1px solid var(--qp-border);border-radius:var(--qp-radius-lg);background:var(--qp-surface)
  }
  .pm-learning-badge{
    align-self:flex-start;margin-bottom:12px;padding:5px 9px;border-radius:999px;
    background:var(--qp-accent-soft);color:var(--qp-accent-ink);font-size:11px;font-weight:850
  }
  .pm-learning-boundary strong{color:var(--qp-text);font-size:18px;line-height:1.35}
  .pm-learning-boundary p{margin:10px 0 0;color:var(--qp-secondary);font-size:13px;line-height:1.6}

  .pm-learning-finder{
    display:grid;grid-template-columns:minmax(0,.85fr) minmax(260px,1.15fr);gap:20px;
    margin-top:24px;padding:20px;border:1px solid var(--qp-border);
    border-radius:var(--qp-radius-lg);background:var(--qp-surface)
  }
  .pm-learning-finder-head h2,.pm-learning-results-head h2{margin:0;color:var(--qp-text);font-size:20px}
  .pm-learning-finder-head p,.pm-learning-results-head p{margin:6px 0 0;color:var(--qp-secondary);font-size:13px;line-height:1.6}
  .pm-learning-field{display:grid;gap:7px;align-content:start}
  .pm-learning-field label{color:var(--qp-text);font-size:13px;font-weight:800}
  .pm-learning-search{
    width:100%;min-height:48px;padding:10px 13px;border:1px solid var(--qp-control-border);
    border-radius:var(--qp-radius-md);background:var(--qp-surface);color:var(--qp-text)
  }
  .pm-learning-search::placeholder{color:var(--qp-muted)}
  .pm-learning-search:focus-visible,.pm-learning-retry:focus-visible,.pm-learning-links a:focus-visible,
  .pm-learning-discipline>summary:focus-visible{outline:3px solid var(--qp-focus);outline-offset:3px}
  .pm-learning-discipline>summary:focus-visible{outline-offset:-3px}
  .pm-learning-feedback{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}
  .pm-learning-status{margin:0;color:var(--qp-secondary);font-size:13px;font-weight:700;line-height:1.5}
  .pm-learning-retry{
    flex:none;min-height:44px;padding:9px 14px;border:1px solid var(--qp-accent);
    border-radius:var(--qp-radius-md);background:var(--qp-accent);color:var(--qp-accent-contrast);font-weight:800
  }
  .pm-learning-retry:hover{border-color:var(--qp-accent-hover);background:var(--qp-accent-hover)}
  .pm-learning-retry:active{border-color:var(--qp-accent-active);background:var(--qp-accent-active)}

  .pm-learning-results-head{display:flex;align-items:end;justify-content:space-between;gap:18px;margin:32px 0 14px}
  .pm-learning-results-head p{max-width:520px;text-align:end}
  .pm-learning-results-head[data-state="error"] h2{color:var(--qp-danger)}
  .pm-learning-roadmap{
    display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start;min-height:80px
  }
  .pm-learning-discipline{
    min-width:0;margin:0;border:1px solid var(--qp-border);border-radius:var(--qp-radius-md);
    background:var(--qp-surface);overflow:hidden
  }
  .pm-learning-discipline[open]{border-color:var(--qp-control-border)}
  .pm-learning-discipline>summary{
    position:relative;display:flex;align-items:center;min-height:52px;padding:12px 48px 12px 15px;
    color:var(--qp-text);font-weight:800;line-height:1.4;list-style:none;overflow-wrap:anywhere
  }
  html[dir="rtl"] .pm-learning-discipline>summary{padding:12px 15px 12px 48px}
  .pm-learning-discipline>summary::-webkit-details-marker{display:none}
  .pm-learning-discipline>summary::after{
    content:"+";position:absolute;inset-inline-end:14px;display:grid;place-items:center;width:26px;height:26px;
    border-radius:999px;background:var(--qp-muted-surface);color:var(--qp-accent-ink);font-size:18px;font-weight:700
  }
  .pm-learning-discipline[open]>summary::after{content:"−"}
  .pm-learning-discipline>summary:hover{background:var(--qp-muted-surface)}
  .pm-learning-discipline>p{
    margin:0;padding:10px 15px;border-top:1px solid var(--qp-border);
    color:var(--qp-secondary);font-size:13px;line-height:1.55;overflow-wrap:anywhere
  }
  .pm-learning-roadmap[data-state="empty"],.pm-learning-roadmap[data-state="error"]{
    display:block;min-height:28px;border:1px dashed var(--qp-control-border);
    border-radius:var(--qp-radius-md);background:var(--qp-muted-surface)
  }
  .pm-learning-roadmap[data-state="error"]{border-color:var(--qp-danger)}
  .pm-learning-roadmap[data-state="loading"]{display:block;min-height:80px}

  .pm-learning-links{
    display:flex;flex-wrap:wrap;gap:10px;max-width:none;margin:24px 0 0;padding:18px 0 0;
    border-top:1px solid var(--qp-border)
  }
  .pm-learning-links a{
    min-height:44px;padding:9px 13px;border:1px solid var(--qp-control-border);
    border-radius:var(--qp-radius-md);background:var(--qp-surface);color:var(--qp-accent-ink);
    font-weight:800;text-decoration:none
  }
  .pm-learning-links a:hover{background:var(--qp-accent-soft)}
  html[dir="rtl"] .pm-learning-kicker{letter-spacing:normal}
}
@media screen and (max-width:760px){
  html.pm-shell.pm-learning-page #projma-auth>main.pm-learning-main{width:min(100% - 24px,1040px);padding-block:24px 48px}
  .pm-learning-hero,.pm-learning-finder{grid-template-columns:1fr}
  .pm-learning-roadmap{grid-template-columns:1fr}
  .pm-learning-results-head{align-items:start;flex-direction:column;gap:4px}
  .pm-learning-results-head p{text-align:start}
}
@media screen and (max-width:420px){
  .pm-learning-hero h1{font-size:32px}
  .pm-learning-boundary,.pm-learning-finder{padding:16px}
  .pm-learning-feedback{align-items:stretch;flex-direction:column}
  .pm-learning-retry{width:100%}
  .pm-learning-links{flex-direction:column}
  .pm-learning-links a{justify-content:center;text-align:center;white-space:normal}
}
