/* Step 2 Mastery — final product polish / accessibility pass — 2026.09.17.14 */
:root{
  --fp-radius:14px;
  --fp-shadow:0 10px 30px rgba(18,38,66,.07);
  --fp-soft-shadow:0 5px 18px rgba(18,38,66,.045);
}
html{scroll-padding-top:84px}
body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
main{min-width:0}
p,li{overflow-wrap:break-word}
button,a{-webkit-tap-highlight-color:transparent}
button{touch-action:manipulation}

/* Primary site navigation */
.siteHeader .nav a[aria-current="page"]{color:var(--ink);font-weight:850;position:relative}
.siteHeader .nav a[aria-current="page"]:after{content:"";position:absolute;left:10px;right:10px;bottom:5px;height:2px;border-radius:99px;background:var(--blue)}
.mobileNavBtn{display:none;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid var(--line);border-radius:12px;background:var(--paper);color:var(--ink);font-weight:900;cursor:pointer}
.mobileNavBtn span{width:18px;height:2px;border-radius:4px;background:currentColor;position:relative;display:block}
.mobileNavBtn span:before,.mobileNavBtn span:after{content:"";position:absolute;left:0;width:18px;height:2px;border-radius:4px;background:currentColor;transition:transform .16s ease,top .16s ease}
.mobileNavBtn span:before{top:-6px}.mobileNavBtn span:after{top:6px}
body.mobileNavOpen .mobileNavBtn span{background:transparent}
body.mobileNavOpen .mobileNavBtn span:before{top:0;transform:rotate(45deg)}
body.mobileNavOpen .mobileNavBtn span:after{top:0;transform:rotate(-45deg)}
.mobileNavBackdrop{display:none}

