.daily-goal{background:#fff;border:2px solid #e2e8f6;border-radius:26px;padding:25px 28px;margin:22px 0;box-shadow:0 5px 0 #e1e7f2}.daily-goal-heading{display:flex;gap:15px;align-items:center}.daily-goal-heading>span{font-size:38px;background:#edf0ff;border-radius:19px;width:65px;height:65px;display:grid;place-items:center;flex-shrink:0}.daily-goal-heading h2{font-size:20px;color:#345079;margin:7px 0;line-height:1.4}.daily-goal-heading>strong{margin-left:auto;font-size:25px;color:#8c78bd}.daily-metrics{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin:22px 0}.daily-metrics>div>span{display:flex;justify-content:space-between;gap:10px;font-size:14px;color:#7687a3}.daily-metrics b{color:#4a638a;white-space:nowrap}.goal-track,.quiz-progress{background:#edf0f7;border-radius:20px;height:11px;overflow:hidden;margin-top:12px}.goal-track i,.quiz-progress i{display:block;height:100%;border-radius:20px;background:linear-gradient(90deg,#b6a2ed,#8e9ff2);transition:width .6s ease}.goal-reward{display:flex;flex-wrap:wrap;gap:8px 15px;background:#fff7e4;border-radius:13px;padding:13px 16px;font-size:13px;color:#a18852}.goal-reward strong{color:#8d7034}.daily-goal>.small{color:#8e9bb0;margin:12px 0 0;font-size:12px}.goal-achieved{border-color:#a8dac2;background:#f5fff9}.goal-achieved .daily-goal-heading>span{background:#e0f4e9}.goal-achieved .goal-track i{background:linear-gradient(90deg,#8bd6ad,#54b995)}.goal-achieved .daily-goal-heading>strong{color:#46a07d}.learning-fields{border:0;padding:0;margin:0;display:flex;flex-direction:column;gap:14px;min-width:0}.learning-fields:disabled{opacity:.5}.learning-fields label{display:flex;flex-direction:column;gap:8px}.learning-fields input,.learning-fields select{max-width:100%;width:100%;box-sizing:border-box}.profile-form .small{font-size:12px;color:#6c7f98;line-height:1.7}.goal-mini{text-align:center;font-size:13px;color:#7185a5;background:#ffffffb8;border-radius:12px;padding:13px;margin:20px 0 0}.quiz-progress{height:8px;margin-top:18px;background:#fff}.quiz-progress i{background:#839de3}.feedback-icon{font-size:42px;line-height:1.4}.feedback-success>strong{color:#397a5d}.feedback-effort>strong{color:#597192}.feedback-enter{animation:feedback-rise .45s ease both}.feedback-success .feedback-icon{animation:star-bounce .7s ease both}.feedback-effort .feedback-icon{animation:gentle-wave .6s ease both}.question-enter{animation:question-arrive .3s ease both}.answer-correct .good{animation:correct-glow .65s ease both}.answer-try .bad{animation:gentle-wave .5s ease both}.result{position:relative;overflow:hidden}.result-enter{animation:result-arrive .5s ease both}.trophy-pop{animation:trophy-pop .8s cubic-bezier(.22,.61,.36,1) both}.score-pop{animation:score-rise .7s .15s ease both}.confetti{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}.confetti>span{position:absolute;top:-20px;left:var(--x);width:10px;height:18px;background:var(--paper);border-radius:3px;opacity:0;animation:confetti-fall 1.7s var(--delay) ease-out both}.result>*:not(.confetti){position:relative;z-index:1}.daily-unlocked{max-width:460px;margin:20px auto;padding:20px;background:#ffffffc9;border:2px solid #ead48c;border-radius:20px;animation:reward-reveal .65s ease both;color:#8c6d32}.daily-unlocked>span{display:block;font-size:40px}.daily-unlocked>strong{display:block;font-size:23px;margin:10px 0}.daily-unlocked>p{font-size:15px;line-height:1.5}.badge-card.earned{animation:badge-reveal .5s ease both}.badge-card.earned:nth-child(2n){animation-delay:.08s}
@keyframes feedback-rise{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes star-bounce{0%{transform:scale(.4) rotate(-15deg)}55%{transform:scale(1.25) rotate(8deg)}80%{transform:scale(.95)}100%{transform:scale(1) rotate(0)}}@keyframes gentle-wave{0%,100%{transform:translateX(0)}25%{transform:translateX(-3px)}60%{transform:translateX(3px)}}@keyframes question-arrive{from{opacity:.4;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes correct-glow{0%,100%{box-shadow:0 4px 0 #8dc7a3}50%{box-shadow:0 0 0 7px #91d7a944}}@keyframes result-arrive{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes trophy-pop{0%{transform:scale(.3);opacity:0}65%{transform:scale(1.12);opacity:1}100%{transform:scale(1);opacity:1}}@keyframes score-rise{from{transform:scale(.8);opacity:.4}to{transform:scale(1);opacity:1}}@keyframes confetti-fall{0%{transform:translateY(-20px) rotate(0);opacity:0}12%{opacity:.9}85%{opacity:.8}100%{transform:translateY(520px) rotate(var(--turn));opacity:0}}@keyframes reward-reveal{from{transform:scale(.92);opacity:0}to{transform:scale(1);opacity:1}}@keyframes badge-reveal{from{transform:translateY(8px);opacity:.4}to{transform:translateY(0);opacity:1}}
@media(max-width:700px){.daily-goal{padding:20px}.daily-goal-heading{gap:10px}.daily-goal-heading h2{font-size:17px}.daily-goal-heading>span{font-size:30px;width:50px;height:50px;border-radius:15px}.daily-goal-heading>strong{font-size:20px}.daily-metrics{grid-template-columns:1fr;gap:15px}.goal-reward{font-size:12px}.daily-goal-heading .eyebrow{font-size:10px;letter-spacing:1px}}
@media(prefers-reduced-motion:reduce){.feedback-enter,.feedback-icon,.question-enter,.answer-correct .good,.answer-try .bad,.result-enter,.trophy-pop,.score-pop,.confetti>span,.daily-unlocked,.badge-card.earned{animation:none!important}.confetti{display:none}.goal-track i,.quiz-progress i{transition:none!important}}
.daily-goal-heading h2{font-size:26px;font-weight:900;margin:0 0 6px}.daily-goal-heading p{color:#5d7191;margin:0;font-size:15px;line-height:1.5}.goal-link{margin-top:15px;border:1px solid #dbe3f4;color:#405b8c}.goals-heading h1{font-size:32px;color:#294a76;margin-bottom:10px}.goals-heading p{color:#617691;line-height:1.6}.badge-card progress{width:100%;height:12px;accent-color:#7c83dc}.badge-card .badge-count{font-weight:900;margin:8px 0 14px;color:#455f89}@media(max-width:700px){.daily-goal-heading h2{font-size:22px}.daily-goal-heading p{font-size:13px}.goals-heading h1{font-size:28px}}
.renewal-panel{margin-top:24px;padding:16px;border:1px solid #d5dff0;border-radius:16px;background:#f6f9ff;text-align:left}.renewal-panel h3{font-size:18px;color:#36537d}.renewal-panel p{font-size:14px;line-height:1.65}.renewal-panel button{width:100%;margin-top:10px;line-height:1.5}.renewal-panel summary{font-size:15px;line-height:1.5}.profile-form .billing-consent{display:flex;flex-direction:row;align-items:flex-start;gap:10px;font-size:13px;line-height:1.65}.billing-consent input{width:18px;min-width:18px;height:18px;margin-top:4px}.billing-record{padding:20px 0;border-bottom:1px solid #e1e7f1}.billing-record p{font-size:14px;line-height:1.6}.billing-record .row button{font-size:14px}
