/* One motion language: short, gentle movement with an accessible opt-out. */
.reveal-ready{opacity:0;transform:translateY(16px);transition:opacity .6s ease,transform .6s cubic-bezier(.2,.65,.2,1),border-color .25s,box-shadow .25s;transition-delay:var(--reveal-delay,0ms)}.reveal-ready.is-visible{opacity:1;transform:translateY(0)}.hero .preview{animation:preview-float 8s ease-in-out infinite}.feature-table tbody tr{transition:background .2s}.feature-table tbody tr:not(.feature-group):hover{background:#8589ff0a}nav a:after{content:"";height:2px;position:absolute;bottom:2px;left:10px;right:10px;background:var(--blue);border-radius:2px;transform:scaleX(0);transform-origin:left;transition:transform .25s ease}nav a:hover:after,nav a.active:after{transform:scaleX(1)}dialog[open]{animation:dialog-arrive .25s ease-out}.button:focus-visible,.reviews-pause:focus-visible{outline:3px solid var(--blue);outline-offset:4px}.hero .paper{transition:box-shadow .35s}.hero .preview:hover .paper{box-shadow:0 10px 30px #0002}
@keyframes preview-float{0%,100%{transform:translateY(0) rotate(2deg)}50%{transform:translateY(-7px) rotate(1deg)}}@keyframes dialog-arrive{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}


@media(prefers-reduced-motion:reduce){.reveal-ready{opacity:1;transform:none}.hero .preview{animation:none}}
html,body,body *{cursor:url("cursor.svg") 24 24,auto}a,button,summary,label.choice,input[type=checkbox],input[type=radio],select{cursor:url("cursor-hover.svg") 24 24,pointer}button:disabled{cursor:not-allowed}input[type=text],input[type=date],textarea{cursor:text}
:root{--ease:cubic-bezier(.22,.68,0,1.08);--shadow:0 14px 36px #17203b0c}
html{scroll-behavior:smooth}main{animation:page-arrive .35s ease-out}header{position:relative;z-index:2}nav a{position:relative;transition:background .2s,color .2s}nav a:hover{background:#f0f2ff;color:var(--blue)}.button{transition:transform .2s var(--ease),box-shadow .2s,background .2s}.button:hover{transform:translateY(-2px);box-shadow:0 7px 16px #3438c925}.button:active{transform:translateY(0) scale(.98)}.text-btn{transition:color .2s}.text-btn:hover{color:var(--blue)}.card{box-shadow:0 2px 8px #17203b03;transition:border-color .25s,box-shadow .25s}.progress div,.bar span{transition:width .6s var(--ease)}.feedback,.adapt-note,.answer-feedback{animation:feedback-arrive .3s ease-out}input,select,textarea{transition:border-color .2s,box-shadow .2s}input:focus,select:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px #3438c90d}.choice{transition:background .2s,border-color .2s}.choice:hover{border-color:#9c9fde}.planner-setup{margin-bottom:30px;border:1px solid var(--line);border-radius:var(--radius);background:white;padding:20px}.planner-setup>summary{cursor:pointer;font-weight:750;color:var(--blue);padding:4px}.planner-setup[open]>summary{margin-bottom:24px}.planner-setup .study-grid>.card{border:0;background:var(--bg);box-shadow:none}.roadmap{margin-top:30px}.goal-strip{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 25px;background:#eef0ff;border-radius:18px;margin-bottom:20px}.goal-strip p{font-size:.87rem;margin:5px 0 0}.goal-strip .tag{background:white;white-space:nowrap}.adapt-note{border:1px solid #bedba8;background:#f1f9ea;border-radius:16px;padding:22px;margin:20px 0}.adapt-note p{margin:8px 0 0}.adapt-note .button,.adapt-note .actions{margin-top:18px}.lesson-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:28px 0}.lesson-tile{display:flex;flex-direction:column;min-width:0;position:relative;overflow:hidden}.lesson-tile:not(.locked):hover{border-color:#b0b4f1;box-shadow:var(--shadow);transform:translateY(-3px)}.lesson-tile{transition:transform .25s var(--ease),border-color .25s,box-shadow .25s}.lesson-tile.complete{border-top:4px solid #85b947}.lesson-tile.locked{background:#f9fafc}.tile-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:18px}.tile-top .eyebrow{margin:0;font-size:.7rem}.tile-number{background:#eef0ff;color:var(--blue);border-radius:12px;display:grid;place-items:center;width:34px;height:34px;font-weight:800;flex-shrink:0}.complete .tile-number{background:var(--lime);color:var(--ink)}.tile-meta{display:flex;gap:12px;color:var(--muted);font-size:.78rem;margin:12px 0 20px}.lesson-tile>.button{margin-top:auto}.checkpoint{padding:17px 0 0;border-top:1px solid var(--line);margin-top:20px;font-size:.87rem}.checkpoint strong{color:var(--blue)}.checkpoint p{margin:6px 0 0;font-size:.81rem}.lock-note{font-size:.87rem;margin-top:auto;padding-top:16px}.lesson-page{max-width:1100px;margin:auto}.lesson-hero{padding:35px;border-radius:26px;background:linear-gradient(125deg,#222795,#494de0);color:white;margin:15px 0 30px;position:relative;overflow:hidden}.lesson-hero .eyebrow{color:var(--lime)}.lesson-hero h1{font-size:2.7rem;letter-spacing:-.04em;margin-bottom:18px}.lesson-hero p{color:#e6e8ff;max-width:760px}.lesson-hero .tag{background:#ffffff20;color:white}.lesson-columns{display:grid;grid-template-columns:minmax(230px,.7fr) minmax(0,1.7fr);gap:25px;align-items:start}.lesson-agenda h2{font-size:1.3rem}.lesson-agenda ol{padding-left:22px}.lesson-agenda li{padding:8px 0}.lesson-agenda li p{font-size:.87rem;margin:7px 0}.worked-example{padding:22px 0;border-top:1px solid var(--line)}.worked-example details{background:#f4f5ff;border-radius:12px;padding:17px;font-size:.94rem}.worked-example summary{cursor:pointer;font-weight:700;color:var(--blue)}.worked-example details p{margin-top:14px}.video-resource{padding-top:25px;border-top:1px solid var(--line)}.video-resource p{font-size:.87rem}.daily-practice{margin-top:24px}.practice-question{padding:25px 0;border-top:1px solid var(--line)}.practice-question h3{font-size:1.1rem;line-height:1.6}.practice-question .eyebrow{font-size:.7rem}.answer-feedback{border-radius:12px;padding:18px;background:#f4f5ff}.answer-feedback.good{background:#f1f9ea}.answer-feedback.needs-work{background:#fff4ef}.answer-feedback p{margin:9px 0 0;white-space:pre-line;font-size:.9rem}
@keyframes page-arrive{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@keyframes feedback-arrive{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:900px){.lesson-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lesson-columns{grid-template-columns:1fr}.lesson-agenda ol{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.lesson-hero h1{font-size:2.2rem}}
@media(max-width:620px){.lesson-grid{grid-template-columns:1fr}.goal-strip{align-items:start;flex-direction:column;gap:12px;padding:20px}.lesson-hero{padding:25px}.lesson-hero h1{font-size:1.9rem;overflow-wrap:anywhere}.lesson-agenda ol{display:block}.planner-setup{padding:16px}.planner-setup .study-grid>.card{padding:18px}.lesson-columns>*{min-width:0}.lesson-tile{padding:24px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.button:hover,.button:active,.lesson-tile:hover{transform:none}}
#main>.page-title,#main>.quiz-wrap,#main>.lesson-page,#main>.hero{animation:page-arrive .3s ease-out}.lesson-grid .lesson-tile{animation:feedback-arrive .3s ease-out}.lesson-tile:nth-child(3n+2){animation-delay:.04s}.lesson-tile:nth-child(3n+3){animation-delay:.08s}@media(prefers-reduced-motion:reduce){#main>*,.lesson-grid .lesson-tile{animation:none!important}}