/* Homepage: returning users get one unmistakable primary action */
.hero .actions .primary.resumePrimary{box-shadow:0 9px 24px rgba(45,108,223,.22)}
.firstMinute{margin-top:16px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;color:var(--muted);font-size:12px}
.firstMinute>strong{color:var(--ink);font-size:12px}
.firstMinuteStep{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.firstMinuteStep i{font-style:normal;display:grid;place-items:center;width:21px;height:21px;border-radius:7px;background:var(--soft);color:var(--blue);font-size:10px;font-weight:900}
.firstMinuteArrow{opacity:.5}

/* General visual rhythm */
.pageHero .card{max-width:1040px;margin-left:auto;margin-right:auto}
.card>p:last-child,.module>p:last-child,.feature>p:last-child{margin-bottom:0}
.card h2,.dashPanel h2{letter-spacing:-.25px}
.sectionLead,.lede,.dashLead{line-height:1.6}
.btn,.tinyBtn,.tool,.sessionCard,.choice{transition:border-color .14s ease,background-color .14s ease,box-shadow .14s ease,transform .14s ease}
.btn:active,.tinyBtn:active,.tool:active{transform:translateY(1px)}

/* Dashboard answers only: what next, what is weak, what did I do */
body.calmDashboard .dashGrid{align-items:stretch}
body.calmDashboard .smartAction{display:flex;flex-direction:column;justify-content:center;min-height:100%}
body.calmDashboard .smartAction .btn{align-self:flex-start}
body.calmDashboard .dashTwo{grid-template-columns:repeat(2,minmax(0,1fr))}
body.calmDashboard .dashPanel[data-dashboard-rank="primary"]{border-color:color-mix(in srgb,var(--blue) 18%,var(--line))}
body.calmDashboard .dashPanel[data-dashboard-rank="secondary"]{box-shadow:none}

/* Study pages: readable measure and consistent section rhythm */
body.calmStudy .section{scroll-margin-top:92px}
body.calmStudy .studyDetails>p,body.calmStudy .studyDetails>ul,body.calmStudy .studyDetails>ol{max-width:78ch}
body.calmStudy .takeaways,body.calmStudy .deepReasoning{max-width:84ch}
body.calmStudy .chapterIntro>p{max-width:76ch}
body.calmStudy .detailToggle,body.calmStudy .testConceptBtn,body.calmStudy .done,body.calmStudy .nextSectionBtn{min-height:44px}
body.calmStudy .topActions{align-items:center}
body.calmStudy .focusLayout[aria-pressed="true"]{background:var(--soft);border-color:color-mix(in srgb,var(--blue) 35%,var(--line));color:var(--blue)}

/* Question accessibility and calmer interaction states */
#choices[role="group"]{outline:none}
.choice[aria-pressed="true"]{border-color:var(--blue)}
.choice:focus-visible{outline:3px solid color-mix(in srgb,var(--blue) 38%,transparent)!important;outline-offset:2px}
.qstem{max-width:72ch}
#why>p,.selectedWhy,.trapBox,.pearl,.choiceReviewItem{max-width:72ch}
.answerbox.show{scroll-margin-top:18px}

/* Utility page empty states */
.emptyState,.emptyReview{background:color-mix(in srgb,var(--paper) 94%,var(--soft));border-style:dashed}

/* Footer spacing consistency */
.footerGrid,.siteFooter .footerGrid{align-items:start}
.footerLinks{display:flex;gap:4px 14px;flex-wrap:wrap;justify-content:flex-end}

@media(max-width:900px){
  .headInner{position:relative}
  .mobileNavBtn{display:inline-flex;flex:0 0 auto}
  .siteHeader .nav{display:none!important;position:absolute;left:20px;right:20px;top:calc(100% + 8px);z-index:110;flex-direction:column;align-items:stretch;gap:3px;padding:9px;border:1px solid var(--line);border-radius:16px;background:var(--paper);box-shadow:0 20px 55px rgba(15,34,58,.18)}
  body.mobileNavOpen .siteHeader .nav{display:flex!important}
  .siteHeader .nav a,.siteHeader .nav a:not(.cta){display:flex!important;min-height:44px;padding:9px 11px;border-radius:10px;color:var(--ink)}
  .siteHeader .nav a:hover,.siteHeader .nav a:focus-visible{background:var(--soft)}
  .siteHeader .nav .cta{justify-content:center;margin-top:4px}
  .siteHeader .nav a[aria-current="page"]:after{display:none}
  .mobileNavBackdrop{position:fixed;inset:0;z-index:19;background:rgba(7,18,33,.18);backdrop-filter:blur(1px)}
  body.mobileNavOpen .mobileNavBackdrop{display:block}
  body.mobileNavOpen{overflow:hidden}
  body.calmDashboard .dashTwo{grid-template-columns:1fr}
  .footerLinks{justify-content:flex-start}
}

@media(max-width:620px){
  .hero .actions{display:grid;grid-template-columns:1fr}.hero .actions .btn{width:100%}
  .firstMinute{display:grid;grid-template-columns:auto 1fr;gap:5px 8px;padding:10px 11px;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--paper) 95%,var(--soft))}
  .firstMinute>strong{grid-column:1/-1}.firstMinuteArrow{display:none}.firstMinuteStep{white-space:normal}
  body.calmDashboard .overviewStats{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.calmStudy .studyDetails>p,body.calmStudy .studyDetails>ul,body.calmStudy .studyDetails>ol{max-width:none}
}

@media(prefers-contrast:more){
  .module,.feature,.card,.dashPanel,.section,.choice,.btn{border-width:2px!important}
  .muted,.sectionLead,.lede,.dashLead{color:var(--ink)!important}
}

@media(prefers-reduced-motion:reduce){
  .mobileNavBtn span:before,.mobileNavBtn span:after{transition:none}
}
/* Review-sheet filters are touch targets, not tiny chips. */
.reviewFilters button{min-height:44px;padding:9px 12px!important}
.reviewCardActions a,.reviewCardActions button{min-height:40px;display:inline-flex;align-items:center}
