@keyframes reveal-pop{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}@keyframes reveal-rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes verdict-symbol-draw{0%{clip-path:inset(0 100% 0 0);transform:scale(.85)}70%{clip-path:inset(0);transform:scale(1.08)}to{clip-path:inset(0);transform:scale(1)}}@keyframes option-letter-correct-pulse{0%{transform:scale(1)}50%{box-shadow:0 0 0 4px var(--correct-dim);transform:scale(1.22)}to{transform:scale(1)}}@keyframes option-incorrect-shake{0%,to{transform:translate(0)}20%{transform:translate(-5px)}40%{transform:translate(4px)}60%{transform:translate(-3px)}80%{transform:translate(2px)}}@keyframes tab-pill-pop{0%{transform:scale(.86)}55%{transform:scale(1.08)}to{transform:scale(1)}}@keyframes blink{50%{opacity:0}}@keyframes session-reward-calculating-pulse{0%,to{opacity:.55}50%{opacity:1}}@keyframes session-reward-rise{0%{opacity:0;transform:translateY(12px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes session-reward-pulse{0%,to{transform:scale(1)}40%{transform:scale(1.06)}}@keyframes mastery-tier-up{0%{filter:brightness()}50%{filter:brightness(1.25)}to{filter:brightness()}}@keyframes card-collapsible-reveal{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}@keyframes progress-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes reward-in{0%{opacity:0;transform:translate(-50%)translateY(16px)scale(.88)}to{opacity:1;transform:translate(-50%)translateY(0)scale(1)}}@keyframes reward-out{0%{opacity:1;transform:translate(-50%)scale(1)}to{opacity:0;transform:translate(-50%)scale(.93)}}@keyframes confetti-pop{0%{opacity:1;transform:translateX(var(--dot-x,0)) translateY(0) scale(1)}to{opacity:0;transform:translateX(var(--dot-x,0)) translateY(-48px) scale(.4)}}@keyframes reward-chest-shake{0%,to{transform:rotate(0)}25%{transform:rotate(-8deg)}75%{transform:rotate(8deg)}}@keyframes combo-burst-pop{0%{opacity:0;transform:translateY(-6px)scale(.85)}20%{opacity:1;transform:translateY(0)scale(1.05)}35%{transform:scale(1)}75%{opacity:1}to{opacity:0;transform:translateY(-4px)scale(.96)}}@keyframes streak-chip-pulse{0%{transform:scale(1)}35%{transform:scale(1.18)}to{transform:scale(1)}}@keyframes fade-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes option-select-pulse{0%{transform:scale(1)}40%{transform:scale(.97)}to{transform:scale(1)}}@keyframes option-slide-in{0%{opacity:0;transform:translate(-14px)}to{opacity:1;transform:none}}@keyframes bar-grow{0%{width:0}}@keyframes mini-bar-grow{0%{width:0}}@keyframes gauge-draw{0%{stroke-dasharray:0 276.5}}@keyframes dot-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.3;transform:scale(.55)}}@keyframes sk-shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}@keyframes card-fade-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes lp-float{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}@keyframes hl-sweep{0%{background-size:0% 100%}to{background-size:100% 100%}}@keyframes hl-pop{0%{opacity:0;transform:translate(-50%,-100%)translateY(6px)scale(.88)}to{opacity:1;transform:translate(-50%,-100%)translateY(0)scale(1)}}@keyframes journey-fill{0%{height:0%}to{height:var(--journey-fill,0%)}}@keyframes pledge-seal-stamp{0%{opacity:0;transform:scale(.35)rotate(-10deg)}60%{opacity:1;transform:scale(1.12)rotate(4deg)}to{opacity:1;transform:scale(1)rotate(0)}}@keyframes spine-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.rcp-chip{font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);border:1px solid var(--border);border-radius:999px;padding:5px 11px}.rcp-chip--link{cursor:pointer;border:1px solid var(--accent-ring);background:var(--accent-soft);color:var(--accent-strong);font:inherit;font-weight:600;transition:background .15s,border-color .15s;position:relative}.rcp-chip--link:after{content:"";position:absolute;inset:-6px}.rcp-chip--link:hover{background:var(--accent-dim);border-color:var(--accent)}.rcp-strip{margin:0 0 var(--space-md);flex-wrap:wrap;align-items:center;gap:10px;display:flex}.rcp-banner{color:var(--text-muted);background:var(--accent-soft);border-left:3px solid var(--accent);border-radius:var(--radius-sm);flex-wrap:wrap;align-items:baseline;gap:8px;margin:0 0 16px;padding:8px 14px;font-size:14px;line-height:1.45;display:flex}.rcp-banner-tag{letter-spacing:.05em;text-transform:uppercase;color:var(--accent-strong);font-size:11px;font-weight:700}.rcp-sheet{left:0;right:0;bottom:var(--tabbar-total);z-index:var(--z-dropdown);background:var(--surface);border-top:1px solid var(--border);max-height:60vh;padding:12px 16px;position:fixed;overflow-y:auto;box-shadow:0 -4px 16px #0000001f}.rcp-ground{background-color:var(--ground,var(--ground-stand));background-blend-mode:soft-light, normal;color:var(--on-ground,var(--on-ground-stand));background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23g)'/%3E%3C/svg%3E"),radial-gradient(118% 88% at 22% -6%,#ffffff42,#0000 62%);background-repeat:repeat,no-repeat}.rcp-ground--right{--ground:var(--ground-right);--on-ground:var(--on-ground-right)}.rcp-ground--wrong{--ground:var(--ground-wrong);--on-ground:var(--on-ground-wrong)}.rcp-ground--changed{--ground:var(--ground-changed);--on-ground:var(--on-ground-changed)}@media (prefers-reduced-motion:reduce){.rcp-ground{background-blend-mode:normal;background-image:radial-gradient(118% 88% at 22% -6%,#ffffff42,#0000 62%)}}.rcp-ground-curve{opacity:.16;pointer-events:none;width:100%;height:clamp(48px,14vw,96px);color:inherit;position:absolute;bottom:0;left:0;right:0}
.fx-hero{font-family:var(--ff-display);font-size:var(--text-4xl);letter-spacing:var(--tracking-loud);text-wrap:balance;margin:0;font-weight:800;line-height:.98}.fx-hero--max{font-size:var(--text-hero);letter-spacing:var(--tracking-hero);line-height:.9}.fx-hero--quiet{font-size:var(--text-3xl)}.fx-lede{font-size:var(--text-lg);color:var(--text-muted);max-width:34ch;margin:var(--space-sm) 0 0;text-wrap:pretty;line-height:1.45}.fx-hero+.fx-lede{margin-top:var(--space-sm)}.fx-changed{--ground:var(--ground-changed);--on-ground:var(--on-ground-changed);gap:var(--space-xs);padding:var(--space-lg);border-radius:var(--radius-lg);flex-direction:column;display:flex;position:relative;overflow:hidden}.fx-changed__label{font-size:var(--text-xs);letter-spacing:.14em;text-transform:uppercase;opacity:.72;font-weight:700}.fx-changed__what{font-family:var(--ff-display);font-size:var(--text-3xl);letter-spacing:var(--tracking-loud);text-wrap:balance;margin:0;font-weight:800;line-height:1.02}.fx-changed__list{gap:var(--space-md);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.fx-changed__row{gap:var(--space-2xs,4px);flex-direction:column;display:flex}.fx-changed a,.fx-changed a:visited{color:inherit;text-decoration:none}.fx-changed a:hover,.fx-changed a:focus-visible{text-underline-offset:.14em;text-decoration:underline;text-decoration-thickness:.06em}.fx-changed__from-to{align-items:center;gap:var(--space-xs);font-size:var(--text-md);opacity:.86;flex-wrap:wrap;font-weight:600;display:flex}.fx-queue{gap:var(--space-md);flex-direction:column;display:flex}.fx-queue__lead,.fx-queue__lead>*{width:100%}.fx-queue__rest{justify-content:center;gap:var(--space-xs);flex-wrap:wrap;display:flex}.fx-queue__rest>*{font-size:var(--text-sm-plus);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-pill);background:var(--surface-2);color:var(--text-muted);border:1px solid var(--border);flex:0 auto;font-weight:600}.fx-neu{width:var(--neu-md);flex:none;height:auto;display:block}.fx-neu--sm{width:var(--neu-sm)}.fx-neu--lg{width:var(--neu-lg)}.fx-neu--xl{width:var(--neu-xl)}.fx-neu--anchored{right:calc(var(--space-md) * -1);bottom:calc(var(--space-lg) * -1);pointer-events:none;position:absolute}@keyframes fx-pop{0%{opacity:0;transform:scale(.86)}60%{opacity:1;transform:scale(1.04)}to{opacity:1;transform:scale(1)}}@keyframes fx-cheer{0%,to{transform:translateY(0)rotate(0)}25%{transform:translateY(-9%)rotate(-3deg)}60%{transform:translateY(-3%)rotate(2deg)}}@keyframes fx-nod{0%,to{transform:translateY(0)}50%{transform:translateY(4%)}}.fx-react-pop{animation:.32s cubic-bezier(.22,1.2,.36,1) both fx-pop}.fx-react-cheer{transform-origin:50% 90%;animation:.78s ease-in-out fx-cheer}.fx-react-nod{transform-origin:50% 90%;animation:.52s ease-in-out fx-nod}.fx-bleed{margin-left:calc(var(--space-lg) * -1);margin-right:calc(var(--space-lg) * -1);padding:var(--space-xl) var(--space-lg);border-radius:0;position:relative;overflow:hidden}.fx-bleed--top{margin-top:calc(var(--space-lg) * -1)}@media (prefers-reduced-motion:reduce){.fx-react-pop,.fx-react-cheer,.fx-react-nod{opacity:1;animation:none;transform:none}}

